Skip to content

Commit

Permalink
Dvr::AddRecordSchedule: Allow last_record to be specified.
Browse files Browse the repository at this point in the history
Scheduler::UpdateManuals: When creating the mythconverg.program entry,
populate program.originalairdate from record.last_record.


A little bit of a hack, but it is the cleanest solution without adding
another variable to mythconverg.record.

(cherry picked from commit 56277c7)
  • Loading branch information
jpoet committed Apr 8, 2020
1 parent 4f79764 commit 1244edd
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 4 deletions.
1 change: 1 addition & 0 deletions mythtv/libs/libmythservicecontracts/services/dvrServices.h
Expand Up @@ -210,6 +210,7 @@ class SERVICE_PUBLIC DvrServices : public Service //, public QScriptable ???
uint PreferredInput,
int StartOffset,
int EndOffset,
QDateTime LastRecorded,
QString DupMethod,
QString DupIn,
uint Filter,
Expand Down
11 changes: 8 additions & 3 deletions mythtv/programs/mythbackend/scheduler.cpp
Expand Up @@ -3660,7 +3660,7 @@ void Scheduler::UpdateManuals(uint recordid)

query.prepare(QString("SELECT type,title,subtitle,description,"
"station,startdate,starttime,"
"enddate,endtime,season,episode,inetref "
"enddate,endtime,season,episode,inetref,last_record "
"FROM %1 WHERE recordid = :RECORDID").arg(m_recordTable));
query.bindValue(":RECORDID", recordid);
if (!query.exec() || query.size() != 1)
Expand All @@ -3687,6 +3687,10 @@ void Scheduler::UpdateManuals(uint recordid)
int episode = query.value(10).toInt();
QString inetref = query.value(11).toString();

// A bit of a hack: mythconverg.record.last_record can be used by
// the services API to propegate originalairdate information.
QDate originalairdate = QDate(query.value(12).toDate());

if (description.isEmpty())
description = startdt.toLocalTime().toString();

Expand Down Expand Up @@ -3753,10 +3757,10 @@ void Scheduler::UpdateManuals(uint recordid)

query.prepare("REPLACE INTO program (chanid, starttime, endtime,"
" title, subtitle, description, manualid,"
" season, episode, inetref, generic) "
" season, episode, inetref, originalairdate, generic) "
"VALUES (:CHANID, :STARTTIME, :ENDTIME, :TITLE,"
" :SUBTITLE, :DESCRIPTION, :RECORDID, "
" :SEASON, :EPISODE, :INETREF, 1)");
" :SEASON, :EPISODE, :INETREF, :ORIGINALAIRDATE, 1)");
query.bindValue(":CHANID", id);
query.bindValue(":STARTTIME", startdt);
query.bindValue(":ENDTIME", startdt.addSecs(duration));
Expand All @@ -3766,6 +3770,7 @@ void Scheduler::UpdateManuals(uint recordid)
query.bindValue(":SEASON", season);
query.bindValue(":EPISODE", episode);
query.bindValue(":INETREF", inetref);
query.bindValue(":ORIGINALAIRDATE", originalairdate);
query.bindValue(":RECORDID", recordid);
if (!query.exec())
{
Expand Down
4 changes: 4 additions & 0 deletions mythtv/programs/mythbackend/services/dvr.cpp
Expand Up @@ -1092,6 +1092,7 @@ uint Dvr::AddRecordSchedule (
uint nPreferredInput,
int nStartOffset,
int nEndOffset,
QDateTime lastrectsRaw,
QString sDupMethod,
QString sDupIn,
uint nFilter,
Expand All @@ -1113,6 +1114,7 @@ uint Dvr::AddRecordSchedule (
{
QDateTime recstartts = recstarttsRaw.toUTC();
QDateTime recendts = recendtsRaw.toUTC();
QDateTime lastrects = lastrectsRaw.toUTC();
RecordingRule rule;
rule.LoadTemplate("Default");

Expand Down Expand Up @@ -1199,6 +1201,8 @@ uint Dvr::AddRecordSchedule (

rule.m_transcoder = nTranscoder;

rule.m_lastRecorded = lastrects;

QString msg;
if (!rule.IsValid(msg))
throw msg;
Expand Down
4 changes: 3 additions & 1 deletion mythtv/programs/mythbackend/services/dvr.h
Expand Up @@ -173,6 +173,7 @@ class Dvr : public DvrServices
uint PreferredInput,
int StartOffset,
int EndOffset,
QDateTime lastrectsRaw,
QString DupMethod,
QString DupIn,
uint Filter,
Expand Down Expand Up @@ -491,7 +492,8 @@ class ScriptableDvr : public QObject
rule->Inetref(), rule->Type(),
rule->SearchType(), rule->RecPriority(),
rule->PreferredInput(), rule->StartOffset(),
rule->EndOffset(), rule->DupMethod(),
rule->EndOffset(), rule->LastRecorded(),
rule->DupMethod(),
rule->DupIn(), rule->Filter(),
rule->RecProfile(), rule->RecGroup(),
rule->StorageGroup(), rule->PlayGroup(),
Expand Down

0 comments on commit 1244edd

Please sign in to comment.