コード例 #1
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            if (localTag.Key != null)
            {
                switch (localTag.Key)
                {
                case var _ when localTag.Key == pictureFormatObject_Key:
                    this.AddChild(reader.ReadReference <MXFDescriptiveObject>("PictureFormatObject"));
                    return(true);

                case var _ when localTag.Key == projectObject_Key:
                    this.AddChild(reader.ReadReference <MXFDescriptiveObject>("ProjectObject"));
                    return(true);

                case var _ when localTag.Key == captionsDescriptionObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("CaptionsDescriptionObjects", "CaptionsDescriptionObject"));
                    return(true);

                case var _ when localTag.Key == contractObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("ContractObjects", "ContractObject"));
                    return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #2
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            if (localTag.Key != null)
            {
                switch (localTag.Key)
                {
                case var _ when localTag.Key == frameworkTitle_Key:
                    this.FrameworkTitle = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == extTextLanguageCode_Key:
                    this.FrameworkExtendedTextLanguageCode = reader.ReadUTF8String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == primExtSpokenLanguageCode_Key:
                    this.PrimaryExtendedSpokenLanguageCode = reader.ReadUTF8String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == secExtSpokenLanguageCode_Key:
                    this.SecondaryExtendedSpokenLanguageCode = reader.ReadUTF8String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == orgExtSpokenLanguageCode_Key:
                    this.OriginalExtendedSpokenLanguageCode = reader.ReadUTF8String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == thesaurusName_Key:
                    this.FrameworkThesaurusName = reader.ReadUTF8String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == contactsListObject_Key:
                    this.AddChild(reader.ReadReference <MXFContactsList>("ContactsList Object"));
                    return(true);

                case var _ when localTag.Key == locations_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFLocation>("LocationObjects", "LocationObject"));
                    return(true);

                case var _ when localTag.Key == titlesObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("Titles Objects", "TitlesObject"));
                    return(true);

                case var _ when localTag.Key == annotationObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("AnnotationObjects", "AnnotationObject"));
                    return(true);

                case var _ when localTag.Key == participantObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("ParticipantObjects", "ParticipantObjects"));
                    return(true);

                case var _ when localTag.Key == metadataServerLocators_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFLocator>("MetadataServerLocators", "MetadataServerLocator"));
                    return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #3
0
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x3c0a: this.InstanceId = reader.ReadUUIDKey(); return(true);

            case 0x0003:
                this.AddChild(reader.ReadReferenceSet <MXFClassDefinition>("ClassDefinitions", "ClassDefinition")); return(true);

            case 0x0004:
                this.AddChild(reader.ReadReferenceSet <MXFTypeDefinition>("TypeDefinitions", "TypeDefinition")); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #4
0
ファイル: MXFPreface.cs プロジェクト: rayden84/MXFInspect
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x3B02: this.LastModificationDate = reader.ReadTimestamp(); return(true);

            case 0x3B05: this.Version = reader.ReadVersion(); return(true);

            case 0x3B07: this.ObjectModelVersion = reader.ReadUInt32(); return(true);

            case 0x3B03: this.AddChild(reader.ReadReference <MXFContentStorage>("ContentStorage")); return(true);

            case 0x3B08: this.AddChild(reader.ReadReference <MXFGenericPackage>("PrimaryPackage")); return(true);

            case 0x3B09: this.OperationalPattern = reader.ReadULKey(); return(true);

            case 0x3B06: this.AddChild(reader.ReadReferenceSet <MXFIdentification>("Identifications", "Identification")); return(true);

            case 0x3B0A: this.AddChild(reader.ReadAUIDSet("EssenceContainers", "EssenceContainer")); return(true);

            // TODO review how the metadataschemes are read (especially if there are no schemes present)
            case 0x3B0B: this.AddChild(reader.ReadAUIDSet("Descriptive Metadata Schemes", "DM scheme")); return(true);

            case var _ when localTag.Key == isRIPPresent_Key: this.IsRIPPresent = reader.ReadBool(); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #5
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x0201: this.DataDefinition = reader.ReadULKey(); return(true);

            case 0x0202: this.Duration = reader.ReadUInt64(); return(true);

            // TODO replace generic MXFObject with class KLVData once implemented
            case 0x0203: this.AddChild(reader.ReadReferenceSet <MXFObject>("KLV Data", "KLV Data")); return(true);

            case 0x0204: this.AddChild(reader.ReadReferenceSet <MXFTaggedValue>("User Comments", "User Comment")); return(true);

            case 0x0205: this.AddChild(reader.ReadReferenceSet <MXFTaggedValue>("Attributes", "Attribute")); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #6
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            // TODO replace generic MXFObject with class OperationDefinition once implemented
            case 0x0B01: this.AddChild(reader.ReadReference <MXFObject>("Operation")); return(true);

            case 0x0B04: this.BypassOverride = reader.ReadUInt32(); return(true);

            case 0x0B05: this.AddChild(reader.ReadReference <MXFSourceReference>("Rendering")); return(true);

            case 0x0B02: this.AddChild(reader.ReadReferenceSet <MXFSegment>("InputSegments", "InputSegment")); return(true);

            case 0x0B03: this.AddChild(reader.ReadReferenceSet <MXFParameter>("Parameters", "Parameter")); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #7
