vdr 2.6.9
cControl Class Referenceabstract

#include <player.h>

Public Member Functions

 cControl (cPlayer *Player, bool Hidden=false)
 
virtual ~cControl ()
 
virtual void Hide (void)=0
 
virtual cOsdObjectGetInfo (void)
 
virtual const cRecordingGetRecording (void)
 
virtual cString GetHeader (void)
 
virtual void ClearEditingMarks (void)
 
void SetPlayer (cPlayer *Player)
 
double FramesPerSecond (void) const
 
bool GetIndex (int &Current, int &Total, bool SnapToIFrame=false) const
 
bool GetFrameNumber (int &Current, int &Total) const
 
bool GetReplayMode (bool &Play, bool &Forward, int &Speed) const
 
- Public Member Functions inherited from cOsdObject
 cOsdObject (bool FastResponse=false)
 
virtual ~cOsdObject ()
 
virtual bool NeedsFastResponse (void)
 
bool IsMenu (void) const
 
virtual void Show (void)
 
virtual eOSState ProcessKey (eKeys Key)
 

Static Public Member Functions

static void Launch (cControl *Control)
 
static void Attach (void)
 
static void Shutdown (void)
 
static cControlControl (bool Hidden=false)
 
static cControlControl (cMutexLock &MutexLock, bool Hidden=false)
 

Protected Attributes

cPlayerplayer
 

Private Attributes

bool attached
 
bool hidden
 

Static Private Attributes

static cControlcontrol = NULL
 
static cMutex mutex
 

Additional Inherited Members

- Protected Member Functions inherited from cOsdObject
void SetNeedsFastResponse (bool NeedsFastResponse)
 

Detailed Description

Definition at line 80 of file player.h.

Constructor & Destructor Documentation

◆ cControl()

cControl::cControl ( cPlayer * Player,
bool Hidden = false )

Definition at line 45 of file player.c.

References attached, hidden, and player.

◆ ~cControl()

cControl::~cControl ( )
virtual

Definition at line 52 of file player.c.

References control.

Member Function Documentation

◆ Attach()

void cControl::Attach ( void )
static

◆ ClearEditingMarks()

virtual void cControl::ClearEditingMarks ( void )
inlinevirtual

Clears any editing marks this player might be showing.

Deletion of the marks themselves is handled separately, calling this function merely tells the player to no longer display the marks, if it has any.

Reimplemented in cReplayControl.

Definition at line 105 of file player.h.

◆ Control() [1/2]

cControl * cControl::Control ( bool Hidden = false)
static

Old version of this function, for backwards compatibility with plugins.

Plugins should be changed to use the new version below, which does proper locking. Use of this function may result in program crashes in case replay is stopped immediately after starting it.

Definition at line 74 of file player.c.

References control, hidden, and mutex.

Referenced by cMenuRecordingEdit::Delete(), cSkinLCARSDisplayMenu::Flush(), Launch(), main(), and cMenuMain::Update().

◆ Control() [2/2]

cControl * cControl::Control ( cMutexLock & MutexLock,
bool Hidden = false )
static

Returns the current replay control (if any) in case it is currently visible.

If Hidden is true, the control will be returned even if it is currently hidden. The given MutexLock must live as long as the replay control is accessed, and must go out of scope as soon as the control is no longer accessed.

Definition at line 81 of file player.c.

References control, hidden, cMutexLock::Lock(), and mutex.

◆ FramesPerSecond()

double cControl::FramesPerSecond ( void ) const
inline

◆ GetFrameNumber()

bool cControl::GetFrameNumber ( int & Current,
int & Total ) const
inline

Definition at line 113 of file player.h.

References cPlayer::GetFrameNumber(), and player.

◆ GetHeader()

cString cControl::GetHeader ( void )
virtual

This can be used by players that don't play a cRecording, but rather do something completely different.

The resulting string may be used by skins as a last resort, in case they want to display the state of the current player. The return value is expected to be a short, single line string. The default implementation returns an empty string.

Reimplemented in cPictureControl.

Definition at line 68 of file player.c.

Referenced by cSkinLCARSDisplayMenu::DrawPlay().

◆ GetIndex()

bool cControl::GetIndex ( int & Current,
int & Total,
bool SnapToIFrame = false ) const
inline

Definition at line 112 of file player.h.

References cPlayer::GetIndex(), and player.

Referenced by cSkinLCARSDisplayMenu::DrawPlay().

◆ GetInfo()

cOsdObject * cControl::GetInfo ( void )
virtual

Returns an OSD object that displays information about the currently played programme.

If no such information is available, NULL will be returned.

Reimplemented in cReplayControl.

Definition at line 58 of file player.c.

Referenced by main().

◆ GetRecording()

const cRecording * cControl::GetRecording ( void )
virtual

Returns the cRecording that is currently being replayed, or NULL if this player is not playing a cRecording.

Reimplemented in cReplayControl.

Definition at line 63 of file player.c.

Referenced by cSkinLCARSDisplayMenu::DrawPlay().

◆ GetReplayMode()

bool cControl::GetReplayMode ( bool & Play,
bool & Forward,
int & Speed ) const
inline

Definition at line 114 of file player.h.

References cPlayer::GetReplayMode(), and player.

◆ Hide()

virtual void cControl::Hide ( void )
pure virtual

Implemented in cPictureControl, cReplayControl, and cTransferControl.

Referenced by main().

◆ Launch()

◆ SetPlayer()

void cControl::SetPlayer ( cPlayer * Player)
inline

◆ Shutdown()

Member Data Documentation

◆ attached

bool cControl::attached
private

Definition at line 84 of file player.h.

Referenced by Attach(), and cControl().

◆ control

cControl * cControl::control = NULL
staticprivate

Definition at line 82 of file player.h.

Referenced by Attach(), Control(), Control(), Launch(), Shutdown(), and ~cControl().

◆ hidden

bool cControl::hidden
private

Definition at line 85 of file player.h.

Referenced by cControl(), Control(), and Control().

◆ mutex

cMutex cControl::mutex
staticprivate

Definition at line 83 of file player.h.

Referenced by Attach(), Control(), Control(), Launch(), and Shutdown().

◆ player

cPlayer* cControl::player
protected

The documentation for this class was generated from the following files: