1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Changed the API of the functions cStatus::Recording() and cStatus::Replaying(), so that they can provide the full file name of the recording

This commit is contained in:
Klaus Schmidinger 2005-12-31 15:20:19 +01:00
parent 89df449715
commit 0e6296699e
9 changed files with 45 additions and 33 deletions

View File

@ -1352,6 +1352,8 @@ Andreas Brugger <brougs78@gmx.net>
for reporting the missing Euro sign in iso8859-1 for reporting the missing Euro sign in iso8859-1
for reporting a problem with making changes to timers through SVDRP while they for reporting a problem with making changes to timers through SVDRP while they
are being edited via the menu are being edited via the menu
for suggesting to change the API of the functions cStatus::Recording() and
cStatus::Replaying(), so that they can provide the full file name of the recording
Dino Ravnic <dino.ravnic@fer.hr> Dino Ravnic <dino.ravnic@fer.hr>
for fixing some characters in the iso8859-2 font file for fixing some characters in the iso8859-2 font file

View File

@ -4047,3 +4047,7 @@ Video Disk Recorder Revision History
longer run as user 'root' (unless you explicitly start it with '-u root', longer run as user 'root' (unless you explicitly start it with '-u root',
but this is not recommended!). The 'runvdr' script has been changed to but this is not recommended!). The 'runvdr' script has been changed to
use the '-u' option. use the '-u' option.
- Changed the API of the functions cStatus::Recording() and cStatus::Replaying(),
so that they can provide the full file name of the recording. Plugins that use
these (or the related cStatus::Msg...() functions) need to be adapted
(suggested by Andreas Brugger).

View File

@ -31,3 +31,7 @@ VDR Plugin 'status' Revision History
2002-12-13: Version 0.1.0 2002-12-13: Version 0.1.0
- Changed setting of CXX and CXXFLAGS variables in Makefile. - Changed setting of CXX and CXXFLAGS variables in Makefile.
2005-12-31: Version 0.2.0
- API change in cStatus.

View File

@ -3,13 +3,13 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: status.c 1.7 2002/12/13 15:01:53 kls Exp $ * $Id: status.c 1.8 2005/12/31 15:19:45 kls Exp $
*/ */
#include <vdr/plugin.h> #include <vdr/plugin.h>
#include <vdr/status.h> #include <vdr/status.h>
static const char *VERSION = "0.1.0"; static const char *VERSION = "0.2.0";
static const char *DESCRIPTION = "Status monitor test"; static const char *DESCRIPTION = "Status monitor test";
static const char *MAINMENUENTRY = NULL; static const char *MAINMENUENTRY = NULL;
@ -18,8 +18,8 @@ static const char *MAINMENUENTRY = NULL;
class cStatusTest : public cStatus { class cStatusTest : public cStatus {
protected: protected:
virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber); virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
virtual void Recording(const cDevice *Device, const char *Name); virtual void Recording(const cDevice *Device, const char *Name, const char *FileName, bool On);
virtual void Replaying(const cControl *Control, const char *Name); virtual void Replaying(const cControl *Control, const char *Name, const char *FileName, bool On);
virtual void SetVolume(int Volume, bool Absolute); virtual void SetVolume(int Volume, bool Absolute);
virtual void OsdClear(void); virtual void OsdClear(void);
virtual void OsdTitle(const char *Title); virtual void OsdTitle(const char *Title);
@ -36,14 +36,14 @@ void cStatusTest::ChannelSwitch(const cDevice *Device, int ChannelNumber)
dsyslog("status: cStatusTest::ChannelSwitch %d %d", Device->CardIndex(), ChannelNumber); dsyslog("status: cStatusTest::ChannelSwitch %d %d", Device->CardIndex(), ChannelNumber);
} }
void cStatusTest::Recording(const cDevice *Device, const char *Name) void cStatusTest::Recording(const cDevice *Device, const char *Name, const char *FileName, bool On)
{ {
dsyslog("status: cStatusTest::Recording %d %s", Device->CardIndex(), Name); dsyslog("status: cStatusTest::Recording %d %s %s %d", Device->CardIndex(), Name, FileName, On);
} }
void cStatusTest::Replaying(const cControl *Control, const char *Name) void cStatusTest::Replaying(const cControl *Control, const char *Name, const char *FileName, bool On)
{ {
dsyslog("status: cStatusTest::Replaying %s", Name); dsyslog("status: cStatusTest::Replaying %s %s %d", Name, FileName, On);
} }
void cStatusTest::SetVolume(int Volume, bool Absolute) void cStatusTest::SetVolume(int Volume, bool Absolute)

