5 #include "../someplayer.h"
7 #include "../trackmetainformation.h"
8 #include "../playlist.h"
9 #include <phonon/MediaObject>
10 #include <phonon/AudioOutput>
11 #include <phonon/VolumeSlider>
17 using SomePlayer::DataObjects::Track;
18 using SomePlayer::DataObjects::TrackMetadata;
19 using SomePlayer::DataObjects::Playlist;
20 using SomePlayer::Storage::Config;
22 namespace SomePlayer {
25 enum PlayerState { PLAYER_STOPPED, PLAYER_PLAYING, PLAYER_PAUSED, PLAYER_LOADING, PLAYER_DONE, PLAYER_ERROR };
27 class Player : public QObject
31 explicit Player(QObject *parent = 0);
33 bool random() {return _random;}
34 bool repeat() {return _repeat;}
35 int volume() {return (int)(_output->volume()*100 + 0.5);}
36 Phonon::MediaObject* mediaObject() {return _player;}
39 void stateChanged (PlayerState);
40 void trackChanged (Track);
41 void tick (int, int); // played | all (seconds)
42 void trackDone(Track);
45 void setTrackId(int id);
52 void setPlaylist(Playlist);
58 void _stateChanged(Phonon::State, Phonon::State);
62 Track _track; // current track (workaround)
67 QStack<int> _prev_history;
69 Phonon::MediaObject *_player;
70 Phonon::AudioOutput *_output;