X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fxinestream.h;h=c1f27f74aa45542318d40a05e8adb28153b874ea;hb=3bd92c1fa7a85b47356cd6f2bad23893955a0785;hp=642f40534da3b8187867f87fa546b4c51c653435;hpb=2077f6b76cb7cd8e4095b4421d2c67c50752d6b7;p=xinema.git diff --git a/source/xinestream.h b/source/xinestream.h index 642f405..c1f27f7 100644 --- a/source/xinestream.h +++ b/source/xinestream.h @@ -3,25 +3,39 @@ #include #include +#include class XineEngine; class XineStream { +public: + sigc::signal signal_title_changed; + sigc::signal signal_duration_changed; + sigc::signal signal_position_changed; + private: XineEngine &engine; xine_stream_t *stream; xine_event_queue_t *queue; + std::string title; + Msp::Time::TimeDelta duration; + Msp::Time::TimeDelta position; public: XineStream(XineEngine &, const std::string &); ~XineStream(); + const Msp::Time::TimeDelta &get_duration() const { return duration; } + const Msp::Time::TimeDelta &get_position() const { return position; } + const std::string &get_title() const { return title; } + void play(); void stop(); void tick(); private: + void check_info(); void handle_event(const xine_event_t &); };