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"
|
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:
|
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
|