Пример #1
0
 public void DevTests()
 {
     using (var mp3 = new Mp3File(@"E:\Temp\Audio\BasicTagsWithImage.mp3", Mp3Permissions.ReadWrite))
     {
         mp3.DeleteAllTags();
         var tag        = new Id3Tag();
         var frontCover = new PictureFrame {
             Description = "The Front Cover",
             MimeType    = "image/jpg",
             PictureType = PictureType.FrontCover
         };
         frontCover.LoadImage(@"E:\Temp\Audio\FrontCover.jpg");
         tag.Pictures.Add(frontCover);
         var fileIcon = new PictureFrame {
             Description = "The File Icon",
             MimeType    = "image/png",
             PictureType = PictureType.Other
         };
         fileIcon.LoadImage(@"E:\Temp\Audio\MSN.png");
         tag.Pictures.Add(fileIcon);
         mp3.WriteTag(tag);
         foreach (Id3Frame frame in tag)
         {
             Console.WriteLine(frame);
         }
     }
 }
Пример #2
0
 public override void InitTool(PictureFrame targetPictureFrame)
 {
     ShowButtons();
     EnableClickableObjects();
     UpdateImages();
     base.InitTool(targetPictureFrame);
 }
Пример #3
0
        private static Id3Frame DecodePicture(byte[] data)
        {
            var frame = new PictureFrame {
                EncodingType = (Id3TextEncoding)data[0]
            };

            byte[] mimeType = ByteArrayHelper.GetBytesUptoSequence(data, 1, new byte[] { 0x00 });
            if (mimeType == null)
            {
                frame.MimeType = "image/";
                return(frame);
            }

            frame.MimeType = TextEncodingHelper.GetDefaultString(mimeType, 0, mimeType.Length);

            int currentPos = mimeType.Length + 2;

            frame.PictureType = (PictureType)data[currentPos];

            currentPos++;
            byte[] description = ByteArrayHelper.GetBytesUptoSequence(data, currentPos,
                                                                      TextEncodingHelper.GetSplitterBytes(frame.EncodingType));
            if (description == null)
            {
                return(frame);
            }
            frame.Description = TextEncodingHelper.GetString(description, 0, description.Length, frame.EncodingType);

            currentPos       += description.Length + TextEncodingHelper.GetSplitterBytes(frame.EncodingType).Length;
            frame.PictureData = new byte[data.Length - currentPos];
            Array.Copy(data, currentPos, frame.PictureData, 0, frame.PictureData.Length);

            return(frame);
        }
Пример #4
0
        public override void WriteToStream(System.IO.Stream stream)
        {
            PictureFrame frame  = (PictureFrame)this.FrameToWrite;
            List <Field> fields = new List <Field>();

            string imageMimeType = Utils.ImagingHelpers.ImageFormatToMimeType(frame.Picture.RawFormat);

            // Declare the fields to write.
            fields.Add(new SingleByteField((byte)this.Encoding));
            fields.Add(TextField.CreateTextField(imageMimeType, EncodingScheme.Ascii));
            fields.Add(new SingleByteField((byte)frame.PictureType));
            fields.Add(TextField.CreateTextField(frame.Description, this.Encoding));
            fields.Add(new BinaryField(frame.RawData, 0, (int)frame.RawData.Length));

            // Write the header
            int length = 0;

            foreach (Field f in fields)
            {
                length += f.Length;
            }
            HeaderWriter.WriteHeader(stream, new FrameHeader(this.FrameID, length));

            // Write the fields
            foreach (Field f in fields)
            {
                f.WriteToStream(stream);
            }
        }
Пример #5
0
        public static bool Prefix(PictureFrame __instance)
        {
            var picColor   = __instance.GetAllComponentsInChildren <MeshRenderer>();
            var pic11Color = __instance.GetAllComponentsInChildren <MeshRenderer>();


            foreach (var pic1Color in picColor)
            {
                if (pic1Color.name.Contains("submarine_Picture_Frame"))
                {
                    pic1Color.material.color = new Color32(Convert.ToByte(Config.fabricatorValue), Convert.ToByte(Config.fabricatorgValue), Convert.ToByte(Config.fabricatorbValue), 1);
                }
            }
            foreach (var pic12Color in pic11Color)
            {
                if (pic12Color.name.Contains("submarine_Picture_Frame_base"))
                {
                    pic12Color.material.color = new Color32(Convert.ToByte(Config.fabricatorValue), Convert.ToByte(Config.fabricatorgValue), Convert.ToByte(Config.fabricatorbValue), 1);
                }
            }



            return(true);
        }
