internal void UpdateSheduledTVRecordings() { if (TVHome.Connected) { try { IList <TvDatabase.Schedule> schedules = TvDatabase.Schedule.ListAll(); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled.count", "0"); for (int z = 1; z <= Utils.LatestsMaxTVNum; z++) { Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".title", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".startTime", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".startDate", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".endTime", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".endDate", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".channel", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".channelLogo", string.Empty); } int i = 1; RecordingsCollection latestRecordings = new RecordingsCollection(); foreach (TvDatabase.Schedule schedule in schedules) { string logoImagePath = MediaPortal.Util.Utils.GetCoverArt(Thumbs.TVChannel, schedule.ReferencedChannel().DisplayName); if (string.IsNullOrEmpty(logoImagePath)) { logoImagePath = "defaultVideoBig.png"; } if (schedule.ScheduleType != (int)ScheduleRecordingType.Once) { IList <Schedule> seriesList = TVHome.Util.GetRecordingTimes(schedule); for (int serieNr = 0; serieNr < seriesList.Count; ++serieNr) { Schedule recSeries = seriesList[serieNr]; if (DateTime.Now > recSeries.EndTime) { continue; } if (recSeries.Canceled != Schedule.MinSchedule) { continue; } //Program program = Program.RetrieveByTitleTimesAndChannel(schedule.ProgramName, schedule.StartTime,schedule.EndTime, schedule.IdChannel); latestRecordings.Add(new LatestRecording(recSeries.ProgramName, null, recSeries.StartTime, String.Format("{0:" + Utils.DateFormat + "}", recSeries.StartTime), recSeries.StartTime.ToString("HH:mm", CultureInfo.CurrentCulture), String.Format("{0:" + Utils.DateFormat + "}", recSeries.EndTime), recSeries.EndTime.ToString("HH:mm", CultureInfo.CurrentCulture), recSeries.ReferencedChannel().DisplayName, logoImagePath)); Utils.ThreadToSleep(); } } else { if (schedule.IsSerieIsCanceled(schedule.StartTime, schedule.IdChannel)) { continue; } //Test if this is an instance of a series recording, if so skip it. if (schedule.ReferencedSchedule() != null) { continue; } latestRecordings.Add(new LatestRecording(schedule.ProgramName, null, schedule.StartTime, String.Format("{0:" + Utils.DateFormat + "}", schedule.StartTime), schedule.StartTime.ToString("HH:mm", CultureInfo.CurrentCulture), String.Format("{0:" + Utils.DateFormat + "}", schedule.EndTime), schedule.EndTime.ToString("HH:mm", CultureInfo.CurrentCulture), schedule.ReferencedChannel().DisplayName, logoImagePath)); Utils.ThreadToSleep(); } } latestRecordings.Sort(new LatestRecordingsComparer()); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled.count", latestRecordings.Count.ToString()); for (int x0 = 0; x0 < latestRecordings.Count; x0++) { Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".title", latestRecordings[x0].Title); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".startTime", latestRecordings[x0].StartTime); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".startDate", latestRecordings[x0].StartDate); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".endTime", latestRecordings[x0].EndTime); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".endDate", latestRecordings[x0].EndDate); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".channel", latestRecordings[x0].Channel); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".channelLogo", latestRecordings[x0].ChannelLogo); if (i == Utils.LatestsMaxTVNum) { break; } i++; } } catch (Exception ex) { logger.Error("GetTVRecordings (Scheduled Recordings): " + ex.ToString()); } } }
internal void UpdateSheduledTVRecordings() { try { Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled.count", "0"); for (int z = 1; z <= Utils.LatestsMaxTVNum; z++) { Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".title", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".startTime", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".startDate", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".endTime", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".endDate", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".channel", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + z + ".channelLogo", string.Empty); } if (Proxies.IsInitialized) { List <UpcomingRecording> recordings = null; recordings = Proxies.ControlService.GetAllUpcomingRecordings(UpcomingRecordingsFilter.Recordings | UpcomingRecordingsFilter.CancelledByUser, false).Result; int i = 1; RecordingsCollection latestRecordings = new RecordingsCollection(); if (recordings != null) { foreach (UpcomingRecording rec in recordings) { string logoImagePath = GetLogoPath(rec.Program.Channel.ChannelId, rec.Program.Channel.DisplayName, 84, 84); if (string.IsNullOrEmpty(logoImagePath) || !System.IO.File.Exists(logoImagePath)) { logoImagePath = "defaultVideoBig.png"; } latestRecordings.Add(new LatestRecording(rec.Program.Title, null, rec.Program.ActualStartTime, String.Format("{0:" + Utils.DateFormat + "}", rec.Program.ActualStartTime), rec.Program.ActualStartTime.ToString("HH:mm", CultureInfo.CurrentCulture), String.Format("{0:" + Utils.DateFormat + "}", rec.Program.ActualStopTime), rec.Program.ActualStopTime.ToString("HH:mm", CultureInfo.CurrentCulture), rec.Program.Channel.DisplayName, logoImagePath)); Utils.ThreadToSleep(); } latestRecordings.Sort(new LatestRecordingsComparer()); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled.count", latestRecordings.Count.ToString()); for (int x0 = 0; x0 < latestRecordings.Count; x0++) { Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".title", latestRecordings[x0].Title); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".startTime", latestRecordings[x0].StartTime); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".startDate", latestRecordings[x0].StartDate); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".endTime", latestRecordings[x0].EndTime); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".endDate", latestRecordings[x0].EndDate); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".channel", latestRecordings[x0].Channel); Utils.SetProperty("#latestMediaHandler.tvrecordings.scheduled" + i + ".channelLogo", latestRecordings[x0].ChannelLogo); if (i == Utils.LatestsMaxTVNum) { break; } i++; } } } } catch (Exception ex) { logger.Error("GetTVRecordings (Scheduled Recordings): " + ex.ToString()); } }
internal void UpdateActiveRecordings() { try { if (TVHome.Connected) { IList <TvDatabase.Recording> recordings = TvDatabase.Recording.ListAllActive(); Utils.SetProperty("#latestMediaHandler.tvrecordings.active.count", "0"); for (int z = 1; z <= Utils.LatestsMaxTVNum; z++) { Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + z + ".title", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + z + ".genre", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + z + ".startTime", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + z + ".startDate", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + z + ".endTime", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + z + ".endDate", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + z + ".channel", string.Empty); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + z + ".channelLogo", string.Empty); } int i = 1; RecordingsCollection latestRecordings = new RecordingsCollection(); foreach (TvDatabase.Recording rec in recordings) { string logoImagePath = MediaPortal.Util.Utils.GetCoverArt(Thumbs.TVChannel, rec.ReferencedChannel().DisplayName); if (string.IsNullOrEmpty(logoImagePath)) { logoImagePath = "defaultVideoBig.png"; } latestRecordings.Add(new LatestRecording(rec.Title, rec.Genre, rec.StartTime, String.Format("{0:" + Utils.DateFormat + "}", rec.StartTime), rec.StartTime.ToString("HH:mm", CultureInfo.CurrentCulture), String.Format("{0:" + Utils.DateFormat + "}", rec.EndTime), rec.EndTime.ToString("HH:mm", CultureInfo.CurrentCulture), rec.ReferencedChannel().DisplayName, logoImagePath)); Utils.ThreadToSleep(); } latestRecordings.Sort(new LatestRecordingsComparer()); Utils.SetProperty("#latestMediaHandler.tvrecordings.active.count", latestRecordings.Count.ToString()); for (int x0 = 0; x0 < latestRecordings.Count; x0++) { Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + i + ".title", latestRecordings[x0].Title); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + i + ".genre", latestRecordings[x0].Genre); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + i + ".startTime", latestRecordings[x0].StartTime); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + i + ".startDate", latestRecordings[x0].StartDate); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + i + ".endTime", latestRecordings[x0].EndTime); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + i + ".endDate", latestRecordings[x0].EndDate); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + i + ".channel", latestRecordings[x0].Channel); Utils.SetProperty("#latestMediaHandler.tvrecordings.active" + i + ".channelLogo", latestRecordings[x0].ChannelLogo); if (i == Utils.LatestsMaxTVNum) { break; } i++; } } } catch (Exception ex) { logger.Error("UpdateActiveRecordings: " + ex.ToString()); } UpdateSheduledTVRecordings(); }