]> git.tdb.fi Git - xinema.git/blobdiff - source/xinestream.h
Inform clients of stream title changes
[xinema.git] / source / xinestream.h
index 0b9bbd69462cde16370502a63fe9d4ce6e31611c..c1f27f74aa45542318d40a05e8adb28153b874ea 100644 (file)
@@ -10,6 +10,7 @@ class XineEngine;
 class XineStream
 {
 public:
+       sigc::signal<void, const std::string &> signal_title_changed;
        sigc::signal<void, const Msp::Time::TimeDelta &> signal_duration_changed;
        sigc::signal<void, const Msp::Time::TimeDelta &> signal_position_changed;
 
@@ -17,6 +18,7 @@ private:
        XineEngine &engine;
        xine_stream_t *stream;
        xine_event_queue_t *queue;
+       std::string title;
        Msp::Time::TimeDelta duration;
        Msp::Time::TimeDelta position;
 
@@ -26,13 +28,14 @@ public:
 
        const Msp::Time::TimeDelta &get_duration() const { return duration; }
        const Msp::Time::TimeDelta &get_position() const { return position; }
-       std::string get_title() const;
+       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 &);
 };