PLAYING
};
+ enum
+ {
+ OFF = -1
+ };
+
private:
QTcpSocket socket;
QByteArray buffer;
QString title;
float duration;
float position;
+ QStringList audio_channels;
+ QStringList spu_channels;
+ int current_audio_channel;
+ int current_spu_channel;
public:
XinemaControl();
void pause();
void stop();
+ const QStringList &get_audio_channels() const { return audio_channels; }
+ const QStringList &get_spu_channels() const { return spu_channels; }
+ void select_audio_channel(int);
+ void select_spu_channel(int);
+ int get_current_audio_channel() const { return current_audio_channel; }
+ int get_current_spu_channel() const { return current_spu_channel; }
+
signals:
void connected();
void disconnected();
void title_changed(const QString &);
void duration_changed(float);
void position_changed(float);
+ void channels_changed();
+ void current_audio_channel_changed(int);
+ void current_spu_channel_changed(int);
private:
void send_request(const QString &);
private slots:
void data_available();
void process_reply(const QString &);
+ static int convert_channel(const QString &);
+ static void resize_list(QStringList &, int);
};
#endif