From 1cb2f0209c6be0720a66c583b145c57f54e71c86 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Mon, 24 Apr 2000 10:36:14 +0200 Subject: [PATCH] Blocking channel selection when recording/replaying --- HISTORY | 2 +- vdr.c | 20 +++++++++----------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/HISTORY b/HISTORY index e080faad..fd025982 100644 --- a/HISTORY +++ b/HISTORY @@ -30,4 +30,4 @@ Video Disk Recorder Revision History - The repeat function for the remote control no longer adapts dynamically to the timing of the RCU (this sometimes caused the repeat function to kick in too early). - +- Channel selection is now blocked when recording or replaying. diff --git a/vdr.c b/vdr.c index 8141fded..f852bf73 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/people/kls/vdr * - * $Id: vdr.c 1.10 2000/04/24 09:45:03 kls Exp $ + * $Id: vdr.c 1.11 2000/04/24 10:33:38 kls Exp $ */ #include @@ -134,20 +134,18 @@ int main(int argc, char *argv[]) // Direct Channel Select (input): case k0: case k1: case k2: case k3: case k4: case k5: case k6: case k7: case k8: case k9: { - if (!DvbApi.Recording()) { + if (!(DvbApi.Recording() || DvbApi.Replaying())) { dcNumber = dcNumber * 10 + key - k0; dcTime = time_ms(); } } // Record/Replay Control: case kBegin: DvbApi.Skip(-INT_MAX); break; - case kRecord: if (!DvbApi.Recording()) { + case kRecord: if (!(DvbApi.Recording() || DvbApi.Replaying())) { cTimer *timer = new cTimer(true); Timers.Add(timer); Timers.Save(); } - else - Interface.Error("Already recording!"); break; case kPause: DvbApi.PauseReplay(); break; case kStop: DELETENULL(ReplayDisplay); @@ -164,12 +162,12 @@ int main(int argc, char *argv[]) break; // Up/Down Channel Select: case kUp: - case kDown: { - int n = CurrentChannel + (key == kUp ? 1 : -1); - cChannel *channel = Channels.Get(n); - if (channel) - channel->Switch(); - } + case kDown: if (!(DvbApi.Recording() || DvbApi.Replaying())) { + int n = CurrentChannel + (key == kUp ? 1 : -1); + cChannel *channel = Channels.Get(n); + if (channel) + channel->Switch(); + } break; // Viewing Control: case kOk: if (ReplayDisplay)