summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY6
-rw-r--r--menu.c10
2 files changed, 11 insertions, 5 deletions
diff --git a/HISTORY b/HISTORY
index 93e5fd09..905f7f70 100644
--- a/HISTORY
+++ b/HISTORY
@@ -7330,3 +7330,9 @@ Video Disk Recorder Revision History
a recording when actually cutting the recording
+ not doing anything if the editing marks in place would result in the edited
version being the same as the original recording
+- Editing marks can now be placed directly on top of each other, in which case they
+ 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
+ marks at the same place as if it were one single mark.
diff --git a/menu.c b/menu.c
index 7837922f..9ade0376 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.63 2012/11/13 11:23:25 kls Exp $
+ * $Id: menu.c 2.64 2012/11/18 13:00:33 kls Exp $
*/
#include "menu.h"
@@ -4771,12 +4771,12 @@ void cReplayControl::MarkMove(bool Forward)
int p = SkipFrames(Forward ? 1 : -1);
cMark *m2;
if (Forward) {
- if ((m2 = marks.Next(m)) != NULL && m2->Position() <= p)
- return;
+ while ((m2 = marks.Next(m)) != NULL && m2->Position() == m->Position())
+ m = m2;
}
else {
- if ((m2 = marks.Prev(m)) != NULL && m2->Position() >= p)
- return;
+ while ((m2 = marks.Prev(m)) != NULL && m2->Position() == m->Position())
+ m = m2;
}
m->SetPosition(p);
Goto(m->Position(), true);