5 #include "../someplayer.h"
7 #include "../trackmetainformation.h"
8 #include "../playlist.h"
9 #include <phonon/MediaObject>
10 #include <phonon/AudioOutput>
15 using SomePlayer::DataObjects::Track;
16 using SomePlayer::DataObjects::TrackMetadata;
17 using SomePlayer::DataObjects::Playlist;
19 namespace SomePlayer {
22 enum PlayerState { PLAYER_STOPPED, PLAYER_PLAYING, PLAYER_PAUSED, PLAYER_LOADING, PLAYER_DONE, PLAYER_ERROR };
24 class Player : public QObject
28 explicit Player(QObject *parent = 0);
30 bool random() {return _random;}
31 bool repeat() {return _repeat;}
32 Phonon::MediaObject* mediaObject() {return _player;}
35 void stateChanged (PlayerState);
36 void trackChanged (Track);
37 void tick (int, int); // played | all (seconds)
40 void setTrackId(int id);
46 void setPlaylist(Playlist);
47 void toggleRandom() {_random = !_random;}
48 void toggleRepeat() {_repeat = !_repeat;}
51 void _stateChanged(Phonon::State, Phonon::State);
59 Phonon::MediaObject *_player;
60 Phonon::AudioOutput *_output;