diff --git a/CONTRIBUTORS b/CONTRIBUTORS index b42cb267..91c9540e 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -32,6 +32,7 @@ Niels de Carpentier Martin Hammerschmid for suggesting to display the direct channel select input on the OSD + for suggesting to use the "Blue" button in the main menu to resume replay Bastian Guse for writing the FORMATS entry for timers.conf diff --git a/HISTORY b/HISTORY index 52c37e17..fff9674d 100644 --- a/HISTORY +++ b/HISTORY @@ -238,3 +238,5 @@ Video Disk Recorder Revision History delete a recording after watching it, or to switch to a different recording. - The "Recordings" menu now places the cursor on the last replayed recording, if that file still exists. +- The "Blue" button in the "Main" menu can now be used to "Resume" a previously + stopped replay session (suggested by Martin Hammerschmid). diff --git a/MANUAL b/MANUAL index 60f0bb11..96fb861e 100644 --- a/MANUAL +++ b/MANUAL @@ -20,7 +20,7 @@ Video Disk Recorder User's Manual Red - Record Edit Edit - Play - Green - - New New - - Skip -60s Yellow - - Delete Delete - Delete Skip +60s - Blue - - Mark Mark - - Stop + Blue - Resume Mark Mark - - Stop 0..9 Ch select - - - Numeric inp. - - * Navigating through the On Screen Menus @@ -90,7 +90,7 @@ Video Disk Recorder User's Manual * Instant Recording You can start recording the current channel by pressing the "Red" button - in the Main menu. This will create a timer event named "@channelname" that + in the "Main" menu. This will create a timer event named "@channelname" that starts at the current time and records for two hours. If you want to modify the recording time you need to edit the timer. Stop instant recording by pressing the "Menu" button and selecting @@ -101,8 +101,10 @@ Video Disk Recorder User's Manual All recordings are listed in the "Recordings" menu. Browse through the list with the "Up" and "Down" button and press "Ok" (or the "Red" button) to start playback. New recordings are marked with an '*'. - Playback can be stopped via the Main menu by selecting "Stop replaying", + Playback can be stopped via the "Main" menu by selecting "Stop replaying", or by pressing the "Blue" button outside the menu. + A previously stopped playback session can be resumed by pressing the "Blue" + button in the "Main" menu. * Replay Control @@ -178,7 +180,7 @@ Video Disk Recorder User's Manual * Parameters in the "Setup" menu - Select "Setup" from the main menu to enter the setup menu. From there you can + Select "Setup" from the "Main" menu to enter the setup menu. From there you can modify the following system parameters (note that "boolean" values will be displayed as "no" and "yes" in the "Setup" menu, while in the setup file they are stored as '0' and '1', respectively): @@ -206,7 +208,7 @@ Video Disk Recorder User's Manual through long lists). MarkInstantRecord = 1 Defines whether an "instant recording" (started by - pressing the "Red" button in the main menu) will be + pressing the "Red" button in the "Main" menu) will be marked with a '@' character to make it distinguishable from timer recordings in the "Recordings" menu. 0 = instant recordings will not be marked diff --git a/menu.c b/menu.c index d1cfb8b1..ddf95417 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 1.34 2000/10/08 14:50:42 kls Exp $ + * $Id: menu.c 1.35 2000/10/08 15:34:26 kls Exp $ */ #include "menu.h" @@ -1006,7 +1006,7 @@ cMenuRecordings::cMenuRecordings(void) recording = Recordings.Next(recording); } } - SetHelp("Play", NULL/*XXX"Resume"*/, "Delete", "Summary"); + SetHelp("Play", NULL, "Delete", "Summary"); Display(); } @@ -1028,6 +1028,7 @@ eOSState cMenuRecordings::Del(void) //XXX if (!ti->recording) { if (Interface->Confirm("Delete Recording?")) { if (ri->recording->Delete()) { + cReplayControl::ClearLastReplayed(ri->recording->FileName()); cOsdMenu::Del(Current()); Display(); } @@ -1124,7 +1125,7 @@ cMenuMain::cMenuMain(bool Replaying) Add(new cOsdItem(buffer, osStopRecord)); delete buffer; } - SetHelp("Record"); + SetHelp("Record", NULL, NULL, cReplayControl::LastReplayed() ? "Resume" : NULL); Display(); lastActivity = time(NULL); } @@ -1150,6 +1151,9 @@ eOSState cMenuMain::ProcessKey(eKeys Key) case kRed: if (!HasSubMenu()) state = osRecord; break; + case kBlue: if (!HasSubMenu()) + state = osReplay; + break; default: break; } } @@ -1360,6 +1364,14 @@ const char *cReplayControl::LastReplayed(void) return fileName; } +void cReplayControl::ClearLastReplayed(const char *FileName) +{ + if (fileName && FileName && strcmp(fileName, FileName) == 0) { + delete fileName; + fileName = NULL; + } +} + void cReplayControl::Show(void) { if (!visible) { diff --git a/menu.h b/menu.h index b6d5ade1..c36427f1 100644 --- a/menu.h +++ b/menu.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.h 1.11 2000/10/08 14:36:23 kls Exp $ + * $Id: menu.h 1.12 2000/10/08 15:21:52 kls Exp $ */ #ifndef _MENU_H @@ -85,6 +85,7 @@ public: bool Visible(void) { return visible; } static void SetRecording(const char *FileName, const char *Title); static const char *LastReplayed(void); + static void ClearLastReplayed(const char *FileName); }; #endif //_MENU_H