C
Qt Quick Ultralite Automotive Cluster Demo
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
pragma Singleton
import QtQuick 2.15
QtObject {
id: mediaplayermodel
property bool mediaPlayback: MainModel.introSequenceCompleted
onMediaPlaybackChanged: {
ConnectivityService.mediaPlayback = mediaplayermodel.mediaPlayback
}
function play() {
mediaplayermodel.mediaPlayback = true
}
function stop() {
mediaplayermodel.mediaPlayback = false
}
function nextSong() {
track = (track+1)%trackCount
}
function previousSong() {
track = (track+trackCount-1)%trackCount
}
property int track: 0
property int timePassed: 0 // sec
readonly property int trackCount: 5
readonly property int changeSongDuration: 300
onTrackChanged: {
timePassed = 0
}
onTimePassedChanged: {
var duration = 0
switch (track) {
case 0: duration = 3.5; break;
case 1: duration = 3.8; break;
case 2: duration = 3.2; break;
case 3: duration = 3.5; break;
case 4: duration = 4.5; break;
}
if (timePassed > (duration * 60)) {
nextSong()
}
}
property Timer timePassedTimer: Timer {
running: mediaplayermodel.mediaPlayback
repeat: true
interval: 1000
onTriggered: { timePassed += 1 }
}
}