#include <string>
#include <xine.h>
+#include <msp/time/timedelta.h>
class XineEngine;
class XineStream
{
+public:
+ sigc::signal<void, const Msp::Time::TimeDelta &> signal_duration_changed;
+ sigc::signal<void, const Msp::Time::TimeDelta &> signal_position_changed;
+
private:
XineEngine &engine;
xine_stream_t *stream;
xine_event_queue_t *queue;
+ 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; }
+ std::string get_title() const;
+
void play();
void stop();