Exemplo n.º 1
0
        /// <summary>
        /// Definitions for MXF xml format can be located at
        /// https://msdn.microsoft.com/en-us/library/dd776338.aspx
        /// </summary>
        public MXF()
        {
            // create mcepg and mcstore assembly entries
            Assembly = new List <MxfAssembly>()
            {
                new MxfAssembly()
                {
                    Name        = "mcepg",
                    Version     = version,
                    CultureInfo = culture,
                    PublicKey   = key,
                    Namespace   = new MxfNamespace()
                    {
                        Name = "Microsoft.MediaCenter.Guide",
                        Type = new List <MxfType>()
                        {
                            new MxfType()
                            {
                                Name = "DeviceGroup"
                            },
                            new MxfType()
                            {
                                Name = "Lineup"
                            },
                            new MxfType()
                            {
                                Name = "Channel", ParentFieldName = "lineup"
                            },
                            new MxfType()
                            {
                                Name = "Service"
                            },
                            new MxfType()
                            {
                                Name = "ScheduleEntry", GroupName = "ScheduleEntries"
                            },
                            new MxfType()
                            {
                                Name = "Program"
                            },
                            new MxfType()
                            {
                                Name = "Keyword"
                            },
                            new MxfType()
                            {
                                Name = "KeywordGroup"
                            },
                            new MxfType()
                            {
                                Name = "Person", GroupName = "People"
                            },
                            new MxfType()
                            {
                                Name = "ActorRole", ParentFieldName = "program"
                            },
                            new MxfType()
                            {
                                Name = "DirectorRole", ParentFieldName = "program"
                            },
                            new MxfType()
                            {
                                Name = "WriterRole", ParentFieldName = "program"
                            },
                            new MxfType()
                            {
                                Name = "HostRole", ParentFieldName = "program"
                            },
                            new MxfType()
                            {
                                Name = "GuestActorRole", ParentFieldName = "program"
                            },
                            new MxfType()
                            {
                                Name = "ProducerRole", ParentFieldName = "program"
                            },
                            new MxfType()
                            {
                                Name = "GuideImage"
                            },
                            new MxfType()
                            {
                                Name = "Affiliate"
                            },
                            new MxfType()
                            {
                                Name = "SeriesInfo"
                            },
                            new MxfType()
                            {
                                Name = "Season"
                            }
                        }
                    }
                },
                new MxfAssembly()
                {
                    Name        = "mcstore",
                    Version     = version,
                    CultureInfo = culture,
                    PublicKey   = key,
                    Namespace   = new MxfNamespace()
                    {
                        Name = "Microsoft.MediaCenter.Store",
                        Type = new List <MxfType>()
                        {
                            new MxfType()
                            {
                                Name = "Provider"
                            },
                            new MxfType()
                            {
                                Name = "UId", ParentFieldName = "target"
                            }
                        }
                    }
                }
            };

            // initialize the devicegroup with everything except the image
            DeviceGroup = new MxfDeviceGroup()
            {
                Uid  = "!DeviceGroup!All",
                Name = "All",
                LastConfigurationChange = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ"),
                Rank = "0",
                PermitAnyDeviceType    = "true",
                IsEnabled              = "true",
                FirstRunProcessId      = "0",
                OnlyShowDynamicLineups = "false",
                guideImage             = new MxfGuideImage()
                {
                    Uid   = "!Image!EPG123",
                    Image = string.Empty
                }
            };

            // create provider entry
            Providers = new List <MxfProvider>()
            {
                new MxfProvider()
                {
                    index       = 1,
                    Name        = progName,
                    DisplayName = progDesc,
                    Copyright   = string.Format("© {0} GaRyan2. Portions of content provided by Gracenote.", DateTime.Now.Year)
                }
            };

            // establish all other branches
            With = new List <MxfWith>()
            {
                new MxfWith()
                {
                    progName        = progName,
                    Provider        = Providers[0].Id,
                    Keywords        = new List <MxfKeyword>(),
                    KeywordGroups   = new List <MxfKeywordGroup>(),
                    GuideImages     = new List <MxfGuideImage>(),
                    People          = new List <MxfPerson>(),
                    SeriesInfos     = new List <MxfSeriesInfo>(),
                    Seasons         = new List <MxfSeason>(),
                    Programs        = new List <MxfProgram>(),
                    Affiliates      = new List <MxfAffiliate>(),
                    Services        = new List <MxfService>(),
                    ScheduleEntries = new List <MxfScheduleEntries>(),
                    Lineups         = new List <MxfLineup>()
                }
            };
        }