Пример #6
0
 void SelectFrame(PictureFrame pictureFrame)
 {
     if (AppStateManager.instance.CurrentAppState == AppState.VIEW)
     {
         AppStateManager.instance.SetCurrentPictureFrame(pictureFrame);
         AppStateManager.instance.SetState(AppState.MODIFY);
     }
 }
Пример #7
0
    void CreateNewPicture()
    {
        Transform    wallTransform = AppStateManager.instance.currentWallTarget.transform;
        GameObject   newFrame      = Instantiate(DefaultFrameGameObject, wallTransform);
        PictureFrame pictureFrame  = newFrame.GetComponent <PictureFrame>();

        AppStateManager.instance.SetCurrentPictureFrame(pictureFrame);
        AppStateManager.instance.SetState(AppState.FRAME);
    }
Пример #8
0
    public override void InitTool(PictureFrame targetPictureFrame)
    {
        base.InitTool(targetPictureFrame);

        //Note that TargetPictureFrame is set in the base.InitTool
        // lowercase target picture frame is passed through the function.
        ConfirmScale.gameObject.SetActive(true);
        initialScale = TargetPictureFrame.transform.localScale;
    }
Пример #9
0
 public override void InitTool(PictureFrame targetPictureFrame)
 {
     base.InitTool(targetPictureFrame);
     //This doesn't follow good design. Help?
     if (targetPictureFrame)
     {
         Destroy(targetPictureFrame.gameObject);
     }
     AppStateManager.instance.SetState(AppState.VIEW);
 }
Пример #10
0
        public static Image GetPicture(this PictureFrame frame)
        {
            if (frame.PictureData == null || frame.PictureData.Length == 0)
            {
                return(null);
            }
            var   ms    = new MemoryStream(frame.PictureData);
            Image image = Image.FromStream(ms);

            return(image);
        }
Пример #11
0
        private void OnStackedFrameReady(CameraService sender, PictureFrame frame)
        {
            InvokeAsync(
                () =>
            {
                StackedImgData    = frame.ImageUrl;
                StackedFocusScore = frame.FocusScore;

                StateHasChanged();
            }
                );
        }
Пример #12
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         Destroy(transform.gameObject);
     }
     DontDestroyOnLoad(transform.gameObject);
 }
Пример #13
0
        protected void OnFrameReady(CameraService sender, PictureFrame frame)
        {
            InvokeAsync(
                () =>
            {
                ImgData    = frame.ImageUrl;
                FocusScore = frame.FocusScore;
                ++FrameCount;

                StateHasChanged();
            }
                );
        }
Пример #14
0
 public static void OnHandHover_Postfix(PictureFrame __instance, HandTargetEventData eventData)
 {
     if (!__instance.enabled)
     {
         return;
     }
     if (__instance.gameObject.name.StartsWith("CustomPictureFrame(Clone)"))
     {
         HandReticle.main.SetInteractText(LanguageHelper.GetFriendlyWord("CustomPictureFrameTooltip"));
     }
     // else, we are in regular PictureFrame
     return;
 }
