1 #ifndef STREAMCONTROLITEM_H_
2 #define STREAMCONTROLITEM_H_
5 #include "xinemacontrol.h"
7 class XinemaControlItem;
9 class StreamControlItem: public QQuickItem
13 Q_PROPERTY(XinemaControlItem *control READ get_control WRITE set_control NOTIFY control_changed)
14 Q_PROPERTY(PlaybackState playbackState READ get_playback_state WRITE set_playback_state NOTIFY playback_state_changed)
15 Q_PROPERTY(QString title READ get_title NOTIFY title_changed)
16 Q_PROPERTY(float duration READ get_duration NOTIFY duration_changed)
17 Q_PROPERTY(float position READ get_position WRITE set_position NOTIFY position_changed)
18 Q_PROPERTY(QStringList audioChannels READ get_audio_channels NOTIFY channels_changed)
19 Q_PROPERTY(QStringList spuChannels READ get_spu_channels NOTIFY channels_changed)
20 Q_PROPERTY(int currentAudioChannel READ get_current_audio_channel WRITE select_audio_channel NOTIFY current_audio_channel_changed)
21 Q_PROPERTY(int currentSpuChannel READ get_current_spu_channel WRITE select_spu_channel NOTIFY current_spu_channel_changed)
23 Q_ENUMS(PlaybackState)
28 Stopped = XinemaControl::STOPPED,
29 Paused = XinemaControl::PAUSED,
30 Playing = XinemaControl::PLAYING
34 XinemaControlItem *control;
39 void set_control(XinemaControlItem *);
40 XinemaControlItem *get_control() const { return control; }
42 PlaybackState get_playback_state() const;
43 void set_playback_state(PlaybackState);
44 QString get_title() const;
45 float get_duration() const;
46 void set_position(float);
47 float get_position() const;
48 QStringList get_audio_channels() const;
49 QStringList get_spu_channels() const;
50 void select_audio_channel(int);
51 void select_spu_channel(int);
52 int get_current_audio_channel() const;
53 int get_current_spu_channel() const;
56 void control_changed();
57 void playback_state_changed();
59 void duration_changed();
60 void position_changed();
61 void channels_changed();
62 void current_audio_channel_changed();
63 void current_spu_channel_changed();
66 void control_channels_changed();