diff options
-rw-r--r-- | media_player.c | 61 | ||||
-rw-r--r-- | media_player.h | 78 |
2 files changed, 63 insertions, 76 deletions
diff --git a/media_player.c b/media_player.c index 89d0546e..67ea14da 100644 --- a/media_player.c +++ b/media_player.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: media_player.c,v 1.83 2010-12-09 12:47:18 phintuka Exp $ + * $Id: media_player.c,v 1.84 2010-12-09 13:24:55 phintuka Exp $ * */ @@ -480,6 +480,47 @@ void cPlaylistMenu::Set(bool setCurrentPlaying) #include <vdr/skins.h> +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; + + 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 CloseMenus(void); + 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); +}; + cXinelibPlayer *cXinelibPlayerControl::m_Player = NULL; cMutex cXinelibPlayerControl::m_Lock; @@ -921,6 +962,24 @@ eOSState cDvdMenu::ProcessKey(eKeys Key) // cXinelibDvdPlayerControl // +class cXinelibDvdPlayerControl : public cXinelibPlayerControl +{ + private: + cOsdMenu *m_DvdMenu; + + 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); +}; + cXinelibDvdPlayerControl::~cXinelibDvdPlayerControl() { CloseDvdMenu(); diff --git a/media_player.h b/media_player.h index 90bb1f74..24202d2e 100644 --- a/media_player.h +++ b/media_player.h @@ -4,89 +4,17 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: media_player.h,v 1.20 2010-12-09 12:30:11 phintuka Exp $ + * $Id: media_player.h,v 1.21 2010-12-09 13:24:55 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 cXinelibDvdPlayerControl : public cXinelibPlayerControl -{ - private: - cOsdMenu *m_DvdMenu; - - 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 --------------------------------------------------------- +#include <vdr/player.h> + class cXinelibImagePlayer; class cXinelibImagesControl : public cControl |