/// <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>() } }; }
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>() }; }