[mythtv-users] Problem with part 1 and part 2 of a show having the
Chris Pinkham
cpinkham at bc2va.org
Sun Nov 2 23:10:47 EST 2003
> I have set Mythtv to record Justice League. It has been airing 2 30
> minute parts with the same title. What ends up happening is that the
> first 30 minute part gets recorded while the second does not because
> mythtv will not record a show that it already has recorded. How do I
> get around this?
If you want, you can try the attached patch. It's something I added to
my tree but I haven't had a chance to get it tested too much. I hope to
get it in CVS this week sometime. It turns the "Record Duplicates" checkbox
into a combobox with 3 options:
* Never record duplicates
* Record only if previous instance was deleted
* Always record dups (this is what you're looking for).
You need to apply it in the mythtv/libs/libmythtv directory. It just
updates scheduledrecording.cpp.
--
Chris
-------------- next part --------------
Index: scheduledrecording.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/scheduledrecording.cpp,v
retrieving revision 1.44
diff -u -r1.44 scheduledrecording.cpp
--- scheduledrecording.cpp 3 Oct 2003 07:35:00 -0000 1.44
+++ scheduledrecording.cpp 3 Nov 2003 04:03:55 -0000
@@ -73,12 +73,15 @@
};
};
-class SRRecordDups: public CheckBoxSetting, public SRSetting {
+class SRRecordDups: public ComboBoxSetting, public SRSetting {
public:
SRRecordDups(const ScheduledRecording& parent):
SRSetting(parent, "recorddups") {
- setLabel(QObject::tr("Allow recording even if duplicate episode"));
- setValue(false);
+ setLabel(QObject::tr("Record duplicates"));
+ addSelection(QObject::tr("Never"), QString::number(kRecordDupsNever));
+ addSelection(QObject::tr("If deleted"),
+ QString::number(kRecordDupsIfDeleted));
+ addSelection(QObject::tr("Always"), QString::number(kRecordDupsAlways));
};
};
@@ -316,12 +340,20 @@
}
else
{
- // if recorddups is set then check if recording still exists
- // in recorded table otherwise check for dup in oldrecorded.
- if (result.value(13).toInt())
- proginfo->duplicate = result.value(14).toInt();
- else
- proginfo->duplicate = result.value(10).toInt();
+ // Check if duplicate
+ switch (result.value(13).toInt())
+ {
+ case kRecordDupsIfDeleted: // check recorded table
+ proginfo->duplicate = result.value(14).toInt();
+ break;
+ case kRecordDupsAlways: // always record
+ proginfo->duplicate = false;
+ break;
+ default:
+ case kRecordDupsNever: // check oldrecorded table
+ proginfo->duplicate = result.value(10).toInt();
+ break;
+ }
}
if (proginfo->duplicate)
@@ -649,7 +681,7 @@
gContext->GetScreenSettings(wmult, hmult);
MythDialog* dialog = new ConfigurationDialogWidget(parent, name);
- QVBoxLayout* vbox = new QVBoxLayout(dialog, (int)(20 * wmult));
+ QVBoxLayout* vbox = new QVBoxLayout(dialog, (int)(10 * wmult));
if (m_pginfo)
{
@@ -666,14 +698,14 @@
vbox->addWidget(type->configWidget(this, dialog));
QHBoxLayout* hbox = new QHBoxLayout(vbox, (int)(20 * wmult));
- QVBoxLayout* vbox1 = new QVBoxLayout(hbox, (int)(20 * wmult));
- QVBoxLayout* vbox2 = new QVBoxLayout(hbox, (int)(20 * wmult));
+ QVBoxLayout* vbox1 = new QVBoxLayout(hbox, (int)(10 * wmult));
+ QVBoxLayout* vbox2 = new QVBoxLayout(hbox, (int)(10 * wmult));
vbox1->addWidget(profile->configWidget(this, dialog));
vbox1->addWidget(rank->configWidget(this, dialog));
+ vbox1->addWidget(autoexpire->configWidget(this, dialog));
vbox2->addWidget(recorddups->configWidget(this, dialog));
- vbox2->addWidget(autoexpire->configWidget(this, dialog));
vbox->addWidget(maxepisodes->configWidget(this, dialog));
vbox->addWidget(maxnewest->configWidget(this, dialog));
More information about the mythtv-users
mailing list