Пример #15
0
        public void HyperlinkDelete()
        {
            TestUtils.Upload(c_fileName, c_folderName + "/" + c_fileName);
            PictureFrame shape = new PictureFrame
            {
                HyperlinkClick = new Hyperlink {
                    IsDisabled = true
                }
            };
            ShapeBase updatedShape = TestUtils.SlidesApi.UpdateShape(
                c_fileName, c_slideIndex, c_shapeIndex, shape, password: c_password, folder: c_folderName);

            Assert.IsNull(updatedShape.HyperlinkClick);
        }
        public void PictureFrameAdd()
        {
            TestUtils.Upload(c_fileName, c_folderName + "/" + c_fileName);
            ShapeBase dto = new PictureFrame
            {
                PictureFillFormat = new PictureFill
                {
                    Base64Data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXY5g+ffp/AAZTAsWGL27gAAAAAElFTkSuQmCC"
                }
            };
            ShapeBase shape = TestUtils.SlidesApi.CreateShape(c_fileName, c_slideIndex, dto, password: c_password, folder: c_folderName);

            Assert.IsInstanceOf <PictureFrame>(shape);
        }
        public void WatermarkImageDtoRequest()
        {
            Stream       document     = File.OpenRead(Path.Combine(TestUtils.TestDataPath, c_fileName));
            string       base64Data   = Convert.ToBase64String(File.ReadAllBytes(Path.Combine(TestUtils.TestDataPath, c_watermarkFileName)));
            PictureFrame pictureFrame = new PictureFrame {
                FillFormat = new PictureFill {
                    Base64Data = base64Data
                }
            };
            Stream documentWithWatermarks   = TestUtils.SlidesApi.CreateImageWatermarkOnline(document, pictureFrame: pictureFrame, password: c_password);
            Stream documentWithNoWatermarks = TestUtils.SlidesApi.DeleteWatermarkOnline(document, password: c_password);

            Assert.AreNotEqual(document.Length, documentWithWatermarks.Length);
            Assert.Less(documentWithNoWatermarks.Length, documentWithWatermarks.Length);
        }
Пример #18
0
 public static void SetPicture(this PictureFrame frame, Image image)
 {
     if (image == null)
     {
         frame.PictureData = null;
     }
     else
     {
         var ms = new MemoryStream();
         image.Save(ms, image.RawFormat);
         frame.PictureData = new byte[ms.Length];
         ms.Seek(0, SeekOrigin.Begin);
         ms.Read(frame.PictureData, 0, frame.PictureData.Length);
     }
 }
Пример #19
0
        protected override Id3Tag[] GetTagInfo(Id3Tag tag)
        {
            var windowsMediaPlayer = new WindowsMediaPlayerClass();

            try
            {
                IWMPPlaylist albumContents = windowsMediaPlayer.mediaCollection.getByAlbum(tag.Album.Value);
                IWMPMedia    albumTrack    = null;
                for (int contextIdx = 0; contextIdx < albumContents.count; contextIdx++)
                {
                    string artistContent = albumContents.get_Item(contextIdx).getItemInfo("Artist");
                    if (string.Compare(artistContent, string.Join("/", tag.Artists.Value), StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        albumTrack = albumContents.get_Item(contextIdx);
                        break;
                    }
                }

                if (albumTrack != null)
                {
                    string collectionId = albumTrack.getItemInfo("WM/WMCollectionID");
                    var    largePicture = new PictureFrame();
                    largePicture.SetPicture(
                        Image.FromFile(string.Format("{0}\\AlbumArt_{1}_Large.jpg", Path.GetDirectoryName(albumTrack.sourceURL),
                                                     collectionId)));
                    var smallPicture = new PictureFrame();
                    smallPicture.SetPicture(
                        Image.FromFile(string.Format("{0}\\AlbumArt_{1}_Small.jpg", Path.GetDirectoryName(albumTrack.sourceURL),
                                                     collectionId)));

                    var result = new Id3Tag();
                    result.Pictures.Add(largePicture);
                    result.Pictures.Add(smallPicture);
                    return(new[] { result });
                }

                return(Id3Tag.Empty);
            }
            catch
            {
                return(Id3Tag.Empty);
            }
            finally
            {
                windowsMediaPlayer.close();
            }
        }
Пример #20
0
        public static void OnHandHover_Postfix(PictureFrame __instance, HandTargetEventData eventData)
        {
            if (!__instance.enabled)
            {
                return;
            }
            if (__instance.gameObject.name.StartsWith("CustomPictureFrame(Clone)", true, CultureInfo.InvariantCulture))
            {
#if BELOWZERO
                HandReticle.main.SetTextRaw(HandReticle.TextType.Hand, LanguageHelper.GetFriendlyWord(ConfigSwitcher.UseCompactTooltips ? "CustomPictureFrameTooltipCompact" : "CustomPictureFrameTooltip"));
#else
                HandReticle.main.SetInteractText(ConfigSwitcher.UseCompactTooltips ? "CustomPictureFrameTooltipCompact" : "CustomPictureFrameTooltip");
#endif
            }
            // else, we are in regular PictureFrame
            return;
        }
        public void WatermarkImageDtoStorage()
        {
            TestUtils.Upload(c_fileName, c_folderName + "/" + c_fileName);
            int shapeCount = TestUtils.SlidesApi.GetShapes(c_fileName, c_slideIndex, c_password, c_folderName).ShapesLinks.Count;

            string       base64Data   = Convert.ToBase64String(File.ReadAllBytes(Path.Combine(TestUtils.TestDataPath, c_watermarkFileName)));
            PictureFrame pictureFrame = new PictureFrame {
                FillFormat = new PictureFill {
                    Base64Data = base64Data
                }
            };

            TestUtils.SlidesApi.CreateImageWatermark(c_fileName, pictureFrame: pictureFrame, password: c_password, folder: c_folderName);
            Assert.AreEqual(shapeCount + 1, TestUtils.SlidesApi.GetShapes(c_fileName, c_slideIndex, c_password, c_folderName).ShapesLinks.Count);
            Assert.AreEqual(c_watermarkName, ((Shape)TestUtils.SlidesApi.GetShape(c_fileName, c_slideIndex, shapeCount + 1, c_password, c_folderName)).Name);

            TestUtils.SlidesApi.DeleteWatermark(c_fileName, password: c_password, folder: c_folderName);
            Assert.AreEqual(shapeCount, TestUtils.SlidesApi.GetShapes(c_fileName, c_slideIndex, c_password, c_folderName).ShapesLinks.Count);
        }
Пример #22
0
    private void TrySelectObject()
    {
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit, Mathf.Infinity, FrameLayerMask))
        {
            Debug.DrawLine(ray.origin, hit.point);
            print("I'm looking at " + hit.transform.name);
            PictureFrame selectPictureFrame = hit.transform.GetComponentInParent <PictureFrame>();
            if (selectPictureFrame != null)
            {
                SelectFrame(selectPictureFrame);
            }
        }
        else
        {
            print("I'm looking at nothing!");
        }
    }
