5 #include "../someplayer.h"
7 #include "../trackmetainformation.h"
8 #include "../playlist.h"
9 #include <phonon/MediaObject>
10 #include <phonon/AudioOutput>
16 using SomePlayer::DataObjects::Track;
17 using SomePlayer::DataObjects::TrackMetadata;
18 using SomePlayer::DataObjects::Playlist;
20 namespace SomePlayer {
23 enum PlayerState { PLAYER_STOPPED, PLAYER_PLAYING, PLAYER_PAUSED, PLAYER_LOADING, PLAYER_DONE, PLAYER_ERROR };
25 class Player : public QObject
29 explicit Player(QObject *parent = 0);
31 bool random() {return _random;}
32 bool repeat() {return _repeat;}
33 Phonon::MediaObject* mediaObject() {return _player;}
36 void stateChanged (PlayerState);
37 void trackChanged (Track);
38 void tick (int, int); // played | all (seconds)
39 void trackDone(Track);
42 void setTrackId(int id);
49 void setPlaylist(Playlist);
50 void toggleRandom() {_random = !_random;}
51 void toggleRepeat() {_repeat = !_repeat;}
54 void _stateChanged(Phonon::State, Phonon::State);
58 Track _track; // current track (workaround)
64 Phonon::MediaObject *_player;
65 Phonon::AudioOutput *_output;