#! /bin/sh /usr/share/dpatch/dpatch-run ## 10_dd-record-option.dpatch by Thomas Schmidt ## ## Thomas Günther : ## - adapted to VDR-1.5.0 ## - fixed i18n texts for replay ## - adapted to VDR-1.5.7 ## http://toms-cafe.de/vdr/download/vdr-dd-record-option-1.5.7.diff ## - added French language texts (thanks to Michaël Nival) ## http://toms-cafe.de/vdr/download/vdr-dd-record-option-1.6.0.diff ## - adapted to VDR-1.7.4 ## http://toms-cafe.de/vdr/download/vdr-dd-record-option-1.7.4.diff ## - adapted to VDR-1.7.12 ## http://toms-cafe.de/vdr/download/vdr-dd-record-option-1.7.12.diff ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Allows to choose if to record and to replay Dolby Digital ## DP: independently (to work around some audio issues with the ## DP: dvd-plugin) @DPATCH@ diff -Naurp vdr-1.7.12/config.c vdr-1.7.12-dd-record-option/config.c --- vdr-1.7.12/config.c 2010-01-31 12:36:36.000000000 +0000 +++ vdr-1.7.12-dd-record-option/config.c 2010-02-01 22:28:47.000000000 +0000 @@ -357,6 +357,7 @@ cSetup::cSetup(void) VideoDisplayFormat = 1; VideoFormat = 0; UpdateChannels = 5; + RecordDolbyDigital = 1; UseDolbyDigital = 1; ChannelInfoPos = 0; ChannelInfoTime = 5; @@ -545,6 +546,7 @@ bool cSetup::Parse(const char *Name, con else if (!strcasecmp(Name, "VideoDisplayFormat")) VideoDisplayFormat = atoi(Value); else if (!strcasecmp(Name, "VideoFormat")) VideoFormat = atoi(Value); else if (!strcasecmp(Name, "UpdateChannels")) UpdateChannels = atoi(Value); + else if (!strcasecmp(Name, "RecordDolbyDigital")) RecordDolbyDigital = atoi(Value); else if (!strcasecmp(Name, "UseDolbyDigital")) UseDolbyDigital = atoi(Value); else if (!strcasecmp(Name, "ChannelInfoPos")) ChannelInfoPos = atoi(Value); else if (!strcasecmp(Name, "ChannelInfoTime")) ChannelInfoTime = atoi(Value); @@ -638,6 +640,7 @@ bool cSetup::Save(void) Store("VideoDisplayFormat", VideoDisplayFormat); Store("VideoFormat", VideoFormat); Store("UpdateChannels", UpdateChannels); + Store("RecordDolbyDigital", RecordDolbyDigital); Store("UseDolbyDigital", UseDolbyDigital); Store("ChannelInfoPos", ChannelInfoPos); Store("ChannelInfoTime", ChannelInfoTime); diff -Naurp vdr-1.7.12/config.h vdr-1.7.12-dd-record-option/config.h --- vdr-1.7.12/config.h 2010-01-31 11:14:02.000000000 +0000 +++ vdr-1.7.12-dd-record-option/config.h 2010-02-01 22:28:47.000000000 +0000 @@ -256,6 +256,7 @@ public: int VideoDisplayFormat; int VideoFormat; int UpdateChannels; + int RecordDolbyDigital; int UseDolbyDigital; int ChannelInfoPos; int ChannelInfoTime; diff -Naurp vdr-1.7.12/epg.c vdr-1.7.12-dd-record-option/epg.c --- vdr-1.7.12/epg.c 2010-01-08 15:20:28.000000000 +0000 +++ vdr-1.7.12-dd-record-option/epg.c 2010-02-03 15:59:57.000000000 +0000 @@ -443,7 +443,7 @@ void cEvent::Dump(FILE *f, const char *P if (components) { for (int i = 0; i < components->NumComponents(); i++) { tComponent *p = components->Component(i); - if (!Setup.UseDolbyDigital && p->stream == 0x02 && p->type == 0x05) + if (!Setup.RecordDolbyDigital && p->stream == 0x02 && p->type == 0x05) continue; fprintf(f, "%sX %s\n", Prefix, *p->ToString()); } diff -Naurp vdr-1.7.12/menu.c vdr-1.7.12-dd-record-option/menu.c --- vdr-1.7.12/menu.c 2010-01-31 12:43:24.000000000 +0000 +++ vdr-1.7.12-dd-record-option/menu.c 2010-02-01 22:28:47.000000000 +0000 @@ -2776,7 +2776,8 @@ void cMenuSetupDVB::Setup(void) Add(new cMenuEditBoolItem(tr("Setup.DVB$Video format"), &data.VideoFormat, "4:3", "16:9")); if (data.VideoFormat == 0) Add(new cMenuEditStraItem(tr("Setup.DVB$Video display format"), &data.VideoDisplayFormat, 3, videoDisplayFormatTexts)); - Add(new cMenuEditBoolItem(tr("Setup.DVB$Use Dolby Digital"), &data.UseDolbyDigital)); + Add(new cMenuEditBoolItem(tr("Setup.DVB$Record Dolby Digital"), &data.RecordDolbyDigital)); + Add(new cMenuEditBoolItem(tr("Setup.DVB$Replay Dolby Digital"), &data.UseDolbyDigital)); Add(new cMenuEditStraItem(tr("Setup.DVB$Update channels"), &data.UpdateChannels, 6, updateChannelsTexts)); Add(new cMenuEditIntItem( tr("Setup.DVB$Audio languages"), &numAudioLanguages, 0, I18nLanguages()->Size())); for (int i = 0; i < numAudioLanguages; i++) diff -Naurp vdr-1.7.12/po/de_DE.po vdr-1.7.12-dd-record-option/po/de_DE.po --- vdr-1.7.12/po/de_DE.po 2010-01-23 15:15:30.000000000 +0000 +++ vdr-1.7.12-dd-record-option/po/de_DE.po 2010-02-01 22:28:47.000000000 +0000 @@ -901,8 +901,11 @@ msgstr "Videoformat" msgid "Setup.DVB$Video display format" msgstr "Video-Anzeigeformat" -msgid "Setup.DVB$Use Dolby Digital" -msgstr "Dolby-Digital-Ton benutzen" +msgid "Setup.DVB$Record Dolby Digital" +msgstr "Dolby-Digital-Ton aufzeichnen" + +msgid "Setup.DVB$Replay Dolby Digital" +msgstr "Dolby-Digital-Ton wiedergeben" msgid "Setup.DVB$Update channels" msgstr "Kanäle aktualisieren" diff -Naurp vdr-1.7.12/po/fr_FR.po vdr-1.7.12-dd-record-option/po/fr_FR.po --- vdr-1.7.12/po/fr_FR.po 2010-01-23 15:15:30.000000000 +0000 +++ vdr-1.7.12-dd-record-option/po/fr_FR.po 2010-02-01 22:28:47.000000000 +0000 @@ -907,8 +907,11 @@ msgstr "Format vidéo" msgid "Setup.DVB$Video display format" msgstr "Format d'affichage" -msgid "Setup.DVB$Use Dolby Digital" -msgstr "Utiliser le Dolby Digital" +msgid "Setup.DVB$Record Dolby Digital" +msgstr "Enregistrer le Dolby Digital" + +msgid "Setup.DVB$Replay Dolby Digital" +msgstr "Lire le Dolby Digital" msgid "Setup.DVB$Update channels" msgstr "Mettre à jour les chaînes" diff -Naurp vdr-1.7.12/receiver.c vdr-1.7.12-dd-record-option/receiver.c --- vdr-1.7.12/receiver.c 2010-01-30 10:25:38.000000000 +0000 +++ vdr-1.7.12-dd-record-option/receiver.c 2010-02-03 16:01:52.000000000 +0000 @@ -81,7 +81,7 @@ bool cReceiver::SetPids(const cChannel * return AddPid(Channel->Vpid()) && (Channel->Ppid() == Channel->Vpid() || AddPid(Channel->Ppid())) && AddPids(Channel->Apids()) && - (!Setup.UseDolbyDigital || AddPids(Channel->Dpids())) && + (!Setup.RecordDolbyDigital || AddPids(Channel->Dpids())) && AddPids(Channel->Spids()); } return true;