10
menu.c
View File

@ -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.382 2005/12/28 12:35:54 kls Exp $ * $Id: menu.c 1.383 2005/12/31 15:08:19 kls Exp $
*/ */
#include "menu.h" #include "menu.h"
@ -3293,7 +3293,7 @@ cRecordControl::cRecordControl(cDevice *Device, cTimer *Timer, bool Pause)
recorder = new cRecorder(fileName, ch->Ca(), timer->Priority(), ch->Vpid(), ch->Apids(), ch->Dpids(), ch->Spids()); recorder = new cRecorder(fileName, ch->Ca(), timer->Priority(), ch->Vpid(), ch->Apids(), ch->Dpids(), ch->Spids());
if (device->AttachReceiver(recorder)) { if (device->AttachReceiver(recorder)) {
Recording.WriteInfo(); Recording.WriteInfo();
cStatus::MsgRecording(device, Recording.Name()); cStatus::MsgRecording(device, Recording.Name(), Recording.FileName(), true);
if (!Timer && !cReplayControl::LastReplayed()) // an instant recording, maybe from cRecordControls::PauseLiveVideo() if (!Timer && !cReplayControl::LastReplayed()) // an instant recording, maybe from cRecordControls::PauseLiveVideo()
cReplayControl::SetRecording(fileName, Recording.Name()); cReplayControl::SetRecording(fileName, Recording.Name());
Recordings.AddByName(fileName); Recordings.AddByName(fileName);
@ -3352,7 +3352,7 @@ void cRecordControl::Stop(void)
DELETENULL(recorder); DELETENULL(recorder);
timer->SetRecording(false); timer->SetRecording(false);
timer = NULL; timer = NULL;
cStatus::MsgRecording(device, NULL); cStatus::MsgRecording(device, NULL, fileName, false);
cRecordingUserCommand::InvokeCommand(RUC_AFTERRECORDING, fileName); cRecordingUserCommand::InvokeCommand(RUC_AFTERRECORDING, fileName);
} }
} }
@ -3551,13 +3551,13 @@ cReplayControl::cReplayControl(void)
timeSearchActive = false; timeSearchActive = false;
marks.Load(fileName); marks.Load(fileName);
cRecording Recording(fileName); cRecording Recording(fileName);
cStatus::MsgReplaying(this, Recording.Name()); cStatus::MsgReplaying(this, Recording.Name(), Recording.FileName(), true);
} }
cReplayControl::~cReplayControl() cReplayControl::~cReplayControl()
{ {
Hide(); Hide();
cStatus::MsgReplaying(this, NULL); cStatus::MsgReplaying(this, NULL, fileName, false);
Stop(); Stop();
} }

4
rcu.c
View File

@ -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: rcu.c 1.11 2005/12/16 14:43:37 kls Exp $ * $Id: rcu.c 1.12 2005/12/31 15:09:32 kls Exp $
*/ */
#include "rcu.h" #include "rcu.h"
@ -322,7 +322,7 @@ void cRcuRemote::ChannelSwitch(const cDevice *Device, int ChannelNumber)
SetNumber(cDevice::CurrentChannel()); SetNumber(cDevice::CurrentChannel());
} }
void cRcuRemote::Recording(const cDevice *Device, const char *Name) void cRcuRemote::Recording(const cDevice *Device, const char *Name, const char *FileName, bool On)
{ {
SetPoints(1 << Device->DeviceNumber(), Device->Receiving()); SetPoints(1 << Device->DeviceNumber(), Device->Receiving());
} }

4
rcu.h
View File

@ -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: rcu.h 1.5 2005/12/16 14:21:20 kls Exp $ * $Id: rcu.h 1.6 2005/12/31 15:09:25 kls Exp $
*/ */
#ifndef __RCU_H #ifndef __RCU_H
@ -35,7 +35,7 @@ private:
bool DetectCode(unsigned char *Code); bool DetectCode(unsigned char *Code);
virtual void Action(void); virtual void Action(void);
virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber); virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
virtual void Recording(const cDevice *Device, const char *Name); virtual void Recording(const cDevice *Device, const char *Name, const char *FileName, bool On);
public: public:
cRcuRemote(const char *DeviceName); cRcuRemote(const char *DeviceName);
virtual ~cRcuRemote(); virtual ~cRcuRemote();

