summaryrefslogtreecommitdiff
path: root/player.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2002-06-23 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2002-06-23 18:00:00 +0200
commit54d069c95c546d6b12f6effc1af7a0274b7c31e4 (patch)
treea922ce346d13c6262716376a37885db31729947c /player.c
parentf06d2c27fca449148d9d8fac19d81c668744f170 (diff)
downloadvdr-patch-lnbsharing-54d069c95c546d6b12f6effc1af7a0274b7c31e4.tar.gz
vdr-patch-lnbsharing-54d069c95c546d6b12f6effc1af7a0274b7c31e4.tar.bz2
Version 1.1.4vdr-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.
Diffstat (limited to 'player.c')
-rw-r--r--player.c41
1 files changed, 39 insertions, 2 deletions
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;
}