diff -u vdr-1.3.31-org-nackt/config.c vdr-test/config.c --- vdr-1.3.31-org-nackt/config.c 2005-08-13 15:47:08.000000000 +0200 +++ vdr-test/config.c 2005-09-04 18:10:34.000000000 +0200 @@ -263,6 +263,8 @@ TimeTransponder = 0; MarginStart = 2; MarginStop = 10; + JumpSeconds = 60; + JumpSecondsRepeat = 300; AudioLanguages[0] = -1; EPGLanguages[0] = -1; EPGScanTimeout = 5; @@ -421,6 +423,8 @@ else if (!strcasecmp(Name, "TimeTransponder")) TimeTransponder = atoi(Value); else if (!strcasecmp(Name, "MarginStart")) MarginStart = atoi(Value); else if (!strcasecmp(Name, "MarginStop")) MarginStop = atoi(Value); + else if (!strcasecmp(Name, "JumpSeconds")) JumpSeconds = atoi(Value); + else if (!strcasecmp(Name, "JumpSecondsRepeat")) JumpSecondsRepeat = atoi(Value); else if (!strcasecmp(Name, "AudioLanguages")) return ParseLanguages(Value, AudioLanguages); else if (!strcasecmp(Name, "EPGLanguages")) return ParseLanguages(Value, EPGLanguages); else if (!strcasecmp(Name, "EPGScanTimeout")) EPGScanTimeout = atoi(Value); @@ -486,6 +490,8 @@ Store("TimeTransponder", TimeTransponder); Store("MarginStart", MarginStart); Store("MarginStop", MarginStop); + Store("JumpSeconds", JumpSeconds); + Store("JumpSecondsRepeat", JumpSecondsRepeat); StoreLanguages("AudioLanguages", AudioLanguages); StoreLanguages("EPGLanguages", EPGLanguages); Store("EPGScanTimeout", EPGScanTimeout); diff -u vdr-1.3.31-org-nackt/config.h vdr-test/config.h --- vdr-1.3.31-org-nackt/config.h 2005-08-26 14:28:40.000000000 +0200 +++ vdr-test/config.h 2005-09-04 18:11:14.000000000 +0200 @@ -223,6 +223,7 @@ int TimeSource; int TimeTransponder; int MarginStart, MarginStop; + int JumpSeconds, JumpSecondsRepeat; int AudioLanguages[I18nNumLanguages + 1]; int EPGLanguages[I18nNumLanguages + 1]; int EPGScanTimeout; diff -u vdr-1.3.31-org-nackt/i18n.c vdr-test/i18n.c --- vdr-1.3.31-org-nackt/i18n.c 2005-08-26 15:39:07.000000000 +0200 +++ vdr-test/i18n.c 2005-09-04 18:45:56.000000000 +0200 @@ -2989,6 +2989,40 @@ "Kausta nime salvestamine", "Optagelser i foldere", }, + { "Setup.Recording$Jump Seconds", + "Sprungweite in Sekunden", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + }, + { "Setup.Recording$Jump Seconds (repeated)", + "Sprungweite in Sek. (wiederh.)", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + }, { "Setup.EPG$EPG scan timeout (h)", "Zeit bis EPG Scan (h)", "Cas do EPG pregleda (h)", diff -u vdr-1.3.31-org-nackt/menu.c vdr-test/menu.c --- vdr-1.3.31-org-nackt/menu.c 2005-08-27 11:37:23.000000000 +0200 +++ vdr-test/menu.c 2005-09-04 18:45:06.000000000 +0200 @@ -2223,6 +2223,8 @@ 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 cMenuEditIntItem( tr("Setup.Recording$Jump Seconds"), &data.JumpSeconds)); + Add(new cMenuEditIntItem( tr("Setup.Recording$Jump Seconds (Repeat)"), &data.JumpSecondsRepeat)); } // --- cMenuSetupMisc -------------------------------------------------------- @@ -3647,6 +3649,7 @@ shown = ShowProgress(!shown) || shown; } bool DisplayedFrames = displayFrames; + int pkw = 0; displayFrames = false; if (timeSearchActive && Key != kNone) { TimeSearchProcess(Key); @@ -3670,14 +3673,29 @@ case kFastFwd: case kRight: Forward(); break; case kRed: TimeSearch(); break; - case kGreen|k_Repeat: - case kGreen: SkipSeconds(-60); break; - case kYellow|k_Repeat: - case kYellow: SkipSeconds( 60); break; + case kGreen|k_Repeat: + SkipSeconds(-(Setup.JumpSecondsRepeat)); break; + case kGreen: SkipSeconds(-(Setup.JumpSeconds)); break; + case kYellow|k_Repeat: + SkipSeconds(Setup.JumpSecondsRepeat); break; + case kYellow: SkipSeconds(Setup.JumpSeconds); break; case kStop: case kBlue: Hide(); Stop(); return osEnd; + case k1|k_Repeat: + case k1: + displayFrames = true; + pkw = SkipFrames(-1); + Goto(pkw, true); + break; + case k3|k_Repeat: + case k3: + displayFrames = true; + pkw = SkipFrames( 1); + Goto(pkw, true); + break; + default: { DoShowMode = false; switch (Key) {