From 45a29931cbdce698c2fc03445dfd3cd74ea6600e Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Tue, 4 Dec 2012 10:09:08 +0100 Subject: [PATCH] The '7' and '9' keys now jump to the very beginning or end, respectively, of the recording, even if there is no mark set at that point --- CONTRIBUTORS | 2 ++ HISTORY | 5 ++++- MANUAL | 4 +++- menu.c | 12 ++++++++---- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 1cbe7e08..4f7c0b2e 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2227,6 +2227,8 @@ Andr for suggesting that the primary device should only be avoided for recording if it is an old SD full featured card for his support in using convert/ffmpeg in the pic2mpg script of the 'pictures' plugin + for requesting a way of getting to the very end of an edited recording, since version + 1.7.32 no longer generates a mark at that point Jürgen Schilling for reporting that color buttons were displayed in the recording info menu if it diff --git a/HISTORY b/HISTORY index 2cccde92..0e0ffe6a 100644 --- a/HISTORY +++ b/HISTORY @@ -7334,7 +7334,7 @@ Video Disk Recorder Revision History simply mark a position, but have no effect on the actual cutting process. - When positioned at an offset where two (or more) editing marks are placed on top of each other, the '4' key moves the first one of them to the left, while the '6' - key moves the last one of them to the right. The '7' and '9' key handle multiple + key moves the last one of them to the right. The '7' and '9' keys handle multiple marks at the same place as if it were one single mark. - Modified editing marks are now written to disk whenever the replay progress display gets hidden (thanks to Christoph Haubrich). @@ -7369,3 +7369,6 @@ Video Disk Recorder Revision History - Synchronizing system time to the transponder time is now done using adjtime() in order to avoid discontinuities (suggested by Manuel Reimer). If the time difference is more than 10 seconds, stime() is still used to do the initial sync. +- The '7' and '9' keys now jump to the very beginning or end, respectively, of the + recording, even if there is no mark set at that point (following a request from + Andre Weidemann). diff --git a/MANUAL b/MANUAL index 272659cc..13229b5d 100644 --- a/MANUAL +++ b/MANUAL @@ -365,7 +365,9 @@ Version 1.6 - 4, 6 Move an editing mark back and forward. You need to first jump to an editing mark for this to work. - 7, 9 Jump back and forward between editing marks. Replay goes into still - mode after jumping to a mark. + mode after jumping to a mark. If the current position is at the + first or last mark, or if there are no marks at all, these keys + jump to the very beginning or end, respectively, of the recording. - 8 Positions replay at a point 3 seconds before the current or next "begin" mark and starts replay. - 2 Start the actual cutting process. diff --git a/menu.c b/menu.c index b5a0d250..9c781e62 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 2.65 2012/11/18 13:07:53 kls Exp $ + * $Id: menu.c 2.66 2012/12/04 09:50:39 kls Exp $ */ #include "menu.h" @@ -4749,15 +4749,19 @@ void cReplayControl::MarkToggle(void) void cReplayControl::MarkJump(bool Forward) { - if (marks.Count()) { - int Current, Total; - if (GetIndex(Current, Total)) { + int Current, Total; + if (GetIndex(Current, Total)) { + if (marks.Count()) { cMark *m = Forward ? marks.GetNext(Current) : marks.GetPrev(Current); if (m) { Goto(m->Position(), true); displayFrames = true; + return; } } + // There are either no marks at all, or we already were at the first or last one, + // so jump to the very beginning or end: + Goto(Forward ? Total : 0, true); } }