0
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x001d: MemberNames = reader.ReadUTF16String(localTag.Size).Split((char)0x00); return(true);

            case 0x001c: this.AddChild(reader.ReadReferenceSet <MXFTypeDefinition>("MemberTypes", "MemberType")); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #8
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            if (localTag.Key != null)
            {
                switch (localTag.Key)
                {
                case var _ when localTag.Key == personObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("PersonObjects", "PersonObject"));
                    return(true);

                case var _ when localTag.Key == organizationObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("OrganizationObjects", "OrganizationObject"));
                    return(true);

                case var _ when localTag.Key == locationObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("LocationObjects", "LocationObject"));
                    return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #9
0
ファイル: MXFContact.cs プロジェクト: rayden84/MXFInspect
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            if (localTag.Key != null)
            {
                switch (localTag.Key)
                {
                case var _ when localTag.Key == contactID_Key:
                    this.ContactID = reader.ReadUUIDKey(); return(true);

                case var _ when localTag.Key == addressObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("Address Objects", "Address Object"));
                    return(true);

                // TODO replace generic MXFObject with class NameValue once implemented
                case var _ when localTag.Key == nameValueObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFObject>("NameValue Objects", "NameValue Object"));
                    return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #10
0
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x0008:
                this.AddChild(reader.ReadReference <MXFClassDefinition>("ParentClass")); return(true);

            case 0x0009:
                this.AddChild(reader.ReadReferenceSet <MXFPropertyDefinition>("Properties", "Property")); return(true);

            case 0x000a: IsConcrete = reader.ReadBool(); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #11
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x2603:
                this.AddChild(reader.ReadReferenceSet <MXFObject>("OperationDefinitions", "OperationDefinitions"));
                return(true);

            case 0x2604:
                this.AddChild(reader.ReadReferenceSet <MXFObject>("ParameterDefinitions", "ParameterDefinitions"));
                return(true);

            case 0x2605:
                this.AddChild(reader.ReadReferenceSet <MXFObject>("DataDefinitions", "DataDefinitions"));
                return(true);

            case 0x2606:
                this.AddChild(reader.ReadReferenceSet <MXFObject>("PluginDefinitions", "PluginDefinitions"));
                return(true);

            case 0x2607:
                this.AddChild(reader.ReadReferenceSet <MXFObject>("CodecDefinitions", "CodecDefinitions"));
                return(true);

            case 0x2608:
                this.AddChild(reader.ReadReferenceSet <MXFObject>("ContainerDefinitions", "ContainerDefinitions"));
                return(true);

            case 0x2609:
                this.AddChild(reader.ReadReferenceSet <MXFObject>("InterpolationDefinitions", "InterpolationDefinitions"));
                return(true);

            case 0x260a:
                this.AddChild(reader.ReadReferenceSet <MXFObject>("KLVDataDefinitions", "KLVDataDefinitions"));
                return(true);

            case 0x260b:
                this.AddChild(reader.ReadReferenceSet <MXFObject>("TaggedValueDefinitions", "TaggedValueDefinitions"));
                return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #12
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x3C0A: this.InstanceID = reader.ReadUUIDKey(); return(true);

            case 0x0102: this.LinkedGenerationID = reader.ReadULKey(); return(true);

            case 0x0101: this.ObjectClass = reader.ReadULKey(); return(true);

            // TODO replace generic MXFObject with class ApplicationPluginObject once implemented
            case var _ when localTag.Key == appPluginObjects_Key:
                this.AddChild(reader.ReadReferenceSet <MXFObject>("Application Plugin Objects", "Application Plugin Object"));
                return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #13
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            switch (localTag.Tag)
            {
            case 0x4401: this.PackageID = reader.ReadUMIDKey(); return(true);

            case 0x4402: this.PackageName = reader.ReadUTF16String(localTag.Size); return(true);

            //case 0x4403: ReadReferenceSet<MXFGenericTrack>(reader, "Tracks", "Track"); return true;
            case 0x4403: this.AddChild(reader.ReadReferenceSet <MXFGenericTrack>("Tracks", "Track")); return(true);

            case 0x4404: this.ModifiedDate = reader.ReadTimestamp(); return(true);

            case 0x4405: this.CreationDate = reader.ReadTimestamp(); return(true);
            }
            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #14
