X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fjukebox.h;h=ea19723451649aa8ad0374b4ad19515318fba065;hb=d17577639d3842baa0e4bf9afcfd2b4a096dd01b;hp=fe17f2e4a58f456338eff200046f577e80f61498;hpb=6cc0f1735a00e8f9eb80ff0c9468fb67205f6d20;p=libs%2Fal.git diff --git a/source/jukebox.h b/source/jukebox.h index fe17f2e..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 Playlist; class SoundDecoder; class Jukebox { public: - sigc::signal signal_track_changed; + sigc::signal signal_track_changed; private: Source source; Streamer streamer; + IO::Seekable *in; SoundDecoder *decoder; - std::list tracks; - std::list::iterator current_track; - bool shuffle; + 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();