1 #ifndef XINEMACONTROL_H_
2 #define XINEMACONTROL_H_
8 class XinemaControl: public QObject
28 PlaybackState playback_state;
36 QStringList audio_channels;
37 QStringList spu_channels;
38 int current_audio_channel;
39 int current_spu_channel;
44 void connect(const QHostAddress &);
45 bool is_connected() const;
47 void list_directory(const QString &);
48 void play_file(const QString &);
50 PlaybackState get_playback_state() const { return playback_state; }
51 const QString &get_title() const { return title; }
52 float get_duration() const { return duration; }
53 float get_position() const { return position; }
54 const QSize &get_video_size() const { return video_size; }
55 float get_framerate() const { return framerate; }
56 const QString &get_video_codec() const { return video_codec; }
57 const QString &get_audio_codec() const { return audio_codec; }
64 const QStringList &get_audio_channels() const { return audio_channels; }
65 const QStringList &get_spu_channels() const { return spu_channels; }
66 void select_audio_channel(int);
67 void select_spu_channel(int);
68 int get_current_audio_channel() const { return current_audio_channel; }
69 int get_current_spu_channel() const { return current_spu_channel; }
74 void directory_started(const QString &);
75 void file_added(const QString &);
76 void subdirectory_added(const QString &);
77 void playback_state_changed(PlaybackState);
78 void title_changed(const QString &);
79 void duration_changed(float);
80 void position_changed(float);
81 void size_changed(const QSize &);
82 void framerate_changed(float);
83 void codecs_changed(const QString &, const QString &);
84 void channels_changed();
85 void current_audio_channel_changed(int);
86 void current_spu_channel_changed(int);
89 void send_request(const QString &);
92 void data_available();
93 void process_reply(const QString &);
94 static int convert_channel(const QString &);
95 static void resize_list(QStringList &, int);