heugh jazz

This commit is contained in:
Dark Steveneq
2025-10-19 02:58:12 +02:00
parent 5c9b0ec49a
commit 902693bd40
9 changed files with 358 additions and 55 deletions

View File

@@ -13,22 +13,26 @@ class Player : public QObject
QML_SINGLETON
QML_ELEMENT
Q_PROPERTY(bool hasVideo READ hasVideo NOTIFY hasVideoChanged FINAL)
Q_PROPERTY(bool loading READ loading NOTIFY loadingChanged FINAL)
Q_PROPERTY(bool failed READ failed NOTIFY failedChanged FINAL)
Q_PROPERTY(bool playing READ playing NOTIFY playingChanged FINAL)
Q_PROPERTY(float volume READ volume WRITE setVolume NOTIFY volumeChanged FINAL)
Q_PROPERTY(QString title MEMBER m_title NOTIFY titleChanged FINAL)
Q_PROPERTY(QString description MEMBER m_description NOTIFY descriptionChanged FINAL)
Q_PROPERTY(QString id MEMBER m_id NOTIFY idChanged FINAL)
Q_PROPERTY(bool active MEMBER m_active NOTIFY activeChanged FINAL)
Q_PROPERTY(float duration MEMBER m_duration NOTIFY durationChanged FINAL)
Q_PROPERTY(float position MEMBER m_position WRITE setPosition NOTIFY positionChanged FINAL)
Q_PROPERTY(float buffered MEMBER m_buffered NOTIFY bufferedChanged FINAL)
Q_PROPERTY(bool loading MEMBER m_loading NOTIFY loadingChanged FINAL)
Q_PROPERTY(bool failed MEMBER m_failed NOTIFY failedChanged FINAL)
Q_PROPERTY(bool playing READ playing NOTIFY playingChanged FINAL)
Q_PROPERTY(float volume READ volume WRITE setVolume NOTIFY volumeChanged FINAL)
public:
Player(QObject *parent = nullptr);
~Player();
bool hasVideo() const;
bool loading() const;
bool failed() const;
bool playing() const;
float volume() const;
void setPosition(float newPosition);
void setVolume(float newVolume);
public slots:
@@ -39,7 +43,13 @@ public slots:
void stop();
signals:
void hasVideoChanged();
void titleChanged();
void descriptionChanged();
void idChanged();
void activeChanged();
void durationChanged();
void positionChanged();
void bufferedChanged();
void loadingChanged();
void failedChanged();
void playingChanged();
@@ -50,5 +60,14 @@ private:
QAudioOutput output;
QNetworkAccessManager manager;
QString m_title = "";
QString m_description = "";
QString m_id = "";
float m_duration = 0;
float m_position = 0;
float m_buffered = 0;
bool m_initialLoadFinished = false;
bool m_active = false;
bool m_loading = false;
bool m_failed = false;
};