Пример #23
0
        public static PictureFrame GetPicture(string url)
        {
            using (var webClient = new WebClient())
            {
                byte[] pictureData = webClient.DownloadData(url);

                var pictureFrame = new PictureFrame {
                    PictureData = pictureData,
                    MimeType    = webClient.ResponseHeaders["content-type"],
                    PictureType = PictureType.Other
                };

                //using (Image image = pictureFrame.GetPicture())
                //{
                //    if (image.Height == 1 && image.Width == 1)
                //        return null;
                //}

                return(pictureFrame);
            }
        }
Пример #24
0
        public void ReadAlbumArt()
        {
            Id3Tag tag;

            using (FileStream stream = new FileStream(CurrentTrack.LocalPath, FileMode.Open, FileAccess.Read))
                using (Mp3Stream mp3 = new Mp3Stream(stream))
                    tag = mp3.GetTag(Id3TagFamily.FileStartTag);
            BitmapImage bitmapImage;

            try
            {
                PictureFrame image = tag.Pictures.FirstOrDefault();
                byte[]       bytes = image.PictureData;

                try
                {
                    bitmapImage = new BitmapImage();
                    using (MemoryStream memory = new MemoryStream(bytes))
                    {
                        bitmapImage.BeginInit();
                        bitmapImage.StreamSource = memory;
                        bitmapImage.CacheOption  = BitmapCacheOption.OnLoad;
                        bitmapImage.EndInit();
                    }
                    ImageStretch = Stretch.UniformToFill;
                }
                catch (Exception)
                {
                    bitmapImage  = GetBitmapImage(new Uri("pack://application:,,,/Images/TakaneError.png", UriKind.Absolute));
                    ImageStretch = Stretch.None;
                }
            }
            catch (NullReferenceException)
            {
                bitmapImage  = GetBitmapImage(new Uri("pack://application:,,,/Images/TakaneNoImage.png", UriKind.Absolute));
                ImageStretch = Stretch.None;
            }
            AlbumArt = bitmapImage;
        }
