/// <summary> /// Create the EPG entries. /// </summary> public override void FinishFrequency() { if (MediaHighwayChannel.Channels.Count == 0) { return; } foreach (MediaHighwaySummary summary in MediaHighwaySummary.Summaries) { if (summary.Replays != null) { MediaHighwayChannelTitle title = MediaHighwayChannel.FindChannelTitle(summary.EventID); if (title != null) { foreach (MediaHighway1Replay replay in summary.Replays) { MediaHighwayTitle replayTitle = new MediaHighwayTitle(); replayTitle.EventID = title.Title.EventID; replayTitle.EventName = title.Title.EventName; replayTitle.CategoryID = title.Title.CategoryID; replayTitle.StartTime = replay.ReplayTime; replayTitle.Duration = title.Title.Duration; replayTitle.SummaryAvailable = true; replayTitle.PreviousPlayDate = title.Title.StartTime; ((MediaHighwayChannel)Channel.FindChannel(replay.Channel)).AddTitleData(replayTitle); if (RunParameters.Instance.DebugIDs.Contains("REPLAYS")) { Logger.Instance.Write("Replay: ch" + replay.Channel + " " + title.Title.EventName + " " + title.Title.StartTime + " " + title.Title.Duration + " " + replay.ReplayTime); } } } } } Logger titleLogger = null; Logger descriptionLogger = null; if (RunParameters.Instance.DebugIDs.Contains("LOGTITLES")) { titleLogger = new Logger("EPG Titles.log"); } if (RunParameters.Instance.DebugIDs.Contains("LOGDESCRIPTIONS")) { descriptionLogger = new Logger("EPG Descriptions.log"); } foreach (MediaHighwayChannel channel in MediaHighwayChannel.Channels) { TVStation station = TVStation.FindStation(channel.OriginalNetworkID, channel.TransportStreamID, channel.ServiceID); if (station == null) { station = new TVStation(channel.ChannelName); station.OriginalNetworkID = channel.OriginalNetworkID; station.TransportStreamID = channel.TransportStreamID; station.ServiceID = channel.ServiceID; TVStation.AddStation(station); } station.Name = channel.ChannelName; if (station.LogicalChannelNumber == -1) { station.LogicalChannelNumber = channel.UserChannel; } if (station.EPGCollection.Count == 0) { channel.ProcessChannelForEPG(station, titleLogger, descriptionLogger, CollectionType.MediaHighway1); } } MediaHighwayProgramCategory.LogCategories(); Channel.LogChannelsInChannelOrder(); }