View File

@ -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: status.c 1.7 2005/01/09 11:51:04 kls Exp $ * $Id: status.c 1.8 2005/12/31 15:10:10 kls Exp $
*/ */
#include "status.h" #include "status.h"
@ -29,16 +29,16 @@ void cStatus::MsgChannelSwitch(const cDevice *Device, int ChannelNumber)
sm->ChannelSwitch(Device, ChannelNumber); sm->ChannelSwitch(Device, ChannelNumber);
} }
void cStatus::MsgRecording(const cDevice *Device, const char *Name) void cStatus::MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On)
{ {
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->Recording(Device, Name); sm->Recording(Device, Name, FileName, On);
} }
void cStatus::MsgReplaying(const cControl *Control, const char *Name) void cStatus::MsgReplaying(const cControl *Control, const char *Name, const char *FileName, bool On)
{ {
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->Replaying(Control, Name); sm->Replaying(Control, Name, FileName, On);
} }
void cStatus::MsgSetVolume(int Volume, bool Absolute) void cStatus::MsgSetVolume(int Volume, bool Absolute)

View File

@ -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: status.h 1.8 2005/01/09 11:50:21 kls Exp $ * $Id: status.h 1.9 2005/12/31 15:15:25 kls Exp $
*/ */
#ifndef __STATUS_H #ifndef __STATUS_H
@ -24,15 +24,17 @@ protected:
// Indicates a channel switch on the given DVB device. // Indicates a channel switch on the given DVB device.
// If ChannelNumber is 0, this is before the channel is being switched, // If ChannelNumber is 0, this is before the channel is being switched,
// otherwise ChannelNumber is the number of the channel that has been switched to. // otherwise ChannelNumber is the number of the channel that has been switched to.
virtual void Recording(const cDevice *Device, const char *Name) {} virtual void Recording(const cDevice *Device, const char *Name, const char *FileName, bool On) {}
// The given DVB device has started recording Name. Name is the name of the // The given DVB device has started (On = true) or stopped (On = false) recording Name.
// recording, without any directory path. // Name is the name of the recording, without any directory path. The full file name
// If Name is NULL, the recording has ended. // of the recording is given in FileName, which may be NULL in case there is no
virtual void Replaying(const cControl *Control, const char *Name) {} // actual file involved. If On is false, Name may be NULL.
// The given player control has started replaying Name. Name is the name of the virtual void Replaying(const cControl *Control, const char *Name, const char *FileName, bool On) {}
// recording, without any directory path. In case of a player that can't provide // The given player control has started (On = true) or stopped (On = false) replaying Name.
// Name is the name of the recording, without any directory path. In case of a player that can't provide
// a name, Name can be a string that identifies the player type (like, e.g., "DVD"). // a name, Name can be a string that identifies the player type (like, e.g., "DVD").
// If Name is NULL, the replay has ended. // The full file name of the recording is given in FileName, which may be NULL in case there is no
// actual file involved. If On is false, Name may be NULL.
virtual void SetVolume(int Volume, bool Absolute) {} virtual void SetVolume(int Volume, bool Absolute) {}
// The volume has been set to the given value, either // The volume has been set to the given value, either
// absolutely or relative to the current volume. // absolutely or relative to the current volume.
@ -70,8 +72,8 @@ public:
virtual ~cStatus(); virtual ~cStatus();
// These functions are called whenever the related status information changes: // These functions are called whenever the related status information changes:
static void MsgChannelSwitch(const cDevice *Device, int ChannelNumber); static void MsgChannelSwitch(const cDevice *Device, int ChannelNumber);
static void MsgRecording(const cDevice *Device, const char *Name); static void MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On);
static void MsgReplaying(const cControl *Control, const char *Name); static void MsgReplaying(const cControl *Control, const char *Name, const char *FileName, bool On);
static void MsgSetVolume(int Volume, bool Absolute); static void MsgSetVolume(int Volume, bool Absolute);
static void MsgSetAudioTrack(int Index, const char * const *Tracks); static void MsgSetAudioTrack(int Index, const char * const *Tracks);
static void MsgSetAudioChannel(int AudioChannel); static void MsgSetAudioChannel(int AudioChannel);