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;
19 using SomePlayer::Storage::Config;
21 namespace SomePlayer {
24 enum PlayerState { PLAYER_STOPPED, PLAYER_PLAYING, PLAYER_PAUSED, PLAYER_LOADING, PLAYER_DONE, PLAYER_ERROR };
26 class Player : public QObject
30 explicit Player(QObject *parent = 0);
32 bool random() {return _random;}
33 bool repeat() {return _repeat;}
34 Phonon::MediaObject* mediaObject() {return _player;}
37 void stateChanged (PlayerState);
38 void trackChanged (Track);
39 void tick (int, int); // played | all (seconds)
40 void trackDone(Track);
43 void setTrackId(int id);
50 void setPlaylist(Playlist);
55 void _stateChanged(Phonon::State, Phonon::State);
59 Track _track; // current track (workaround)
64 QStack<int> _prev_history;
66 Phonon::MediaObject *_player;
67 Phonon::AudioOutput *_output;