Sleep timer

This commit is contained in:
Thomas Perl 2014-12-17 20:54:14 +01:00
parent e146239305
commit e271291f92
3 changed files with 61 additions and 0 deletions

View file

@ -116,6 +116,9 @@ MediaPlayer {
} else {
sendPositionToCore(lastPosition);
savePlaybackAfterStopTimer.restart();
if (sleepTimerRunning) {
stopSleepTimer();
}
}
}
@ -123,6 +126,37 @@ MediaPlayer {
py.call('main.save_playback_state', []);
}
property var durationChoices: ([5, 15, 30, 45, 60])
function startSleepTimer(seconds) {
sleepTimer.running = false;
sleepTimer.secondsRemaining = seconds;
sleepTimer.running = true;
}
function stopSleepTimer() {
sleepTimer.running = false;
sleepTimer.secondsRemaining = 0;
}
property bool sleepTimerRunning: sleepTimer.running
property int sleepTimerRemaining: sleepTimer.secondsRemaining
property var sleepTimer: Timer {
property int secondsRemaining: 0
interval: 1000
repeat: true
onTriggered: {
secondsRemaining -= 1;
if (secondsRemaining <= 0) {
player.pause();
running = false;
}
}
}
property var savePlaybackPositionTimer: Timer {
// Save position every minute during playback
interval: 60 * 1000