Пример #25
0
        public void ReproduceTest()
        {
            using (var mp3 = new Mp3File(@"E:\Temp\Audio\BasicTagsWithImage.mp3", Mp3Permissions.ReadWrite))
            {
                mp3.DeleteAllTags();
                var tag = new Id3Tag();
                var pic = new PictureFrame {
                    Description  = "The Front Cover",
                    EncodingType = Id3TextEncoding.Iso8859_1
                };
                pic.LoadImage(@"E:\Temp\Audio\FrontCover.jpg");
                tag.Pictures.Add(pic);
                mp3.WriteTag(tag, 2, 3);
            }

            using (var mp3 = new Mp3File(@"E:\Temp\Audio\BasicTagsWithImage.mp3"))
            {
                Id3Tag       tag = mp3.GetTag(2, 3);
                PictureFrame pic = tag.OfType <PictureFrame>().First();
                pic.SaveImage(@"E:\Temp\FrontCoverSaved.jpg");
            }
        }
Пример #26
0
        public static void Run()
        {
            //ExStart:ConvertSvgImageObjectIntoGroupOfShapes
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir_PresentationSaving();

            using (Presentation pres = new Presentation(dataDir + "image.pptx"))
            {
                PictureFrame pFrame   = pres.Slides[0].Shapes[0] as PictureFrame;
                ISvgImage    svgImage = pFrame.PictureFormat.Picture.Image.SvgImage;
                if (svgImage != null)
                {
                    // Convert svg image into group of shapes
                    IGroupShape groupShape = pres.Slides[0].Shapes.AddGroupShape(svgImage, pFrame.Frame.X, pFrame.Frame.Y,
                                                                                 pFrame.Frame.Width, pFrame.Frame.Height);
                    // remove source svg image from presentation
                    pres.Slides[0].Shapes.Remove(pFrame);
                }

                pres.Save(dataDir + "image_group.pptx", SaveFormat.Pptx);
            }
            //ExEnd:ConvertSvgImageObjectIntoGroupOfShapes
        }
Пример #27
0
        private static List <Id3Frame> GetArtistPictures(XmlNode xdoc)
        {
            var         pictureFrames = new List <Id3Frame>();
            XmlNodeList imageNodes    = xdoc.SelectNodes("resp/artist/images/image");

            if (imageNodes == null)
            {
                return(pictureFrames);
            }
            foreach (XmlNode imageNode in imageNodes)
            {
                if (imageNode.Attributes == null)
                {
                    continue;
                }
                PictureFrame pictureFrame = Utility.GetPicture(imageNode.Attributes["uri"].Value);
                if (pictureFrame != null)
                {
                    pictureFrame.PictureType = PictureType.ArtistOrPerformer;
                    pictureFrames.Add(pictureFrame);
                }
            }
            return(pictureFrames);
        }
Пример #28
0
        public TestView(IVisualBootstrapper visualBootstrapper,
                        IImageProvider imageProvider)
            : base(visualBootstrapper)
        {
            _imageProvider = imageProvider;


            var lblPlayersCount = new Label(visualBootstrapper);

            lblPlayersCount.Text = "I am a gut programming guy";


            var pbSvg = new PictureFrame(visualBootstrapper)
            {
                VerticalAlignment   = VerticalAlignments.Center,
                HorizontalAlignment = HorizontalAlignments.Center
            };
            var svg = GetEmbeddedImage("XamarinAndroidTest.Resources.cog.svg");

            //svg.Stroke = Color.Red;
            //svg.Fill = SolidColorBrush.Green;
            pbSvg.Image = svg;
            Content     = pbSvg;
        }
Пример #29
0
 public override void InitTool(PictureFrame targetPictureFrame)
 {
     OptionRoot.gameObject.SetActive(true);
     base.InitTool(targetPictureFrame);
 }
