mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Pressing 'Back' in replay mode brings up 'Recordings' menu
This commit is contained in:
parent
a1a52fe11f
commit
9faf7a51e5
@ -7,6 +7,7 @@ Carsten Koch <Carsten.Koch@icem.de>
|
|||||||
for adding the 'epg2timers' tool (see Tools/epg2timers)
|
for adding the 'epg2timers' tool (see Tools/epg2timers)
|
||||||
for his idea of using multiple disks (and for testing this feature)
|
for his idea of using multiple disks (and for testing this feature)
|
||||||
for implementing the 'new recording' indicator
|
for implementing the 'new recording' indicator
|
||||||
|
for suggesting that the "Back" button in replay mode should bring up the "Recordings" menu
|
||||||
|
|
||||||
Plamen Ganev <pganev@com-it.net>
|
Plamen Ganev <pganev@com-it.net>
|
||||||
for fixing the frequency offset for Hotbird channels
|
for fixing the frequency offset for Hotbird channels
|
||||||
|
5
HISTORY
5
HISTORY
@ -233,3 +233,8 @@ Video Disk Recorder Revision History
|
|||||||
releasing the key stops it.
|
releasing the key stops it.
|
||||||
- The '@' character that marks an "instant recording" can now be turned off
|
- The '@' character that marks an "instant recording" can now be turned off
|
||||||
in the "Setup" menu (thanks to Matthias Schniedermeyer).
|
in the "Setup" menu (thanks to Matthias Schniedermeyer).
|
||||||
|
- Pressing the "Back" button while replaying now stops replaying and brings up
|
||||||
|
the "Recordings" menu (suggested by Carsten Koch). This can be used to easily
|
||||||
|
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.
|
||||||
|
5
MANUAL
5
MANUAL
@ -16,7 +16,7 @@ Video Disk Recorder User's Manual
|
|||||||
Right Next group - - Enable Increment - Search forward
|
Right Next group - - Enable Increment - Search forward
|
||||||
Ok Ch display Select Switch Edit Accept Play Progress disp.
|
Ok Ch display Select Switch Edit Accept Play Progress disp.
|
||||||
Menu Menu on Menu off Menu off Menu off Menu off Menu off Menu on
|
Menu Menu on Menu off Menu off Menu off Menu off Menu off Menu on
|
||||||
Back - Menu off Main menu Main menu Discard Main menu -
|
Back - Menu off Main menu Main menu Discard Main menu Recordings menu
|
||||||
Red - Record Edit Edit - Play -
|
Red - Record Edit Edit - Play -
|
||||||
Green - - New New - - Skip -60s
|
Green - - New New - - Skip -60s
|
||||||
Yellow - - Delete Delete - Delete Skip +60s
|
Yellow - - Delete Delete - Delete Skip +60s
|
||||||
@ -128,6 +128,9 @@ Video Disk Recorder User's Manual
|
|||||||
time and title of the recording, a progress bar and the
|
time and title of the recording, a progress bar and the
|
||||||
current and total time of the recording.
|
current and total time of the recording.
|
||||||
Press "Ok" again to turn off the progress display.
|
Press "Ok" again to turn off the progress display.
|
||||||
|
- Back Stops replaying and brings up the "Recordings" menu. This can be
|
||||||
|
used to easily delete a recording after watching it, or to switch
|
||||||
|
to a different recording.
|
||||||
|
|
||||||
* Programming the Timer
|
* Programming the Timer
|
||||||
|
|
||||||
|
25
menu.c
25
menu.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: menu.c 1.33 2000/10/08 12:44:00 kls Exp $
|
* $Id: menu.c 1.34 2000/10/08 14:50:42 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
@ -13,7 +13,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "recording.h"
|
|
||||||
|
|
||||||
#define MENUTIMEOUT 120 // seconds
|
#define MENUTIMEOUT 120 // seconds
|
||||||
|
|
||||||
@ -996,28 +995,19 @@ void cMenuRecordingItem::Set(void)
|
|||||||
|
|
||||||
// --- cMenuRecordings -------------------------------------------------------
|
// --- cMenuRecordings -------------------------------------------------------
|
||||||
|
|
||||||
class cMenuRecordings : public cOsdMenu {
|
|
||||||
private:
|
|
||||||
cRecordings Recordings;
|
|
||||||
eOSState Play(void);
|
|
||||||
eOSState Del(void);
|
|
||||||
eOSState Summary(void);
|
|
||||||
public:
|
|
||||||
cMenuRecordings(void);
|
|
||||||
virtual eOSState ProcessKey(eKeys Key);
|
|
||||||
};
|
|
||||||
|
|
||||||
cMenuRecordings::cMenuRecordings(void)
|
cMenuRecordings::cMenuRecordings(void)
|
||||||
:cOsdMenu("Recordings", 6, 6)
|
:cOsdMenu("Recordings", 6, 6)
|
||||||
{
|
{
|
||||||
if (Recordings.Load()) {
|
if (Recordings.Load()) {
|
||||||
|
const char *lastReplayed = cReplayControl::LastReplayed();
|
||||||
cRecording *recording = Recordings.First();
|
cRecording *recording = Recordings.First();
|
||||||
while (recording) {
|
while (recording) {
|
||||||
Add(new cMenuRecordingItem(recording));
|
Add(new cMenuRecordingItem(recording), lastReplayed && strcmp(lastReplayed, recording->FileName()) == 0);
|
||||||
recording = Recordings.Next(recording);
|
recording = Recordings.Next(recording);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SetHelp("Play", NULL/*XXX"Resume"*/, "Delete", "Summary");
|
SetHelp("Play", NULL/*XXX"Resume"*/, "Delete", "Summary");
|
||||||
|
Display();
|
||||||
}
|
}
|
||||||
|
|
||||||
eOSState cMenuRecordings::Play(void)
|
eOSState cMenuRecordings::Play(void)
|
||||||
@ -1071,6 +1061,7 @@ eOSState cMenuRecordings::ProcessKey(eKeys Key)
|
|||||||
case kRed: return Play();
|
case kRed: return Play();
|
||||||
case kYellow: return Del();
|
case kYellow: return Del();
|
||||||
case kBlue: return Summary();
|
case kBlue: return Summary();
|
||||||
|
case kMenu: return osEnd;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1364,6 +1355,11 @@ void cReplayControl::SetRecording(const char *FileName, const char *Title)
|
|||||||
title = Title ? strdup(Title) : NULL;
|
title = Title ? strdup(Title) : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *cReplayControl::LastReplayed(void)
|
||||||
|
{
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
|
||||||
void cReplayControl::Show(void)
|
void cReplayControl::Show(void)
|
||||||
{
|
{
|
||||||
if (!visible) {
|
if (!visible) {
|
||||||
@ -1404,6 +1400,7 @@ eOSState cReplayControl::ProcessKey(eKeys Key)
|
|||||||
case kYellow: dvbApi->Skip(60); break;
|
case kYellow: dvbApi->Skip(60); break;
|
||||||
case kMenu: Hide(); return osMenu; // allow direct switching to menu
|
case kMenu: Hide(); return osMenu; // allow direct switching to menu
|
||||||
case kOk: visible ? Hide() : Show(); break;
|
case kOk: visible ? Hide() : Show(); break;
|
||||||
|
case kBack: return osRecordings;
|
||||||
default: return osUnknown;
|
default: return osUnknown;
|
||||||
}
|
}
|
||||||
return osContinue;
|
return osContinue;
|
||||||
|
15
menu.h
15
menu.h
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: menu.h 1.10 2000/09/10 14:42:20 kls Exp $
|
* $Id: menu.h 1.11 2000/10/08 14:36:23 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _MENU_H
|
#ifndef _MENU_H
|
||||||
@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
#include "dvbapi.h"
|
#include "dvbapi.h"
|
||||||
#include "osd.h"
|
#include "osd.h"
|
||||||
|
#include "recording.h"
|
||||||
|
|
||||||
class cMenuMain : public cOsdMenu {
|
class cMenuMain : public cOsdMenu {
|
||||||
private:
|
private:
|
||||||
@ -34,6 +35,17 @@ public:
|
|||||||
virtual eOSState ProcessKey(eKeys Key);
|
virtual eOSState ProcessKey(eKeys Key);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class cMenuRecordings : public cOsdMenu {
|
||||||
|
private:
|
||||||
|
cRecordings Recordings;
|
||||||
|
eOSState Play(void);
|
||||||
|
eOSState Del(void);
|
||||||
|
eOSState Summary(void);
|
||||||
|
public:
|
||||||
|
cMenuRecordings(void);
|
||||||
|
virtual eOSState ProcessKey(eKeys Key);
|
||||||
|
};
|
||||||
|
|
||||||
class cRecordControl {
|
class cRecordControl {
|
||||||
private:
|
private:
|
||||||
cDvbApi *dvbApi;
|
cDvbApi *dvbApi;
|
||||||
@ -72,6 +84,7 @@ public:
|
|||||||
virtual eOSState ProcessKey(eKeys Key);
|
virtual eOSState ProcessKey(eKeys Key);
|
||||||
bool Visible(void) { return visible; }
|
bool Visible(void) { return visible; }
|
||||||
static void SetRecording(const char *FileName, const char *Title);
|
static void SetRecording(const char *FileName, const char *Title);
|
||||||
|
static const char *LastReplayed(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //_MENU_H
|
#endif //_MENU_H
|
||||||
|
7
vdr.c
7
vdr.c
@ -22,7 +22,7 @@
|
|||||||
*
|
*
|
||||||
* The project's page is at http://www.cadsoft.de/people/kls/vdr
|
* The project's page is at http://www.cadsoft.de/people/kls/vdr
|
||||||
*
|
*
|
||||||
* $Id: vdr.c 1.38 2000/10/08 12:24:30 kls Exp $
|
* $Id: vdr.c 1.39 2000/10/08 14:49:25 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
@ -228,6 +228,11 @@ int main(int argc, char *argv[])
|
|||||||
if (!cRecordControls::Start())
|
if (!cRecordControls::Start())
|
||||||
Interface->Error("No free DVB device to record!");
|
Interface->Error("No free DVB device to record!");
|
||||||
break;
|
break;
|
||||||
|
case osRecordings:
|
||||||
|
DELETENULL(Menu);
|
||||||
|
DELETENULL(ReplayControl);
|
||||||
|
Menu = new cMenuRecordings;
|
||||||
|
break;
|
||||||
case osReplay: DELETENULL(Menu);
|
case osReplay: DELETENULL(Menu);
|
||||||
DELETENULL(ReplayControl);
|
DELETENULL(ReplayControl);
|
||||||
ReplayControl = new cReplayControl;
|
ReplayControl = new cReplayControl;
|
||||||
|
Loading…
Reference in New Issue
Block a user