0
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            if (localTag.Key != null)
            {
                switch (localTag.Key)
                {
                case var _ when localTag.Key == integrationIndication_Key: this.IntegrationIndication = reader.ReadUTF16String(localTag.Size); return(true);

                case var _ when localTag.Key == groupRelationshipObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("GroupRelationshipObjects", "GroupRelationshipObject"));
                    return(true);

                case var _ when localTag.Key == identificationObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("IdentificationObjects", "IdentificationObject"));
                    return(true);

                case var _ when localTag.Key == brandingObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("BrandingObjects", "BrandingObject"));
                    return(true);

                case var _ when localTag.Key == eventObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("EventObjects", "EventObject"));
                    return(true);

                case var _ when localTag.Key == awardObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("AwardObjects", "AwardObject"));
                    return(true);

                case var _ when localTag.Key == prodSettingPerObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("ProductionSettingPeriodObjects", "ProductionSettingPeriodObject"));
                    return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }
コード例 #15
0
ファイル: MXFAddress.cs プロジェクト: ngaullier/MXFInspect
        /// <summary>
        /// Overridden method to process local tags
        /// </summary>
        /// <param name="localTag"></param>
        protected override bool ParseLocalTag(MXFReader reader, MXFLocalTag localTag)
        {
            if (localTag.Key != null)
            {
                switch (localTag.Key)
                {
                case var _ when localTag.Key == commObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFDescriptiveObject>("CommunicationObjects", "CommunicationObject"));
                    return(true);

                // TODO replace generic MXFObject with class NameValue once implemented
                case var _ when localTag.Key == addrNameValueObjects_Key:
                    this.AddChild(reader.ReadReferenceSet <MXFObject>("AddressNameValueObjects", "AddressNameValueObject"));
                    return(true);

                case var _ when localTag.Key == roomSuiteNumber_Key:
                    this.RoomSuiteNumber = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == streetNumber_Key:
                    this.StreetNumber = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == streetName_Key:
                    this.StreetNumber = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == postalTown_Key:
                    this.PostalTown = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == city_Key:
                    this.City = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == stateProvinceCountry_Key:
                    this.StateProvinceCounty = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == postalCode_Key:
                    this.PostalCode = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == country_Key:
                    this.Country = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == roomSuiteName_Key:
                    this.RoomSuiteName = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == buildingName_Key:
                    this.BuildingName = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == placeName_Key:
                    this.PlaceName = reader.ReadUTF16String(localTag.Size);
                    return(true);

                case var _ when localTag.Key == geoCoordinates_Key:
                    this.GeographicalCoordinates = reader.ReadArray(reader.ReadByte, 12);
                    return(true);

                case var _ when localTag.Key == astroBodyName_Key:
                    this.AstronomicalBodyName = reader.ReadUTF16String(localTag.Size);
                    return(true);
                }
            }

            return(base.ParseLocalTag(reader, localTag));
        }