d47b86aef63e5be42cc40898512bcbe55d289912
Stefan Schuermans first version, plays videos...

Stefan Schuermans authored 13 years ago

1) /* Blinker
2)    Copyright 2011 Stefan Schuermans <stefan@blinkenarea.org>
3)    Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
4)    a blinkenarea.org project */
5) 
6) #ifndef PLAYER_H
7) #define PLAYER_H
8) 
9) #include <list>
10) #include <string>
11) 
12) #include <BlinkenLib/BlinkenMovie.h>
13) 
14) #include "CallMgr.h"
15) #include "Directory.h"
16) #include "File.h"
Stefan Schuermans implemented stream printer...

Stefan Schuermans authored 13 years ago

17) #include "SettingFile.h"
Stefan Schuermans first version, plays videos...

Stefan Schuermans authored 13 years ago

18) #include "StreamMgr.h"
19) #include "Time.h"
20) #include "TimeCallee.h"
21) 
22) namespace Blinker {
23) 
24) /// a movie player
25) class Player: public TimeCallee
26) {
27) protected:
28)   /// playlist entry
29)   struct Entry {
30)     std::string     m_name;    ///< name of playlist entry
31)     File            m_file;    ///< file object (to check for updates)
32)     stBlinkenMovie *m_pMovie;  ///< movie object
33)     Entry(const std::string &name, const File &file); ///< constructor
34)     bool loadMovie(); ///< load movie from current file
35)     void freeMovie(); ///< free current movie
36)   };
37) 
38)   /// playlist
39)   typedef std::list<Entry> Playlist;
40) 
41) public:
42)   /**
43)    * @brief constructor
44)    * @param[in] callMgr callback manager
45)    * @param[in] streamMgr stream manager
46)    * @param[in] dirBase base directory
47)    */
48)   Player(CallMgr &callMgr, StreamMgr &streamMgr, const Directory &dirBase);
49) 
50)   /// virtual destructor
51)   virtual ~Player();
52) 
53) private:
54)   /// copy constructor disabled
55)   Player(const Player & that);
56) 
57)   /// assignment operator disabled
58)   const Player& operator=(const Player &that);
59) 
60) public:
61)   /// callback when requsted time reached
62)   virtual void timeCall();
63) 
64) protected:
65)   /// update playlist
66)   void updatePlaylist();
67) 
68)   /// show current frame
69)   void showFrame();
70) 
71) protected:
Stefan Schuermans implemented stream printer...

Stefan Schuermans authored 13 years ago

72)   CallMgr                  &m_callMgr;      ///< callback manager
73)   StreamMgr                &m_streamMgr;    ///< stream manager
74)   Directory                m_dirBase;       ///< base directory
75)   SettingFile              m_fileOutStream; ///< output stream name file
76)   Directory                m_dirPlaylist;   ///< playlist directory
77)   std::string              m_nameOutStream; ///< name of output stream
78)   Stream                   *m_pOutStream;   ///< output stream
79)   Playlist                 m_playlist;      ///< current playlist
80)   Playlist::const_iterator m_curEntry;      ///< current playlist entry
81)   int                      m_curFrame;      ///< current frame in movie
82)   Time                     m_showTime;      ///< when to show frame