X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fjukebox.h;h=ea19723451649aa8ad0374b4ad19515318fba065;hb=d71db75062556dc2aea073a33e0e102894b6dfa5;hp=13672953b9325861ce62ec2971a69fe95be1f3ed;hpb=14008b157c64752ba7c1cef831124992c35c4646;p=libs%2Fal.git diff --git a/source/jukebox.h b/source/jukebox.h index 1367295..ea19723 100644 --- a/source/jukebox.h +++ b/source/jukebox.h @@ -4,37 +4,37 @@ #include #include #include +#include #include "source.h" #include "streamer.h" namespace Msp { namespace AL { -class Sound; +class Playlist; +class SoundDecoder; class Jukebox { public: - sigc::signal signal_track_changed; + sigc::signal signal_track_changed; private: Source source; Streamer streamer; - Sound *sound; - std::list tracks; - std::list::iterator current_track; - bool shuffle; + IO::Seekable *in; + SoundDecoder *decoder; + const Playlist *playlist; + unsigned current; public: Jukebox(); ~Jukebox(); Source &get_source() { return source; } - void add_track(const std::string &); - void remove_track(const std::string &); - void clear_tracks(); - const std::string &get_current_track() const; - void set_shuffle(bool); + void set_playlist(const Playlist *); + const Playlist *get_playlist() const { return playlist; } + unsigned get_current_track() const { return current; } void play(); void next();