Пример #30
0
        public override GameObject GetPrefab()
        {
            GameObject prefab       = GameObject.Instantiate(this.GameObject);
            GameObject posterPrefab = GameObject.Instantiate(this.posterMagnetObj);

            // Update poster border shader, normal/emission maps, hide parts of the prefab
            GameObject   posterModel    = posterPrefab.FindChild("model").FindChild("poster_kitty");
            MeshRenderer posterRenderer = posterModel.GetComponent <MeshRenderer>();
            Shader       marmosetUber   = Shader.Find("MarmosetUBER");

            foreach (Material tmpMat in posterRenderer.materials)
            {
                tmpMat.shader = marmosetUber;
                if (tmpMat.name.CompareTo("poster_magnet (Instance)") == 0)
                {
                    tmpMat.SetTexture("_BumpMap", normal);
                    tmpMat.SetTexture("_Illum", illum);
                    tmpMat.EnableKeyword("MARMO_NORMALMAP"); // Enable normal map
                    tmpMat.EnableKeyword("MARMO_EMISSION");  // Enable emission map
                }
            }
            posterPrefab.transform.parent           = prefab.transform;
            posterPrefab.transform.localPosition    = new Vector3(0.0f, 0.27f, -0.002f);
            posterPrefab.transform.localScale       = new Vector3(34.0f, 34.0f, 34.0f);
            posterPrefab.transform.localEulerAngles = new Vector3(0.0f, 0.0f, 0.0f);
            posterPrefab.SetActive(true);
            posterRenderer.enabled = false;

            // Get prefab sub models
            GameObject model   = prefab.FindChild("mesh");
            GameObject screen  = prefab.FindChild("Screen");
            GameObject trigger = prefab.FindChild("Trigger");

            // Update prefab name
            prefab.name = this.ClassID;

            // Modify tech tag
            var techTag = prefab.GetComponent <TechTag>();

            techTag.type = this.TechType;

            // Modify prefab identifier
            var prefabId = prefab.GetComponent <PrefabIdentifier>();

            prefabId.ClassId = this.ClassID;

            // Rotate model
            originEulerAngles = model.transform.localEulerAngles;
            model.transform.localEulerAngles = new Vector3(model.transform.localEulerAngles.x, model.transform.localEulerAngles.y, model.transform.localEulerAngles.z + 90.0f);

            // Update box collider
            BoxCollider collider = trigger.GetComponent <BoxCollider>();

            collider.size      = new Vector3(collider.size.x - 0.15f, collider.size.y - 0.15f, collider.size.z);
            originColliderSize = collider.size;
            // Rotate collider
            collider.size = new Vector3(collider.size.y, collider.size.x, collider.size.z);

            // Update sky applier
            var skyapplier = model.GetComponent <SkyApplier>();

            Renderer[] renderers = prefab.GetComponentsInChildren <Renderer>();
            skyapplier.renderers = renderers;
            skyapplier.anchorSky = Skies.Auto;

            // Update contructable
            var constructible = prefab.GetComponent <Constructable>();

            constructible.techType = this.TechType;

            // Rotate PictureFrame
            PictureFrame pf = prefab.GetComponent <PictureFrame>();

            originImageRendererScale = pf.imageRenderer.transform.localScale;
            pf.imageRenderer.transform.localScale = new Vector3(pf.imageRenderer.transform.localScale.y, pf.imageRenderer.transform.localScale.x, pf.imageRenderer.transform.localScale.z);

            // Update constructable bounds
            var constructableBounds = prefab.GetComponent <ConstructableBounds>();

            constructableBounds.bounds.extents = new Vector3(constructableBounds.bounds.extents.x * 0.85f, constructableBounds.bounds.extents.y * 0.85f, constructableBounds.bounds.extents.z);
            originConstructableBoundsExtents   = constructableBounds.bounds.extents;
            constructableBounds.bounds.extents = new Vector3(constructableBounds.bounds.extents.y, constructableBounds.bounds.extents.x, constructableBounds.bounds.extents.z);

            // Add CustomPictureFrame controller
            CustomPictureFrameController cpfController = prefab.AddComponent <CustomPictureFrameController>();

            cpfController.OriginEulerAngles                = this.originEulerAngles;
            cpfController.OriginColliderSize               = this.originColliderSize;
            cpfController.OriginImageRendererScale         = this.originImageRendererScale;
            cpfController.OriginConstructableBoundsExtents = this.originConstructableBoundsExtents;

            return(prefab);
        }
Пример #31
0
 public PictureFrameWriterM3And4(PictureFrame frameToWrite, string frameID, Writers.FrameHeaderWriter headerWriter, EncodingScheme encoding)
     : base(frameToWrite, headerWriter, frameID, encoding)
 {
 }