From 54d069c95c546d6b12f6effc1af7a0274b7c31e4 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 23 Jun 2002 18:00:00 +0200 Subject: Version 1.1.4 - Added Hungarian language texts (thanks to Istvan Koenigsberger and Guido Josten). - Activated cutting. - Activated 'Transfer Mode'. - Moved handling of the Menu key entirely into vdr.c. - Switched VDR's own player to the new cPlayer/cControl structures. - Switched handling 'Transfer Mode' to the new cPlayer/cControl structures. - The following limitations apply to this version: + The '-a' option (for Dolby Digital audio) doesn't work yet. + Switching between different language tracks doesn't work yet. --- player.c | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) (limited to 'player.c') diff --git a/player.c b/player.c index fe0a277..ca182df 100644 --- a/player.c +++ b/player.c @@ -4,10 +4,11 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: player.c 1.1 2002/06/16 10:34:50 kls Exp $ + * $Id: player.c 1.3 2002/06/23 12:56:25 kls Exp $ */ #include "player.h" +#include "i18n.h" // --- cPlayer --------------------------------------------------------------- @@ -46,10 +47,46 @@ void cPlayer::Detach(void) // --- cControl -------------------------------------------------------------- -cControl::cControl(void) +cControl *cControl::control = NULL; + +cControl::cControl(cPlayer *Player, bool Hidden) { + attached = false; + hidden = Hidden; + player = Player; } cControl::~cControl() { + if (this == control) + control = NULL; +} + +cControl *cControl::Control(void) +{ + return (control && !control->hidden) ? control : NULL; +} + +void cControl::Launch(cControl *Control) +{ + delete control; + control = Control; +} + +void cControl::Attach(void) +{ + if (control && !control->attached && control->player && !control->player->IsAttached()) { + if (cDevice::PrimaryDevice()->AttachPlayer(control->player)) + control->attached = true; + else { + Interface->Error(tr("Channel locked (recording)!")); + Shutdown(); + } + } +} + +void cControl::Shutdown(void) +{ + delete control; + control = NULL; } -- cgit v1.2.3