r2419 - in vdr/vdr/trunk/debian: . patches
Thomas Günther
tom-guest at costa.debian.org
Mon Apr 17 23:58:19 UTC 2006
Author: tom-guest
Date: 2006-04-17 23:58:18 +0000 (Mon, 17 Apr 2006)
New Revision: 2419
Added:
vdr/vdr/trunk/debian/patches/opt-24_jumpplay-0.7.dpatch
Removed:
vdr/vdr/trunk/debian/patches/16_vdr-1.3.46_menuitems.c-fix.dpatch
vdr/vdr/trunk/debian/patches/opt-24_jumpplay-0.6.dpatch
Modified:
vdr/vdr/trunk/debian/changelog
vdr/vdr/trunk/debian/patches/00list
vdr/vdr/trunk/debian/patches/10_dd-record-option.dpatch
Log:
New upstream release 1.3.47
Modified: vdr/vdr/trunk/debian/changelog
===================================================================
--- vdr/vdr/trunk/debian/changelog 2006-04-17 16:24:39 UTC (rev 2418)
+++ vdr/vdr/trunk/debian/changelog 2006-04-17 23:58:18 UTC (rev 2419)
@@ -1,3 +1,15 @@
+vdr (1.3.47-1) UNRELEASED; urgency=low
+
+ * NOT RELEASED YET
+
+ * New upstream release
+ * Thomas Günther <tom at toms-cafe.de>
+ - Updated 10_dd-record-option.dpatch
+ - Removed 16_vdr-1.3.46_menuitems.c-fix.dpatch
+ - Upgraded opt-24_jumpplay-0.6.dpatch to opt-24_jumpplay-0.7.dpatch
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel at lists.alioth.debian.org> Tue, 18 Apr 2006 00:53:07 +0200
+
vdr (1.3.46-1) UNRELEASED; urgency=low
* NOT RELEASED YET
Modified: vdr/vdr/trunk/debian/patches/00list
===================================================================
--- vdr/vdr/trunk/debian/patches/00list 2006-04-17 16:24:39 UTC (rev 2418)
+++ vdr/vdr/trunk/debian/patches/00list 2006-04-17 23:58:18 UTC (rev 2419)
@@ -9,10 +9,9 @@
12_osdbase-maxitems
14_cap-memsize
15_dvbplayer
-16_vdr-1.3.46_menuitems.c-fix
# Patch needed for DVB subtitles or ttxtsubs (does not work with AC3-patch)
# opt-21_subtitles_and_ttxtsubs
# The Jump patch allows automatic jumping over cutting marks.
-# opt-24_jumpplay-0.6
+# opt-24_jumpplay-0.7
Modified: vdr/vdr/trunk/debian/patches/10_dd-record-option.dpatch
===================================================================
--- vdr/vdr/trunk/debian/patches/10_dd-record-option.dpatch 2006-04-17 16:24:39 UTC (rev 2418)
+++ vdr/vdr/trunk/debian/patches/10_dd-record-option.dpatch 2006-04-17 23:58:18 UTC (rev 2419)
@@ -1,25 +1,26 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
-
## 10_dd_replay_option.dpatch by Thomas Schmidt <tschmidt at debian.org>
##
+## Thomas Günther <tom at toms-cafe.de>:
+## - adapted to VDR-1.3.47
+##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Allowes 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 -urNad vdr-1.3.32/config.c /tmp/dpep.7sbpO9/vdr-1.3.32/config.c
---- vdr-1.3.32/config.c 2005-09-11 18:11:45.024178024 +0200
-+++ /tmp/dpep.7sbpO9/vdr-1.3.32/config.c 2005-09-11 18:11:45.795060832 +0200
-@@ -365,6 +365,7 @@
+--- vdr-1.3.47/config.c
++++ vdr-1.3.47/config.c
+@@ -252,6 +252,7 @@
VideoDisplayFormat = 1;
VideoFormat = 0;
- UpdateChannels = 4;
+ UpdateChannels = 5;
+ RecordDolbyDigital = 1;
UseDolbyDigital = 1;
ChannelInfoPos = 0;
ChannelInfoTime = 5;
-@@ -523,6 +524,7 @@
+@@ -413,6 +414,7 @@
else if (!strcasecmp(Name, "VideoDisplayFormat")) VideoDisplayFormat = atoi(Value);
else if (!strcasecmp(Name, "VideoFormat")) VideoFormat = atoi(Value);
else if (!strcasecmp(Name, "UpdateChannels")) UpdateChannels = atoi(Value);
@@ -27,7 +28,7 @@
else if (!strcasecmp(Name, "UseDolbyDigital")) UseDolbyDigital = atoi(Value);
else if (!strcasecmp(Name, "ChannelInfoPos")) ChannelInfoPos = atoi(Value);
else if (!strcasecmp(Name, "ChannelInfoTime")) ChannelInfoTime = atoi(Value);
-@@ -588,6 +590,7 @@
+@@ -481,6 +483,7 @@
Store("VideoDisplayFormat", VideoDisplayFormat);
Store("VideoFormat", VideoFormat);
Store("UpdateChannels", UpdateChannels);
@@ -35,10 +36,9 @@
Store("UseDolbyDigital", UseDolbyDigital);
Store("ChannelInfoPos", ChannelInfoPos);
Store("ChannelInfoTime", ChannelInfoTime);
-diff -urNad vdr-1.3.32/config.h /tmp/dpep.7sbpO9/vdr-1.3.32/config.h
---- vdr-1.3.32/config.h 2005-09-11 18:11:45.025177872 +0200
-+++ /tmp/dpep.7sbpO9/vdr-1.3.32/config.h 2005-09-11 18:11:45.795060832 +0200
-@@ -257,6 +257,7 @@
+--- vdr-1.3.47/config.h
++++ vdr-1.3.47/config.h
+@@ -235,6 +235,7 @@
int VideoDisplayFormat;
int VideoFormat;
int UpdateChannels;
@@ -46,12 +46,11 @@
int UseDolbyDigital;
int ChannelInfoPos;
int ChannelInfoTime;
-diff -urNad vdr-1.3.32/i18n.c /tmp/dpep.7sbpO9/vdr-1.3.32/i18n.c
---- vdr-1.3.32/i18n.c 2005-09-11 18:02:41.692776952 +0200
-+++ /tmp/dpep.7sbpO9/vdr-1.3.32/i18n.c 2005-09-11 18:11:45.799060224 +0200
-@@ -3262,8 +3262,29 @@
- "TV külgsuhe",
+--- vdr-1.3.47/i18n.c
++++ vdr-1.3.47/i18n.c
+@@ -3656,8 +3656,29 @@
"Video format",
+ "Formát videa",
},
+ { "Setup.DVB$Record Dolby Digital",
+ "Dolby Digital Ton aufzeichnen",
@@ -80,22 +79,20 @@
"Uporabljaj Dolby Digital",
"",//TODO
"Dolby Digital gebruiken",
-diff -urNad vdr-1.3.32/menu.c /tmp/dpep.7sbpO9/vdr-1.3.32/menu.c
---- vdr-1.3.32/menu.c 2005-09-11 18:11:45.266141240 +0200
-+++ /tmp/dpep.7sbpO9/vdr-1.3.32/menu.c 2005-09-11 18:11:45.801059920 +0200
-@@ -2039,7 +2039,8 @@
+--- vdr-1.3.47/menu.c
++++ vdr-1.3.47/menu.c
+@@ -2339,7 +2339,8 @@
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, 5, updateChannelsTexts));
+ Add(new cMenuEditStraItem(tr("Setup.DVB$Update channels"), &data.UpdateChannels, 6, updateChannelsTexts));
Add(new cMenuEditIntItem( tr("Setup.DVB$Audio languages"), &numAudioLanguages, 0, I18nNumLanguages));
for (int i = 0; i < numAudioLanguages; i++)
-diff -urNad vdr-1.3.32/recorder.c /tmp/dpep.7sbpO9/vdr-1.3.32/recorder.c
---- vdr-1.3.32/recorder.c 2005-09-11 18:02:41.696776344 +0200
-+++ /tmp/dpep.7sbpO9/vdr-1.3.32/recorder.c 2005-09-11 18:11:45.802059768 +0200
+--- vdr-1.3.47/recorder.c
++++ vdr-1.3.47/recorder.c
@@ -122,7 +122,7 @@
}
Deleted: vdr/vdr/trunk/debian/patches/16_vdr-1.3.46_menuitems.c-fix.dpatch
===================================================================
--- vdr/vdr/trunk/debian/patches/16_vdr-1.3.46_menuitems.c-fix.dpatch 2006-04-17 16:24:39 UTC (rev 2418)
+++ vdr/vdr/trunk/debian/patches/16_vdr-1.3.46_menuitems.c-fix.dpatch 2006-04-17 23:58:18 UTC (rev 2419)
@@ -1,18 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 16_vdr-1.3.46_menuitems.c-fix.dpatch by Klaus Schmidinger <Klaus.Schmidinger at cadsoft.de>
-## http://article.gmane.org/gmane.linux.vdr/28702
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fixes set time transponder crash.
-
- at DPATCH@
---- vdr-1.3.46/menuitems.c 2006/04/09 13:10:02 1.36
-+++ vdr-1.3.46/menuitems.c 2006/04/10 06:31:02
-@@ -572,7 +572,7 @@
- snprintf(buf, sizeof(buf), "%d %s", *value, channel ? channel->Name() : "");
- SetValue(buf);
- }
-- else
-+ else if (noneString)
- SetValue(noneString);
- }
Deleted: vdr/vdr/trunk/debian/patches/opt-24_jumpplay-0.6.dpatch
===================================================================
--- vdr/vdr/trunk/debian/patches/opt-24_jumpplay-0.6.dpatch 2006-04-17 16:24:39 UTC (rev 2418)
+++ vdr/vdr/trunk/debian/patches/opt-24_jumpplay-0.6.dpatch 2006-04-17 23:58:18 UTC (rev 2419)
@@ -1,524 +0,0 @@
-#!/bin/sh /usr/share/dpatch/dpatch-run
-
-## opt-24_jumpplay-0.6.dpatch by Torsten Kunkel, Thomas Günther
-##
-## version 0.6 for vdr-1.3.29 - see README.jumpplay for details
-## http://toms-cafe.de/vdr/download/vdr-jumpplay-0.6-1.3.29.diff
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Authors: Torsten Kunkel <vdr at tkunkel.de> (initial version),
-## DP: Thomas Günther <tom at toms-cafe.de> (current version).
-## DP: Play after jump to next mark. Automatically jump over commercial breaks.
-
- at DPATCH@
-diff -Naur vdr-1.3.29/README.jumpplay vdr-1.3.29-jumpplay-0.6/README.jumpplay
---- vdr-1.3.29/README.jumpplay 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-1.3.29-jumpplay-0.6/README.jumpplay 2005-08-15 21:33:56.000000000 +0200
-@@ -0,0 +1,89 @@
-+JumpPlay patch for VDR
-+----------------------
-+
-+This patch changes the replay behaviour for recordings that contain editing
-+marks. It allows to immediately continue the replay after jumping forward to
-+the next mark, and to automatically jump over the commercial break to the next
-+"start" mark, if an "end" mark is reached.
-+
-+The features of this patch can be turned on or off with the following entries
-+in the replay setup.
-+
-+
-+* Parameters in the "Setup" menu "Replay"
-+
-+ Jump&Play = yes|no Turns playing on or off after jumping forward to the
-+ next editing mark with the '9' key.
-+
-+ Play&Jump = yes|no Turns automatic jumping over commercial breaks on or
-+ off. This includes jumping to the first mark, if the
-+ replay starts at the beginning of a recording - and
-+ stopping the replay at the last mark.
-+ With this setting enabled, the behaviour of the '8'
-+ key during replay is changed too. It moves the actual
-+ replay position not only three seconds before the
-+ next "start" mark, but also before the next "end"
-+ mark. This can be used to test, if the editing marks
-+ are correctly positioned for a "smooth" jump over a
-+ commercial break.
-+
-+ Load marks interval (s) = 0
-+ Set the load marks interval in seconds. This can be
-+ used if an external programme adjusts the cutting
-+ marks, e.g. noad in online mode.
-+ A value of '0' disables the cyclic reloading of
-+ cutting marks.
-+
-+
-+* History
-+
-+ 2003-07-04: jumpandrun.diff - the Noad <theNoad at SoftHome.net>
-+ Jump&Play
-+
-+ 2003-12-06: Version 0.0 - Torsten Kunkel <vdr at tkunkel.de>
-+ Play&Jump (only if progressbar is visible)
-+ Setup parameters Jump&Play and Play&Jump in the replay setup
-+
-+ 2004-01-20: Version 0.1 - Thomas Günther <tom at toms-cafe.de>
-+ Jump&Play:
-+ - fixed speed after jump
-+ - fixed removing of marks
-+ Play&Jump:
-+ - jump only on "end" marks
-+
-+ 2004-01-27: Version 0.2 - Thomas Günther <tom at toms-cafe.de>
-+ Jump&Play:
-+ - fixed double jump
-+ Play&Jump:
-+ - fixed mark detection: fuzzy detection (until 3 seconds after mark)
-+ - jump without progressbar
-+ - mode "progressbar only" for old behaviour
-+
-+ 2004-01-31: Version 0.3 - Thomas Günther <tom at toms-cafe.de>
-+ Jump&Play:
-+ - fixed display frames
-+ Play&Jump:
-+ - fixed end of playing at last mark
-+
-+ 2004-07-11: Version 0.4 - Thomas Günther <tom at toms-cafe.de>
-+ Jump&Play:
-+ - don't play after jump to end
-+ Play&Jump:
-+ - don't prevent jumping after hide or show
-+ Less conflicts with other patches (Elchi/AutoPID)
-+
-+ 2004-08-21: Version 0.5 - Thomas Günther <tom at toms-cafe.de>
-+ Play&Jump:
-+ - exact jumps, replay like edited recording (no fuzzy mark detection)
-+ - jump to first mark if replay starts at the beginning
-+ - check jump marks with '8' key
-+ - mode "progressbar only" removed
-+ Description in README.jumpplay
-+
-+ 2004-12-28: Version 0.6 - Thomas Günther <tom at toms-cafe.de>
-+ Adapted noad extensions (from the Noad <theNoad at SoftHome.net>) to
-+ jumpplay-0.5:
-+ - cyclic reloading of marks found by noad online-scan
-+ - don't stop after the last mark in case of live-recordings
-+ New setup parameter "Load marks interval (s)"
-+ Updated description in README.jumpplay
-diff -Naur vdr-1.3.29/config.c vdr-1.3.29-jumpplay-0.6/config.c
---- vdr-1.3.29/config.c 2005-08-13 15:47:08.000000000 +0200
-+++ vdr-1.3.29-jumpplay-0.6/config.c 2005-08-15 20:02:01.000000000 +0200
-@@ -299,6 +299,9 @@
- MultiSpeedMode = 0;
- ShowReplayMode = 0;
- ResumeID = 0;
-+ JumpPlay = 0;
-+ PlayJump = 0;
-+ LoadMarksInterval = 0;
- CurrentChannel = -1;
- CurrentVolume = MAXVOLUME;
- CurrentDolby = 0;
-@@ -457,6 +460,9 @@
- else if (!strcasecmp(Name, "MultiSpeedMode")) MultiSpeedMode = atoi(Value);
- else if (!strcasecmp(Name, "ShowReplayMode")) ShowReplayMode = atoi(Value);
- else if (!strcasecmp(Name, "ResumeID")) ResumeID = atoi(Value);
-+ else if (!strcasecmp(Name, "JumpPlay")) JumpPlay = atoi(Value);
-+ else if (!strcasecmp(Name, "PlayJump")) PlayJump = atoi(Value);
-+ else if (!strcasecmp(Name, "LoadMarksInterval")) LoadMarksInterval = atoi(Value);
- else if (!strcasecmp(Name, "CurrentChannel")) CurrentChannel = atoi(Value);
- else if (!strcasecmp(Name, "CurrentVolume")) CurrentVolume = atoi(Value);
- else if (!strcasecmp(Name, "CurrentDolby")) CurrentDolby = atoi(Value);
-@@ -522,6 +528,9 @@
- Store("MultiSpeedMode", MultiSpeedMode);
- Store("ShowReplayMode", ShowReplayMode);
- Store("ResumeID", ResumeID);
-+ Store("JumpPlay", JumpPlay);
-+ Store("PlayJump", PlayJump);
-+ Store("LoadMarksInterval", LoadMarksInterval);
- Store("CurrentChannel", CurrentChannel);
- Store("CurrentVolume", CurrentVolume);
- Store("CurrentDolby", CurrentDolby);
-diff -Naur vdr-1.3.29/config.h vdr-1.3.29-jumpplay-0.6/config.h
---- vdr-1.3.29/config.h 2005-08-13 11:43:27.000000000 +0200
-+++ vdr-1.3.29-jumpplay-0.6/config.h 2005-08-15 20:02:01.000000000 +0200
-@@ -90,7 +90,7 @@
- cConfig(void) { fileName = NULL; }
- virtual ~cConfig() { free(fileName); }
- const char *FileName(void) { return fileName; }
-- bool Load(const char *FileName = NULL, bool AllowComments = false, bool MustExist = false)
-+ bool Load(const char *FileName = NULL, bool AllowComments = false, bool MustExist = false, bool SupressMessage = false)
- {
- Clear();
- if (FileName) {
-@@ -100,7 +100,8 @@
- }
- bool result = !MustExist;
- if (fileName && access(fileName, F_OK) == 0) {
-- isyslog("loading %s", fileName);
-+ if (!SupressMessage)
-+ isyslog("loading %s", fileName);
- FILE *f = fopen(fileName, "r");
- if (f) {
- int line = 0;
-@@ -253,6 +254,9 @@
- int MultiSpeedMode;
- int ShowReplayMode;
- int ResumeID;
-+ int JumpPlay;
-+ int PlayJump;
-+ int LoadMarksInterval;
- int CurrentChannel;
- int CurrentVolume;
- int CurrentDolby;
-diff -Naur vdr-1.3.29/dvbplayer.c vdr-1.3.29-jumpplay-0.6/dvbplayer.c
---- vdr-1.3.29/dvbplayer.c 2005-08-14 12:52:45.000000000 +0200
-+++ vdr-1.3.29-jumpplay-0.6/dvbplayer.c 2005-08-15 20:02:01.000000000 +0200
-@@ -179,6 +179,7 @@
- cNonBlockingFileReader *nonBlockingFileReader;
- cRingBufferFrame *ringBuffer;
- cBackTrace *backTrace;
-+ cMarks *marks;
- cFileName *fileName;
- cIndexFile *index;
- int replayFile;
-@@ -199,7 +200,7 @@
- virtual void Activate(bool On);
- virtual void Action(void);
- public:
-- cDvbPlayer(const char *FileName);
-+ cDvbPlayer(const char *FileName, cMarks *Marks = NULL);
- virtual ~cDvbPlayer();
- bool Active(void) { return cThread::Running(); }
- void Pause(void);
-@@ -219,7 +220,7 @@
- #define SPEED_MULT 12 // the speed multiplier
- int cDvbPlayer::Speeds[] = { 0, -2, -4, -8, 1, 2, 4, 12, 0 };
-
--cDvbPlayer::cDvbPlayer(const char *FileName)
-+cDvbPlayer::cDvbPlayer(const char *FileName, cMarks *Marks)
- :cThread("dvbplayer")
- {
- nonBlockingFileReader = NULL;
-@@ -249,6 +250,7 @@
- index = NULL;
- }
- backTrace = new cBackTrace;
-+ marks = Marks;
- }
-
- cDvbPlayer::~cDvbPlayer()
-@@ -354,11 +356,25 @@
- uchar *b = NULL;
- uchar *p = NULL;
- int pc = 0;
-+ bool cutIn = false;
-+ int total = -1;
-
- readIndex = Resume();
- if (readIndex >= 0)
- isyslog("resuming replay at index %d (%s)", readIndex, *IndexToHMSF(readIndex, true));
-
-+ if (Setup.PlayJump && readIndex <= 0 && marks->First() && index) {
-+ int Index = marks->First()->position;
-+ uchar FileNumber;
-+ int FileOffset;
-+ if (index->Get(Index, &FileNumber, &FileOffset) &&
-+ NextFile(FileNumber, FileOffset)) {
-+ isyslog("PlayJump: start replay at first mark %d (%s)",
-+ Index, *IndexToHMSF(Index, true));
-+ readIndex = Index;
-+ }
-+ }
-+
- nonBlockingFileReader = new cNonBlockingFileReader;
- int Length = 0;
- bool Sleep = false;
-@@ -405,6 +421,36 @@
- uchar FileNumber;
- int FileOffset;
- readIndex++;
-+ if (Setup.PlayJump && marks) {
-+ // check for end mark - jump to next start mark
-+ cMark *m = marks->Get(readIndex);
-+ if (m && (m->Index() & 0x01) != 0) {
-+ m = marks->Next(m);
-+ int Index;
-+ if (m)
-+ Index = m->position;
-+ else if (total == index->Last())
-+ // on last mark jump to end of recording
-+ Index = index->Last() - 1;
-+ else
-+ // jump but stay off end of live-recordings
-+ Index = index->GetNextIFrame(index->Last() - 150, true);
-+ // don't jump in edited recordings
-+ if (Index > readIndex &&
-+ Index > index->GetNextIFrame(readIndex, true)) {
-+ isyslog("PlayJump: %d frames to %d (%s)",
-+ Index - readIndex, Index,
-+ *IndexToHMSF(Index, true));
-+ readIndex = Index;
-+ cutIn = true;
-+ }
-+ }
-+ }
-+ // for detecting growing length of live-recordings
-+ uchar PictureType;
-+ if (index->Get(readIndex, &FileNumber, &FileOffset, &PictureType) &&
-+ PictureType == I_FRAME)
-+ total = index->Last();
- if (!(index->Get(readIndex, &FileNumber, &FileOffset, NULL, &Length) && NextFile(FileNumber, FileOffset))) {
- readIndex = -1;
- eof = true;
-@@ -437,6 +483,10 @@
- // Store the frame in the buffer:
-
- if (readFrame) {
-+ if (cutIn) {
-+ cRemux::SetBrokenLink(readFrame->Data(), readFrame->Count());
-+ cutIn = false;
-+ }
- if (ringBuffer->Put(readFrame))
- readFrame = NULL;
- }
-@@ -729,6 +779,11 @@
- {
- }
-
-+cDvbPlayerControl::cDvbPlayerControl(const char *FileName, cMarks *Marks)
-+:cControl(player = new cDvbPlayer(FileName, Marks))
-+{
-+}
-+
- cDvbPlayerControl::~cDvbPlayerControl()
- {
- Stop();
-diff -Naur vdr-1.3.29/dvbplayer.h vdr-1.3.29-jumpplay-0.6/dvbplayer.h
---- vdr-1.3.29/dvbplayer.h 2002-06-23 12:13:51.000000000 +0200
-+++ vdr-1.3.29-jumpplay-0.6/dvbplayer.h 2005-08-15 20:02:01.000000000 +0200
-@@ -20,6 +20,7 @@
- cDvbPlayer *player;
- public:
- cDvbPlayerControl(const char *FileName);
-+ cDvbPlayerControl(const char *FileName, cMarks *Marks);
- // Sets up a player for the given file.
- virtual ~cDvbPlayerControl();
- bool Active(void);
-diff -Naur vdr-1.3.29/i18n.c vdr-1.3.29-jumpplay-0.6/i18n.c
---- vdr-1.3.29/i18n.c 2005-08-14 14:03:47.000000000 +0200
-+++ vdr-1.3.29-jumpplay-0.6/i18n.c 2005-08-15 20:02:01.000000000 +0200
-@@ -3913,6 +3913,93 @@
- "Jätkamise ID",
- "Genoptagelses ID",
- },
-+ { "Setup.Replay$Jump&Play",
-+ "Wiedergabe nach Sprung",
-+ "", // Slovenski
-+ "", // Italiano
-+ "", // Nederlands
-+ "", // Português
-+ "", // Français
-+ "", // Norsk
-+ "", // Suomi
-+ "", // Polski
-+ "", // Español
-+ "", // Greek
-+ "", // Svenska
-+ "", // Romaneste
-+ "", // Magyar
-+ "", // Català
-+#if VDRVERSNUM > 10302
-+ "", // Russian
-+#if VDRVERSNUM > 10307
-+ "", // Hrvatski
-+#if VDRVERSNUM > 10313
-+ "", // Eesti
-+#if VDRVERSNUM > 10316
-+ "", // Dansk
-+#endif
-+#endif
-+#endif
-+#endif
-+ },
-+ { "Setup.Replay$Play&Jump",
-+ "Sprung bei Schnittmarke",
-+ "", // Slovenski
-+ "", // Italiano
-+ "", // Nederlands
-+ "", // Português
-+ "", // Français
-+ "", // Norsk
-+ "", // Suomi
-+ "", // Polski
-+ "", // Español
-+ "", // Greek
-+ "", // Svenska
-+ "", // Romaneste
-+ "", // Magyar
-+ "", // Català
-+#if VDRVERSNUM > 10302
-+ "", // Russian
-+#if VDRVERSNUM > 10307
-+ "", // Hrvatski
-+#if VDRVERSNUM > 10313
-+ "", // Eesti
-+#if VDRVERSNUM > 10316
-+ "", // Dansk
-+#endif
-+#endif
-+#endif
-+#endif
-+ },
-+ { "Setup.Replay$Load marks interval (s)",
-+ "Intervall für Laden der Marken (s)",
-+ "", // Slovenski
-+ "", // Italiano
-+ "", // Nederlands
-+ "", // Português
-+ "", // Français
-+ "", // Norsk
-+ "", // Suomi
-+ "", // Polski
-+ "", // Español
-+ "", // Greek
-+ "", // Svenska
-+ "", // Romaneste
-+ "", // Magyar
-+ "", // Català
-+#if VDRVERSNUM > 10302
-+ "", // Russian
-+#if VDRVERSNUM > 10307
-+ "", // Hrvatski
-+#if VDRVERSNUM > 10313
-+ "", // Eesti
-+#if VDRVERSNUM > 10316
-+ "", // Dansk
-+#endif
-+#endif
-+#endif
-+#endif
-+ },
- { "Setup.Miscellaneous$Min. event timeout (min)",
- "Mindest Event Pause (min)",
- "Najmanjsi cas dogodka (min)",
-diff -Naur vdr-1.3.29/menu.c vdr-1.3.29-jumpplay-0.6/menu.c
---- vdr-1.3.29/menu.c 2005-08-14 17:14:29.000000000 +0200
-+++ vdr-1.3.29-jumpplay-0.6/menu.c 2005-08-15 21:43:15.000000000 +0200
-@@ -2259,6 +2259,9 @@
- Add(new cMenuEditBoolItem(tr("Setup.Replay$Multi speed mode"), &data.MultiSpeedMode));
- Add(new cMenuEditBoolItem(tr("Setup.Replay$Show replay mode"), &data.ShowReplayMode));
- Add(new cMenuEditIntItem(tr("Setup.Replay$Resume ID"), &data.ResumeID, 0, 99));
-+ Add(new cMenuEditBoolItem(tr("Setup.Replay$Jump&Play"), &data.JumpPlay));
-+ Add(new cMenuEditBoolItem(tr("Setup.Replay$Play&Jump"), &data.PlayJump));
-+ Add(new cMenuEditIntItem(tr("Setup.Replay$Load marks interval (s)"), &data.LoadMarksInterval));
- }
-
- // --- cMenuSetupMisc --------------------------------------------------------
-@@ -3361,7 +3364,7 @@
- char *cReplayControl::title = NULL;
-
- cReplayControl::cReplayControl(void)
--:cDvbPlayerControl(fileName)
-+:cDvbPlayerControl(fileName, &marks)
- {
- displayReplay = NULL;
- visible = modeOnly = shown = displayFrames = false;
-@@ -3371,6 +3374,7 @@
- timeoutShow = 0;
- timeSearchActive = false;
- marks.Load(fileName);
-+ lastLoadMarks = time(NULL);
- cRecording Recording(fileName);
- cStatus::MsgReplaying(this, Recording.Name());
- }
-@@ -3587,8 +3591,10 @@
- ShowTimed(2);
- bool Play, Forward;
- int Speed;
-- if (GetReplayMode(Play, Forward, Speed) && !Play)
-+ if (GetReplayMode(Play, Forward, Speed) && !Play) {
- Goto(Current, true);
-+ displayFrames = true;
-+ }
- }
- marks.Save();
- }
-@@ -3601,8 +3607,17 @@
- if (GetIndex(Current, Total)) {
- cMark *m = Forward ? marks.GetNext(Current) : marks.GetPrev(Current);
- if (m) {
-- Goto(m->position, true);
-- displayFrames = true;
-+ bool Play2, Forward2;
-+ int Speed;
-+ if (Setup.JumpPlay && GetReplayMode(Play2, Forward2, Speed) &&
-+ Play2 && Forward && m->position < Total - SecondsToFrames(3)) {
-+ Goto(m->position);
-+ Play();
-+ }
-+ else {
-+ Goto(m->position, true);
-+ displayFrames = true;
-+ }
- }
- }
- }
-@@ -3657,7 +3672,7 @@
- if (!m)
- m = marks.GetNext(Current);
- if (m) {
-- if ((m->Index() & 0x01) != 0)
-+ if ((m->Index() & 0x01) != 0 && !Setup.PlayJump)
- m = marks.Next(m);
- if (m) {
- Goto(m->position - SecondsToFrames(3));
-@@ -3671,6 +3686,11 @@
- {
- if (!Active())
- return osEnd;
-+ if (Setup.LoadMarksInterval &&
-+ time(NULL) >= lastLoadMarks + Setup.LoadMarksInterval) {
-+ marks.Load(fileName, true);
-+ lastLoadMarks = time(NULL);
-+ }
- if (visible) {
- if (timeoutShow && time(NULL) > timeoutShow) {
- Hide();
-diff -Naur vdr-1.3.29/menu.h vdr-1.3.29-jumpplay-0.6/menu.h
---- vdr-1.3.29/menu.h 2005-05-15 16:34:54.000000000 +0200
-+++ vdr-1.3.29-jumpplay-0.6/menu.h 2005-08-15 20:02:01.000000000 +0200
-@@ -187,6 +187,7 @@
- bool lastPlay, lastForward;
- int lastSpeed;
- time_t timeoutShow;
-+ time_t lastLoadMarks;
- bool timeSearchActive, timeSearchHide;
- int timeSearchTime, timeSearchPos;
- void TimeSearchDisplay(void);
-diff -Naur vdr-1.3.29/recording.c vdr-1.3.29-jumpplay-0.6/recording.c
---- vdr-1.3.29/recording.c 2005-08-13 16:00:48.000000000 +0200
-+++ vdr-1.3.29-jumpplay-0.6/recording.c 2005-08-15 20:02:01.000000000 +0200
-@@ -833,9 +833,10 @@
-
- // --- cMarks ----------------------------------------------------------------
-
--bool cMarks::Load(const char *RecordingFileName)
-+bool cMarks::Load(const char *RecordingFileName, bool SupressMessage)
- {
-- if (cConfig<cMark>::Load(AddDirectory(RecordingFileName, MARKSFILESUFFIX))) {
-+ if (cConfig<cMark>::Load(AddDirectory(RecordingFileName, MARKSFILESUFFIX),
-+ false, false, SupressMessage)) {
- Sort();
- return true;
- }
-diff -Naur vdr-1.3.29/recording.h vdr-1.3.29-jumpplay-0.6/recording.h
---- vdr-1.3.29/recording.h 2005-08-13 16:09:50.000000000 +0200
-+++ vdr-1.3.29-jumpplay-0.6/recording.h 2005-08-15 20:02:01.000000000 +0200
-@@ -118,7 +118,7 @@
-
- class cMarks : public cConfig<cMark> {
- public:
-- bool Load(const char *RecordingFileName);
-+ bool Load(const char *RecordingFileName,bool SupressMessage = false);
- void Sort(void);
- cMark *Add(int Position);
- cMark *Get(int Position);
Added: vdr/vdr/trunk/debian/patches/opt-24_jumpplay-0.7.dpatch
===================================================================
--- vdr/vdr/trunk/debian/patches/opt-24_jumpplay-0.7.dpatch 2006-04-17 16:24:39 UTC (rev 2418)
+++ vdr/vdr/trunk/debian/patches/opt-24_jumpplay-0.7.dpatch 2006-04-17 23:58:18 UTC (rev 2419)
@@ -0,0 +1,521 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## opt-24_jumpplay-0.7.dpatch by Torsten Kunkel <vdr at tkunkel.de>, Thomas Günther <tom at toms-cafe.de>
+## http://toms-cafe.de/vdr/download/vdr-jumpplay-0.7-1.3.46.diff (applicable to VDR >= 1.3.29)
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Play after jump to next mark. Automatically jump over commercial breaks.
+## DP: See README.jumpplay for details.
+
+ at DPATCH@
+diff -Naur vdr-1.3.46/README.jumpplay vdr-1.3.46-jumpplay-0.7/README.jumpplay
+--- vdr-1.3.46/README.jumpplay 1970-01-01 01:00:00.000000000 +0100
++++ vdr-1.3.46-jumpplay-0.7/README.jumpplay 2006-04-14 15:27:59.000000000 +0200
+@@ -0,0 +1,96 @@
++JumpPlay patch for VDR
++----------------------
++
++This patch changes the replay behaviour for recordings that contain editing
++marks. It allows to immediately continue the replay after jumping forward to
++the next mark, and to automatically jump over the commercial break to the next
++"start" mark, if an "end" mark is reached.
++
++The features of this patch can be turned on or off with the following entries
++in the replay setup.
++
++
++* Parameters in the "Setup" menu "Replay"
++
++ Jump&Play = yes|no Turns playing on or off after jumping forward to the
++ next editing mark with the '9' key.
++
++ Play&Jump = yes|no Turns automatic jumping over commercial breaks on or
++ off. This includes jumping to the first mark, if the
++ replay starts at the beginning of a recording - and
++ stopping the replay at the last mark.
++ With this setting enabled, the behaviour of the '8'
++ key during replay is changed too. It moves the actual
++ replay position not only three seconds before the
++ next "start" mark, but also before the next "end"
++ mark. This can be used to test, if the editing marks
++ are correctly positioned for a "smooth" jump over a
++ commercial break.
++
++ Load marks interval (s) = 0
++ Set the load marks interval in seconds. This can be
++ used if an external programme adjusts the cutting
++ marks, e.g. noad in online mode.
++ A value of '0' disables the cyclic reloading of
++ cutting marks.
++
++
++* History
++
++ 2003-07-04: jumpandrun.diff - the Noad <theNoad at SoftHome.net>
++ Jump&Play
++
++ 2003-12-06: Version 0.0 - Torsten Kunkel <vdr at tkunkel.de>
++ Play&Jump (only if progressbar is visible)
++ Setup parameters Jump&Play and Play&Jump in the replay setup
++
++ 2004-01-20: Version 0.1 - Thomas Günther <tom at toms-cafe.de>
++ Jump&Play:
++ - fixed speed after jump
++ - fixed removing of marks
++ Play&Jump:
++ - jump only on "end" marks
++
++ 2004-01-27: Version 0.2 - Thomas Günther <tom at toms-cafe.de>
++ Jump&Play:
++ - fixed double jump
++ Play&Jump:
++ - fixed mark detection: fuzzy detection (until 3 seconds after mark)
++ - jump without progressbar
++ - mode "progressbar only" for old behaviour
++
++ 2004-01-31: Version 0.3 - Thomas Günther <tom at toms-cafe.de>
++ Jump&Play:
++ - fixed display frames
++ Play&Jump:
++ - fixed end of playing at last mark
++
++ 2004-07-11: Version 0.4 - Thomas Günther <tom at toms-cafe.de>
++ Jump&Play:
++ - don't play after jump to end
++ Play&Jump:
++ - don't prevent jumping after hide or show
++ Less conflicts with other patches (Elchi/AutoPID)
++
++ 2004-08-21: Version 0.5 - Thomas Günther <tom at toms-cafe.de>
++ Play&Jump:
++ - exact jumps, replay like edited recording (no fuzzy mark detection)
++ - jump to first mark if replay starts at the beginning
++ - check jump marks with '8' key
++ - mode "progressbar only" removed
++ Description in README.jumpplay
++
++ 2004-12-28: Version 0.6 - Thomas Günther <tom at toms-cafe.de>
++ Adapted noad extensions (from the Noad <theNoad at SoftHome.net>) to
++ jumpplay-0.5:
++ - cyclic reloading of marks found by noad online-scan
++ - don't stop after the last mark in case of live-recordings
++ New setup parameter "Load marks interval (s)"
++ Updated description in README.jumpplay
++
++ 2006-04-14: Version 0.7 - Thomas Günther <tom at toms-cafe.de>
++ Fixed jump to first mark (crashed with plugin extrecmenu-0.9)
++ Added version define JUMPPLAYVERSNUM
++ Added placeholders for Czech language texts
++ Cleaned up i18n entries (support only VDR >= 1.3.29)
++ Improved description of i18n placeholders - hoping for real language texts
+diff -Naur vdr-1.3.46/config.c vdr-1.3.46-jumpplay-0.7/config.c
+--- vdr-1.3.46/config.c 2006-04-09 14:12:01.000000000 +0200
++++ vdr-1.3.46-jumpplay-0.7/config.c 2006-04-14 14:32:01.000000000 +0200
+@@ -268,6 +268,9 @@
+ MultiSpeedMode = 0;
+ ShowReplayMode = 0;
+ ResumeID = 0;
++ JumpPlay = 0;
++ PlayJump = 0;
++ LoadMarksInterval = 0;
+ CurrentChannel = -1;
+ CurrentVolume = MAXVOLUME;
+ CurrentDolby = 0;
+@@ -429,6 +432,9 @@
+ else if (!strcasecmp(Name, "MultiSpeedMode")) MultiSpeedMode = atoi(Value);
+ else if (!strcasecmp(Name, "ShowReplayMode")) ShowReplayMode = atoi(Value);
+ else if (!strcasecmp(Name, "ResumeID")) ResumeID = atoi(Value);
++ else if (!strcasecmp(Name, "JumpPlay")) JumpPlay = atoi(Value);
++ else if (!strcasecmp(Name, "PlayJump")) PlayJump = atoi(Value);
++ else if (!strcasecmp(Name, "LoadMarksInterval")) LoadMarksInterval = atoi(Value);
+ else if (!strcasecmp(Name, "CurrentChannel")) CurrentChannel = atoi(Value);
+ else if (!strcasecmp(Name, "CurrentVolume")) CurrentVolume = atoi(Value);
+ else if (!strcasecmp(Name, "CurrentDolby")) CurrentDolby = atoi(Value);
+@@ -497,6 +503,9 @@
+ Store("MultiSpeedMode", MultiSpeedMode);
+ Store("ShowReplayMode", ShowReplayMode);
+ Store("ResumeID", ResumeID);
++ Store("JumpPlay", JumpPlay);
++ Store("PlayJump", PlayJump);
++ Store("LoadMarksInterval", LoadMarksInterval);
+ Store("CurrentChannel", CurrentChannel);
+ Store("CurrentVolume", CurrentVolume);
+ Store("CurrentDolby", CurrentDolby);
+diff -Naur vdr-1.3.46/config.h vdr-1.3.46-jumpplay-0.7/config.h
+--- vdr-1.3.46/config.h 2006-04-09 14:09:05.000000000 +0200
++++ vdr-1.3.46-jumpplay-0.7/config.h 2006-04-14 14:32:01.000000000 +0200
+@@ -22,6 +22,8 @@
+ #define VDRVERSION "1.3.46"
+ #define VDRVERSNUM 10346 // Version * 10000 + Major * 100 + Minor
+
++#define JUMPPLAYVERSNUM 7
++
+ #define MAXPRIORITY 99
+ #define MAXLIFETIME 99
+
+@@ -75,7 +77,7 @@
+ cConfig(void) { fileName = NULL; }
+ virtual ~cConfig() { free(fileName); }
+ const char *FileName(void) { return fileName; }
+- bool Load(const char *FileName = NULL, bool AllowComments = false, bool MustExist = false)
++ bool Load(const char *FileName = NULL, bool AllowComments = false, bool MustExist = false, bool SupressMessage = false)
+ {
+ cConfig<T>::Clear();
+ if (FileName) {
+@@ -85,7 +87,8 @@
+ }
+ bool result = !MustExist;
+ if (fileName && access(fileName, F_OK) == 0) {
+- isyslog("loading %s", fileName);
++ if (!SupressMessage)
++ isyslog("loading %s", fileName);
+ FILE *f = fopen(fileName, "r");
+ if (f) {
+ char *s;
+@@ -234,6 +237,9 @@
+ int MultiSpeedMode;
+ int ShowReplayMode;
+ int ResumeID;
++ int JumpPlay;
++ int PlayJump;
++ int LoadMarksInterval;
+ int CurrentChannel;
+ int CurrentVolume;
+ int CurrentDolby;
+diff -Naur vdr-1.3.46/dvbplayer.c vdr-1.3.46-jumpplay-0.7/dvbplayer.c
+--- vdr-1.3.46/dvbplayer.c 2006-04-09 15:47:11.000000000 +0200
++++ vdr-1.3.46-jumpplay-0.7/dvbplayer.c 2006-04-14 14:32:01.000000000 +0200
+@@ -193,6 +193,7 @@
+ cNonBlockingFileReader *nonBlockingFileReader;
+ cRingBufferFrame *ringBuffer;
+ cBackTrace *backTrace;
++ cMarks *marks;
+ cFileName *fileName;
+ cIndexFile *index;
+ cUnbufferedFile *replayFile;
+@@ -213,7 +214,7 @@
+ virtual void Activate(bool On);
+ virtual void Action(void);
+ public:
+- cDvbPlayer(const char *FileName);
++ cDvbPlayer(const char *FileName, cMarks *Marks = NULL);
+ virtual ~cDvbPlayer();
+ bool Active(void) { return cThread::Running(); }
+ void Pause(void);
+@@ -233,7 +234,7 @@
+ #define SPEED_MULT 12 // the speed multiplier
+ int cDvbPlayer::Speeds[] = { 0, -2, -4, -8, 1, 2, 4, 12, 0 };
+
+-cDvbPlayer::cDvbPlayer(const char *FileName)
++cDvbPlayer::cDvbPlayer(const char *FileName, cMarks *Marks)
+ :cThread("dvbplayer")
+ {
+ nonBlockingFileReader = NULL;
+@@ -263,6 +264,7 @@
+ index = NULL;
+ }
+ backTrace = new cBackTrace;
++ marks = Marks;
+ }
+
+ cDvbPlayer::~cDvbPlayer()
+@@ -368,11 +370,25 @@
+ uchar *b = NULL;
+ uchar *p = NULL;
+ int pc = 0;
++ bool cutIn = false;
++ int total = -1;
+
+ readIndex = Resume();
+ if (readIndex >= 0)
+ isyslog("resuming replay at index %d (%s)", readIndex, *IndexToHMSF(readIndex, true));
+
++ if (Setup.PlayJump && marks && readIndex <= 0 && marks->First() && index) {
++ int Index = marks->First()->position;
++ uchar FileNumber;
++ int FileOffset;
++ if (index->Get(Index, &FileNumber, &FileOffset) &&
++ NextFile(FileNumber, FileOffset)) {
++ isyslog("PlayJump: start replay at first mark %d (%s)",
++ Index, *IndexToHMSF(Index, true));
++ readIndex = Index;
++ }
++ }
++
+ nonBlockingFileReader = new cNonBlockingFileReader;
+ int Length = 0;
+ bool Sleep = false;
+@@ -430,6 +446,36 @@
+ uchar FileNumber;
+ int FileOffset;
+ readIndex++;
++ if (Setup.PlayJump && marks) {
++ // check for end mark - jump to next start mark
++ cMark *m = marks->Get(readIndex);
++ if (m && (m->Index() & 0x01) != 0) {
++ m = marks->Next(m);
++ int Index;
++ if (m)
++ Index = m->position;
++ else if (total == index->Last())
++ // on last mark jump to end of recording
++ Index = index->Last() - 1;
++ else
++ // jump but stay off end of live-recordings
++ Index = index->GetNextIFrame(index->Last() - 150, true);
++ // don't jump in edited recordings
++ if (Index > readIndex &&
++ Index > index->GetNextIFrame(readIndex, true)) {
++ isyslog("PlayJump: %d frames to %d (%s)",
++ Index - readIndex, Index,
++ *IndexToHMSF(Index, true));
++ readIndex = Index;
++ cutIn = true;
++ }
++ }
++ }
++ // for detecting growing length of live-recordings
++ uchar PictureType;
++ if (index->Get(readIndex, &FileNumber, &FileOffset, &PictureType) &&
++ PictureType == I_FRAME)
++ total = index->Last();
+ if (!(index->Get(readIndex, &FileNumber, &FileOffset, NULL, &Length) && NextFile(FileNumber, FileOffset))) {
+ readIndex = -1;
+ eof = true;
+@@ -465,6 +511,10 @@
+ // Store the frame in the buffer:
+
+ if (readFrame) {
++ if (cutIn) {
++ cRemux::SetBrokenLink(readFrame->Data(), readFrame->Count());
++ cutIn = false;
++ }
+ if (ringBuffer->Put(readFrame))
+ readFrame = NULL;
+ }
+@@ -760,6 +810,11 @@
+ {
+ }
+
++cDvbPlayerControl::cDvbPlayerControl(const char *FileName, cMarks *Marks)
++:cControl(player = new cDvbPlayer(FileName, Marks))
++{
++}
++
+ cDvbPlayerControl::~cDvbPlayerControl()
+ {
+ Stop();
+diff -Naur vdr-1.3.46/dvbplayer.h vdr-1.3.46-jumpplay-0.7/dvbplayer.h
+--- vdr-1.3.46/dvbplayer.h 2002-06-23 12:13:51.000000000 +0200
++++ vdr-1.3.46-jumpplay-0.7/dvbplayer.h 2006-04-14 14:32:01.000000000 +0200
+@@ -20,6 +20,7 @@
+ cDvbPlayer *player;
+ public:
+ cDvbPlayerControl(const char *FileName);
++ cDvbPlayerControl(const char *FileName, cMarks *Marks);
+ // Sets up a player for the given file.
+ virtual ~cDvbPlayerControl();
+ bool Active(void);
+diff -Naur vdr-1.3.46/i18n.c vdr-1.3.46-jumpplay-0.7/i18n.c
+--- vdr-1.3.46/i18n.c 2006-04-09 15:04:50.000000000 +0200
++++ vdr-1.3.46-jumpplay-0.7/i18n.c 2006-04-14 15:18:17.000000000 +0200
+@@ -4316,6 +4316,78 @@
+ "Genoptagelses ID",
+ "ID obnovení",
+ },
++ { "Setup.Replay$Jump&Play", // English
++ "Wiedergabe nach Sprung", // Deutsch / German
++ "", // Slovenski / Slovenian
++ "", // Italiano / Italian
++ "", // Nederlands / Dutch
++ "", // Português / Portuguese
++ "", // Français / French
++ "", // Norsk / Norwegian
++ "", // suomi / Finnish
++ "", // Polski / Polish
++ "", // Español / Spanish
++ "", // ÅëëçíéêÜ / Greek
++ "", // Svenska / Swedish
++ "", // Românã / Romanian
++ "", // Magyar / Hungarian
++ "", // Català / Catalanian
++ "", // ÀãááÚØÙ / Russian
++ "", // Hrvatski / Croatian
++ "", // Eesti / Estonian
++ "", // Dansk / Danish
++#if VDRVERSNUM >= 10342
++ "", // Èesky / Czech
++#endif
++ },
++ { "Setup.Replay$Play&Jump", // English
++ "Sprung bei Schnittmarke", // Deutsch / German
++ "", // Slovenski / Slovenian
++ "", // Italiano / Italian
++ "", // Nederlands / Dutch
++ "", // Português / Portuguese
++ "", // Français / French
++ "", // Norsk / Norwegian
++ "", // suomi / Finnish
++ "", // Polski / Polish
++ "", // Español / Spanish
++ "", // ÅëëçíéêÜ / Greek
++ "", // Svenska / Swedish
++ "", // Românã / Romanian
++ "", // Magyar / Hungarian
++ "", // Català / Catalanian
++ "", // ÀãááÚØÙ / Russian
++ "", // Hrvatski / Croatian
++ "", // Eesti / Estonian
++ "", // Dansk / Danish
++#if VDRVERSNUM >= 10342
++ "", // Èesky / Czech
++#endif
++ },
++ { "Setup.Replay$Load marks interval (s)", // English
++ "Intervall für Laden der Marken (s)", // Deutsch / German
++ "", // Slovenski / Slovenian
++ "", // Italiano / Italian
++ "", // Nederlands / Dutch
++ "", // Português / Portuguese
++ "", // Français / French
++ "", // Norsk / Norwegian
++ "", // suomi / Finnish
++ "", // Polski / Polish
++ "", // Español / Spanish
++ "", // ÅëëçíéêÜ / Greek
++ "", // Svenska / Swedish
++ "", // Românã / Romanian
++ "", // Magyar / Hungarian
++ "", // Català / Catalanian
++ "", // ÀãááÚØÙ / Russian
++ "", // Hrvatski / Croatian
++ "", // Eesti / Estonian
++ "", // Dansk / Danish
++#if VDRVERSNUM >= 10342
++ "", // Èesky / Czech
++#endif
++ },
+ { "Setup.Miscellaneous$Min. event timeout (min)",
+ "Mindest Event Pause (min)",
+ "Najmanj¹i èas dogodka (min)",
+diff -Naur vdr-1.3.46/menu.c vdr-1.3.46-jumpplay-0.7/menu.c
+--- vdr-1.3.46/menu.c 2006-04-09 16:29:24.000000000 +0200
++++ vdr-1.3.46-jumpplay-0.7/menu.c 2006-04-14 14:32:01.000000000 +0200
+@@ -2564,6 +2564,9 @@
+ Add(new cMenuEditBoolItem(tr("Setup.Replay$Multi speed mode"), &data.MultiSpeedMode));
+ Add(new cMenuEditBoolItem(tr("Setup.Replay$Show replay mode"), &data.ShowReplayMode));
+ Add(new cMenuEditIntItem(tr("Setup.Replay$Resume ID"), &data.ResumeID, 0, 99));
++ Add(new cMenuEditBoolItem(tr("Setup.Replay$Jump&Play"), &data.JumpPlay));
++ Add(new cMenuEditBoolItem(tr("Setup.Replay$Play&Jump"), &data.PlayJump));
++ Add(new cMenuEditIntItem(tr("Setup.Replay$Load marks interval (s)"), &data.LoadMarksInterval));
+ }
+
+ void cMenuSetupReplay::Store(void)
+@@ -3776,7 +3779,7 @@
+ char *cReplayControl::title = NULL;
+
+ cReplayControl::cReplayControl(void)
+-:cDvbPlayerControl(fileName)
++:cDvbPlayerControl(fileName, &marks)
+ {
+ displayReplay = NULL;
+ visible = modeOnly = shown = displayFrames = false;
+@@ -3786,6 +3789,7 @@
+ timeoutShow = 0;
+ timeSearchActive = false;
+ marks.Load(fileName);
++ lastLoadMarks = time(NULL);
+ cRecording Recording(fileName);
+ cStatus::MsgReplaying(this, Recording.Name(), Recording.FileName(), true);
+ }
+@@ -4003,8 +4007,10 @@
+ ShowTimed(2);
+ bool Play, Forward;
+ int Speed;
+- if (GetReplayMode(Play, Forward, Speed) && !Play)
++ if (GetReplayMode(Play, Forward, Speed) && !Play) {
+ Goto(Current, true);
++ displayFrames = true;
++ }
+ }
+ marks.Save();
+ }
+@@ -4017,8 +4023,17 @@
+ if (GetIndex(Current, Total)) {
+ cMark *m = Forward ? marks.GetNext(Current) : marks.GetPrev(Current);
+ if (m) {
+- Goto(m->position, true);
+- displayFrames = true;
++ bool Play2, Forward2;
++ int Speed;
++ if (Setup.JumpPlay && GetReplayMode(Play2, Forward2, Speed) &&
++ Play2 && Forward && m->position < Total - SecondsToFrames(3)) {
++ Goto(m->position);
++ Play();
++ }
++ else {
++ Goto(m->position, true);
++ displayFrames = true;
++ }
+ }
+ }
+ }
+@@ -4073,7 +4088,7 @@
+ if (!m)
+ m = marks.GetNext(Current);
+ if (m) {
+- if ((m->Index() & 0x01) != 0)
++ if ((m->Index() & 0x01) != 0 && !Setup.PlayJump)
+ m = marks.Next(m);
+ if (m) {
+ Goto(m->position - SecondsToFrames(3));
+@@ -4095,6 +4110,11 @@
+ {
+ if (!Active())
+ return osEnd;
++ if (Setup.LoadMarksInterval &&
++ time(NULL) >= lastLoadMarks + Setup.LoadMarksInterval) {
++ marks.Load(fileName, true);
++ lastLoadMarks = time(NULL);
++ }
+ if (visible) {
+ if (timeoutShow && time(NULL) > timeoutShow) {
+ Hide();
+diff -Naur vdr-1.3.46/menu.h vdr-1.3.46-jumpplay-0.7/menu.h
+--- vdr-1.3.46/menu.h 2006-03-25 13:15:19.000000000 +0100
++++ vdr-1.3.46-jumpplay-0.7/menu.h 2006-04-14 14:32:01.000000000 +0200
+@@ -227,6 +227,7 @@
+ bool lastPlay, lastForward;
+ int lastSpeed;
+ time_t timeoutShow;
++ time_t lastLoadMarks;
+ bool timeSearchActive, timeSearchHide;
+ int timeSearchTime, timeSearchPos;
+ void TimeSearchDisplay(void);
+diff -Naur vdr-1.3.46/recording.c vdr-1.3.46-jumpplay-0.7/recording.c
+--- vdr-1.3.46/recording.c 2006-04-09 15:49:51.000000000 +0200
++++ vdr-1.3.46-jumpplay-0.7/recording.c 2006-04-14 14:32:01.000000000 +0200
+@@ -1062,9 +1062,10 @@
+
+ // --- cMarks ----------------------------------------------------------------
+
+-bool cMarks::Load(const char *RecordingFileName)
++bool cMarks::Load(const char *RecordingFileName, bool SupressMessage)
+ {
+- if (cConfig<cMark>::Load(AddDirectory(RecordingFileName, MARKSFILESUFFIX))) {
++ if (cConfig<cMark>::Load(AddDirectory(RecordingFileName, MARKSFILESUFFIX),
++ false, false, SupressMessage)) {
+ Sort();
+ return true;
+ }
+diff -Naur vdr-1.3.46/recording.h vdr-1.3.46-jumpplay-0.7/recording.h
+--- vdr-1.3.46/recording.h 2006-04-09 15:47:11.000000000 +0200
++++ vdr-1.3.46-jumpplay-0.7/recording.h 2006-04-14 14:32:01.000000000 +0200
+@@ -154,7 +154,7 @@
+
+ class cMarks : public cConfig<cMark> {
+ public:
+- bool Load(const char *RecordingFileName);
++ bool Load(const char *RecordingFileName,bool SupressMessage = false);
+ void Sort(void);
+ cMark *Add(int Position);
+ cMark *Get(int Position);
More information about the pkg-vdr-dvb-changes
mailing list