Nachdem der JumpPlay-Patch + die binary-skip-Erweiterungen in den vdr eingeflossen sind und das auch hervorragend funktioniert, musste ich bei meinen Tests mit dem core-vdr doch feststellen, das mir einer von den Usability-Sachen doch noch fehlt, ein abgespeckter jumpingseconds-patch.
Mir ist klar, das es nicht unbedingt ein günstiger Zeitpunkt ist, noch was neues einzubringen. Und ich will auch nicht den Veröffentlichungstermin nächstes Wochenende gefährden.
Der Patch ist deshalb so minimal, das davon wohl keine Gefahr ausgehen sollte.
Was soll der Patch erreichen?
1. die Sprungweiten der Tasten Grün/Gelb werden konfigurierbar
2. bei langem Druck auf Grün/Gelb ergiebt sich eine 2. Sprungweite
Prinzipiell verändert der Patch nicht das Verhalten der Tasten Grün/Gelb. Bei einer entsprechenden Einstellung der Werte (beide Werte identisch und auf 60s) kann auch das bisherige Verhalten simuliert werden. Man ist aber insgesamt doch erheblich flexibler bei den möglichen Sprungweiten. Die, die den bisherigen Parameter mit slow (der auf 1/3 lag) vermissen, die können ja den ersten Parameter auf sehr kurz und den zweiten wie bisher belegen.
Warum den Patch überhaupt, obwohl eine ähnliche Funktionalität bereits auf 1/3 existiert?
Bei meinen Fernbediehnungen (one4all), die recht lang sind, ergibt sich leider das Problem, das eine gleichzeitige Bedienung der Wiedergabe-Steuerung inklusive der Farb-Tasten (die liegen im unteren Drittel) und der Ziffern 1/3 (die liegen fast ganz oben) nicht gleichzeitig mit einer Hand möglich ist, nur mit umgreifen oder zweihändig. Beim Editieren von Aufnahmen, wo man sowieso die Zifferntasten braucht, ist das kein Problem. Beim reinen Schauen von Aufnahmen, vorallem im Dunkeln, dann schon.
Hier also der Patch: (er ist ursprünglich nicht von mir, ich habe ihn nur abgespeckt und an vdr-2.1.9 angepasst)
diff -Nur vdr-2.1.9.bak/config.c vdr-2.1.9/config.c
--- vdr-2.1.9.bak/config.c 2015-02-06 11:10:22.000000000 +0100
+++ vdr-2.1.9/config.c 2015-02-09 09:55:18.898481630 +0100
@@ -401,6 +401,8 @@
StandardCompliance = STANDARD_DVB;
MarginStart = 2;
MarginStop = 10;
+ JumpSeconds = 60;
+ JumpSecondsRepeat = 120;
AudioLanguages[0] = -1;
DisplaySubtitles = 0;
SubtitleLanguages[0] = -1;
@@ -620,6 +622,8 @@
else if (!strcasecmp(Name, "StandardCompliance")) StandardCompliance = 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, "DisplaySubtitles")) DisplaySubtitles = atoi(Value);
else if (!strcasecmp(Name, "SubtitleLanguages")) return ParseLanguages(Value, SubtitleLanguages);
@@ -743,6 +747,8 @@
Store("StandardCompliance", StandardCompliance);
Store("MarginStart", MarginStart);
Store("MarginStop", MarginStop);
+ Store("JumpSeconds", JumpSeconds);
+ Store("JumpSecondsRepeat", JumpSecondsRepeat);
StoreLanguages("AudioLanguages", AudioLanguages);
Store("DisplaySubtitles", DisplaySubtitles);
StoreLanguages("SubtitleLanguages", SubtitleLanguages);
diff -Nur vdr-2.1.9.bak/config.h vdr-2.1.9/config.h
--- vdr-2.1.9.bak/config.h 2015-02-06 10:53:50.000000000 +0100
+++ vdr-2.1.9/config.h 2015-02-09 09:55:18.899481604 +0100
@@ -278,6 +278,7 @@
int TimeTransponder;
int StandardCompliance;
int MarginStart, MarginStop;
+ int JumpSeconds, JumpSecondsRepeat;
int AudioLanguages[I18N_MAX_LANGUAGES + 1];
int DisplaySubtitles;
int SubtitleLanguages[I18N_MAX_LANGUAGES + 1];
diff -Nur vdr-2.1.9.bak/menu.c vdr-2.1.9/menu.c
--- vdr-2.1.9.bak/menu.c 2015-02-07 16:56:26.000000000 +0100
+++ vdr-2.1.9/menu.c 2015-02-09 09:55:18.901481553 +0100
@@ -3730,6 +3730,8 @@
Add(new cMenuEditIntItem( tr("Setup.Replay$Initial duration for adaptive skipping (s)"), &data.AdaptiveSkipInitial, 10, 600));
Add(new cMenuEditIntItem( tr("Setup.Replay$Reset timeout for adaptive skipping (s)"), &data.AdaptiveSkipTimeout, 0, 10));
Add(new cMenuEditBoolItem(tr("Setup.Replay$Alternate behavior for adaptive skipping"), &data.AdaptiveSkipAlternate));
+ Add(new cMenuEditIntItem( tr("Setup.Recording$Jump Green/Yellow (s)"), &data.JumpSeconds, 5, 600));
+ Add(new cMenuEditIntItem( tr("Setup.Recording$Jump Repeated Green/Yellow (s)"), &data.JumpSecondsRepeat, 5, 600));
Add(new cMenuEditIntItem(tr("Setup.Replay$Resume ID"), &data.ResumeID, 0, 99));
}
@@ -5583,9 +5585,11 @@
case kRight: Forward(); break;
case kRed: TimeSearch(); break;
case kGreen|k_Repeat:
- case kGreen: SkipSeconds(-60); break;
+ SkipSeconds(-(Setup.JumpSecondsRepeat)); break;
+ case kGreen: SkipSeconds(-(Setup.JumpSeconds)); break;
case kYellow|k_Repeat:
- case kYellow: SkipSeconds( 60); break;
+ SkipSeconds(Setup.JumpSecondsRepeat); break;
+ case kYellow: SkipSeconds(Setup.JumpSeconds); break;
case kStop:
case kBlue: Hide();
Stop();
diff -Nur vdr-2.1.9.bak/po/de_DE.po vdr-2.1.9/po/de_DE.po
--- vdr-2.1.9.bak/po/de_DE.po 2015-02-08 13:07:17.802297004 +0100
+++ vdr-2.1.9/po/de_DE.po 2015-02-09 09:55:18.901481553 +0100
@@ -1551,3 +1551,9 @@
msgid "free"
msgstr "frei"
+
+msgid "Setup.Recording$Jump Green/Yellow (s)"
+msgstr "Sprungweite Grün/Gelb (s)"
+
+msgid "Setup.Recording$Jump Repeated Green/Yellow (s)"
+msgstr "Sprungweite wiederh. Grün/Gelb (s)"
Alles anzeigen
Und hier noch als Datei:
vdr-2.1.9-jumpingseconds.patch.bz2
Grüsse
kamel5