| 1 | /* |
| 2 | * BluezQt - Asynchronous Bluez wrapper library |
| 3 | * |
| 4 | * SPDX-FileCopyrightText: 2015 David Rosca <nowrep@gmail.com> |
| 5 | * |
| 6 | * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
| 7 | */ |
| 8 | |
| 9 | #include "declarativemediaplayer.h" |
| 10 | |
| 11 | DeclarativeMediaPlayer::DeclarativeMediaPlayer(BluezQt::MediaPlayerPtr mediaPlayer, QObject *parent) |
| 12 | : QObject(parent) |
| 13 | , m_mediaPlayer(mediaPlayer) |
| 14 | { |
| 15 | connect(sender: m_mediaPlayer.data(), signal: &BluezQt::MediaPlayer::nameChanged, context: this, slot: &DeclarativeMediaPlayer::nameChanged); |
| 16 | connect(sender: m_mediaPlayer.data(), signal: &BluezQt::MediaPlayer::equalizerChanged, context: this, slot: &DeclarativeMediaPlayer::equalizerChanged); |
| 17 | connect(sender: m_mediaPlayer.data(), signal: &BluezQt::MediaPlayer::repeatChanged, context: this, slot: &DeclarativeMediaPlayer::repeatChanged); |
| 18 | connect(sender: m_mediaPlayer.data(), signal: &BluezQt::MediaPlayer::shuffleChanged, context: this, slot: &DeclarativeMediaPlayer::shuffleChanged); |
| 19 | connect(sender: m_mediaPlayer.data(), signal: &BluezQt::MediaPlayer::statusChanged, context: this, slot: &DeclarativeMediaPlayer::statusChanged); |
| 20 | connect(sender: m_mediaPlayer.data(), signal: &BluezQt::MediaPlayer::positionChanged, context: this, slot: &DeclarativeMediaPlayer::positionChanged); |
| 21 | |
| 22 | connect(sender: m_mediaPlayer.data(), signal: &BluezQt::MediaPlayer::trackChanged, context: this, slot: [this]() { |
| 23 | updateTrack(); |
| 24 | Q_EMIT trackChanged(track: m_track); |
| 25 | }); |
| 26 | |
| 27 | updateTrack(); |
| 28 | } |
| 29 | |
| 30 | QString DeclarativeMediaPlayer::name() const |
| 31 | { |
| 32 | return m_mediaPlayer->name(); |
| 33 | } |
| 34 | |
| 35 | BluezQt::MediaPlayer::Equalizer DeclarativeMediaPlayer::equalizer() const |
| 36 | { |
| 37 | return m_mediaPlayer->equalizer(); |
| 38 | } |
| 39 | |
| 40 | void DeclarativeMediaPlayer::setEqualizer(BluezQt::MediaPlayer::Equalizer equalizer) |
| 41 | { |
| 42 | m_mediaPlayer->setEqualizer(equalizer); |
| 43 | } |
| 44 | |
| 45 | BluezQt::MediaPlayer::Repeat DeclarativeMediaPlayer::repeat() const |
| 46 | { |
| 47 | return m_mediaPlayer->repeat(); |
| 48 | } |
| 49 | |
| 50 | void DeclarativeMediaPlayer::setRepeat(BluezQt::MediaPlayer::Repeat repeat) |
| 51 | { |
| 52 | m_mediaPlayer->setRepeat(repeat); |
| 53 | } |
| 54 | |
| 55 | BluezQt::MediaPlayer::Shuffle DeclarativeMediaPlayer::shuffle() const |
| 56 | { |
| 57 | return m_mediaPlayer->shuffle(); |
| 58 | } |
| 59 | |
| 60 | void DeclarativeMediaPlayer::setShuffle(BluezQt::MediaPlayer::Shuffle shuffle) |
| 61 | { |
| 62 | m_mediaPlayer->setShuffle(shuffle); |
| 63 | } |
| 64 | |
| 65 | BluezQt::MediaPlayer::Status DeclarativeMediaPlayer::status() const |
| 66 | { |
| 67 | return m_mediaPlayer->status(); |
| 68 | } |
| 69 | |
| 70 | QJsonObject DeclarativeMediaPlayer::track() const |
| 71 | { |
| 72 | return m_track; |
| 73 | } |
| 74 | |
| 75 | quint32 DeclarativeMediaPlayer::position() const |
| 76 | { |
| 77 | return m_mediaPlayer->position(); |
| 78 | } |
| 79 | |
| 80 | BluezQt::PendingCall *DeclarativeMediaPlayer::play() |
| 81 | { |
| 82 | return m_mediaPlayer->play(); |
| 83 | } |
| 84 | |
| 85 | BluezQt::PendingCall *DeclarativeMediaPlayer::pause() |
| 86 | { |
| 87 | return m_mediaPlayer->pause(); |
| 88 | } |
| 89 | |
| 90 | BluezQt::PendingCall *DeclarativeMediaPlayer::stop() |
| 91 | { |
| 92 | return m_mediaPlayer->stop(); |
| 93 | } |
| 94 | |
| 95 | BluezQt::PendingCall *DeclarativeMediaPlayer::next() |
| 96 | { |
| 97 | return m_mediaPlayer->next(); |
| 98 | } |
| 99 | |
| 100 | BluezQt::PendingCall *DeclarativeMediaPlayer::previous() |
| 101 | { |
| 102 | return m_mediaPlayer->previous(); |
| 103 | } |
| 104 | |
| 105 | BluezQt::PendingCall *DeclarativeMediaPlayer::fastForward() |
| 106 | { |
| 107 | return m_mediaPlayer->fastForward(); |
| 108 | } |
| 109 | |
| 110 | BluezQt::PendingCall *DeclarativeMediaPlayer::rewind() |
| 111 | { |
| 112 | return m_mediaPlayer->rewind(); |
| 113 | } |
| 114 | |
| 115 | void DeclarativeMediaPlayer::updateTrack() |
| 116 | { |
| 117 | m_track[QStringLiteral("valid" )] = m_mediaPlayer->track().isValid(); |
| 118 | m_track[QStringLiteral("title" )] = m_mediaPlayer->track().title(); |
| 119 | m_track[QStringLiteral("artist" )] = m_mediaPlayer->track().artist(); |
| 120 | m_track[QStringLiteral("album" )] = m_mediaPlayer->track().album(); |
| 121 | m_track[QStringLiteral("genre" )] = m_mediaPlayer->track().genre(); |
| 122 | m_track[QStringLiteral("numberOfTracks" )] = qint64(m_mediaPlayer->track().numberOfTracks()); |
| 123 | m_track[QStringLiteral("trackNumber" )] = qint64(m_mediaPlayer->track().trackNumber()); |
| 124 | m_track[QStringLiteral("duration" )] = qint64(m_mediaPlayer->track().duration()); |
| 125 | } |
| 126 | |
| 127 | #include "moc_declarativemediaplayer.cpp" |
| 128 | |