Exemplo n.º 2
0
        public void InitializeMxf()
        {
            // create mcepg and mcstore assembly entries
            Assembly = new List <MxfAssembly>
            {
                new MxfAssembly
                {
                    Name        = "mcepg",
                    Version     = _version,
                    CultureInfo = _culture,
                    PublicKey   = _key,
                    Namespace   = new MxfNamespace
                    {
                        Name = "Microsoft.MediaCenter.Guide",
                        Type = new List <MxfType>
                        {
                            new MxfType {
                                Name = "DeviceGroup"
                            },
                            new MxfType {
                                Name = "Lineup"
                            },
                            new MxfType {
                                Name = "Channel", ParentFieldName = "lineup"
                            },
                            new MxfType {
                                Name = "Service"
                            },
                            new MxfType {
                                Name = "ScheduleEntry", GroupName = "ScheduleEntries"
                            },
                            new MxfType {
                                Name = "Program"
                            },
                            new MxfType {
                                Name = "Keyword"
                            },
                            new MxfType {
                                Name = "KeywordGroup"
                            },
                            new MxfType {
                                Name = "Person", GroupName = "People"
                            },
                            new MxfType {
                                Name = "ActorRole", ParentFieldName = "program"
                            },
                            new MxfType {
                                Name = "DirectorRole", ParentFieldName = "program"
                            },
                            new MxfType {
                                Name = "WriterRole", ParentFieldName = "program"
                            },
                            new MxfType {
                                Name = "HostRole", ParentFieldName = "program"
                            },
                            new MxfType {
                                Name = "GuestActorRole", ParentFieldName = "program"
                            },
                            new MxfType {
                                Name = "ProducerRole", ParentFieldName = "program"
                            },
                            new MxfType {
                                Name = "GuideImage"
                            },
                            new MxfType {
                                Name = "Affiliate"
                            },
                            new MxfType {
                                Name = "SeriesInfo"
                            },
                            new MxfType {
                                Name = "Season"
                            }
                        }
                    }
                },
                new MxfAssembly
                {
                    Name        = "mcstore",
                    Version     = _version,
                    CultureInfo = _culture,
                    PublicKey   = _key,
                    Namespace   = new MxfNamespace
                    {
                        Name = "Microsoft.MediaCenter.Store",
                        Type = new List <MxfType>
                        {
                            new MxfType {
                                Name = "Provider"
                            },
                            new MxfType {
                                Name = "UId", ParentFieldName = "target"
                            }
                        }
                    }
                }
            };

            // initialize the devicegroup with everything except the image
            DeviceGroup = new MxfDeviceGroup
            {
                Uid  = "!DeviceGroup!All",
                Name = "All",
                LastConfigurationChange = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ"),
                Rank = "0",
                PermitAnyDeviceType    = "true",
                IsEnabled              = "true",
                FirstRunProcessId      = "0",
                OnlyShowDynamicLineups = "false",
                GuideImage             = new MxfGuideImage
                {
                    Uid   = $"!Image!{generatorName}",
                    Image = string.Empty
                }
            };

            // create provider entry
            Providers = new List <MxfProvider>
            {
                new MxfProvider
                {
                    Index       = 1,
                    Name        = generatorName,
                    DisplayName = generatorDescription,
                    Copyright   = $"© {DateTime.Now.Year} {author}. Powered by {dataSource}."
                }
            };

            // establish all other branches
            With = new MxfWith
            {
                Provider        = Providers[0].Id,
                Keywords        = new List <MxfKeyword>(),
                KeywordGroups   = new List <MxfKeywordGroup>(),
                GuideImages     = new List <MxfGuideImage>(),
                People          = new List <MxfPerson>(),
                SeriesInfos     = new List <MxfSeriesInfo>(),
                Seasons         = new List <MxfSeason>(),
                Programs        = new List <MxfProgram>(),
                Affiliates      = new List <MxfAffiliate>(),
                Services        = new List <MxfService>(),
                ScheduleEntries = new List <MxfScheduleEntries>(),
                Lineups         = new List <MxfLineup>()
            };
        }