blob: 94833e00534e7c70dccb0d3ca6f8f0b3b68d260a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
/*
* media_player.h: Media and image players
*
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
* $Id: media_player.h,v 1.17 2009-10-25 20:36:08 phintuka Exp $
*
*/
#ifndef __XINELIB_PLAYER_H
#define __XINELIB_PLAYER_H
#include <vdr/player.h>
#include "config.h"
// --- Media player ---------------------------------------------------------
class cXinelibPlayer;
class cSkinDisplayReplay;
class cPlaylistMenu;
class cXinelibPlayerControl : public cControl
{
private:
static cMutex m_Lock;
static cXinelibPlayer *OpenPlayer(const char *File, bool Queue = false, const char *SubFile = NULL);
protected:
static cXinelibPlayer *m_Player;
cSkinDisplayReplay *m_DisplayReplay;
cPlaylistMenu *m_PlaylistMenu;
void CloseMenus(void);
eMainMenuMode m_Mode;
bool m_ShowModeOnly;
bool m_RandomPlay;
time_t m_AutoShowStart;
int m_CurrentPos;
int m_CurrentLen;
bool m_BlinkState;
cTimeMs lastTime;
int number;
void MsgReplaying(const char *Title, const char *File);
public:
cXinelibPlayerControl(eMainMenuMode Mode, const char *File, const char *SubFile = NULL);
virtual ~cXinelibPlayerControl();
virtual void Show(void);
virtual void Hide(void);
virtual eOSState ProcessKey(eKeys Key);
virtual cOsdObject *GetInfo(void);
static void Close(void);
static bool IsOpen(void) { return m_Player != NULL; };
static void Queue(const char *File);
};
// --- DVD player -----------------------------------------------------------
class cDvdMenu;
class cXinelibDvdPlayerControl : public cXinelibPlayerControl
{
private:
cDvdMenu *m_DvdMenu;
char m_CurrentDVDTitle[63];
void CloseDvdMenu(void);
public:
cXinelibDvdPlayerControl(const char *File) :
cXinelibPlayerControl(ShowFiles, File), m_DvdMenu(NULL)
{}
virtual ~cXinelibDvdPlayerControl();
virtual void Show(void);
virtual void Hide(void);
virtual eOSState ProcessKey(eKeys Key);
};
// --- Image player ---------------------------------------------------------
class cXinelibImagePlayer;
class cXinelibImagesControl : public cControl
{
private:
static cXinelibImagePlayer *m_Player;
static cMutex m_Lock;
cSkinDisplayReplay *m_DisplayReplay;
char **m_Files;
char *m_File;
int m_Index;
int m_Count;
int m_Speed;
int m_LastShowTime;
bool m_ShowModeOnly;
static cXinelibImagePlayer *OpenPlayer(const char *File);
protected:
void Seek(int Rel);
void Delete(void);
public:
cXinelibImagesControl(char **Files, int Index, int Count);
virtual ~cXinelibImagesControl();
virtual void Show(void);
virtual void Hide(void);
virtual eOSState ProcessKey(eKeys Key);
virtual cOsdObject *GetInfo(void);
static void Close(void);
static bool IsOpen(void) { return m_Player != NULL; }
};
#endif // __XINELIB_PLAYER_H
|