#! /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 ## ## 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@ --- vdr-1.6.0/config.c +++ vdr-1.6.0/config.c @@ -259,6 +259,7 @@ cSetup::cSetup(void) VideoDisplayFormat = 1; VideoFormat = 0; UpdateChannels = 5; + RecordDolbyDigital = 1; UseDolbyDigital = 1; ChannelInfoPos = 0; ChannelInfoTime = 5; @@ -432,6 +433,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); @@ -515,6 +517,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); --- vdr-1.6.0/config.h +++ vdr-1.6.0/config.h @@ -241,6 +241,7 @@ public: int VideoDisplayFormat; int VideoFormat; int UpdateChannels; + int RecordDolbyDigital; int UseDolbyDigital; int ChannelInfoPos; int ChannelInfoTime; --- vdr-1.6.0/menu.c +++ vdr-1.6.0/menu.c @@ -2488,7 +2488,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++) --- vdr-1.6.0/po/de_DE.po +++ vdr-1.6.0/po/de_DE.po @@ -620,8 +620,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" --- vdr-1.6.0/po/fr_FR.po +++ vdr-1.6.0/po/fr_FR.po @@ -626,8 +626,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" --- vdr-1.6.0/recorder.c +++ vdr-1.6.0/recorder.c @@ -127,7 +127,7 @@ void cFileWriter::Action(void) // --- cRecorder ------------------------------------------------------------- cRecorder::cRecorder(const char *FileName, tChannelID ChannelID, int Priority, int VPid, const int *APids, const int *DPids, const int *SPids) -:cReceiver(ChannelID, Priority, VPid, APids, Setup.UseDolbyDigital ? DPids : NULL, SPids) +:cReceiver(ChannelID, Priority, VPid, APids, Setup.RecordDolbyDigital ? DPids : NULL, SPids) ,cThread("recording") { // Make sure the disk is up and running: @@ -136,7 +136,7 @@ cRecorder::cRecorder(const char *FileNam ringBuffer = new cRingBufferLinear(RECORDERBUFSIZE, TS_SIZE * 2, true, "Recorder"); ringBuffer->SetTimeouts(0, 100); - remux = new cRemux(VPid, APids, Setup.UseDolbyDigital ? DPids : NULL, SPids, true); + remux = new cRemux(VPid, APids, Setup.RecordDolbyDigital ? DPids : NULL, SPids, true); writer = new cFileWriter(FileName, remux); }