From 123f9c1e4accbf20e2a09799ed7fa69fb88feaf4 Mon Sep 17 00:00:00 2001 From: Daniel Barber Date: Sun, 16 Feb 2020 14:39:12 -0500 Subject: [PATCH] Tweak priorities of commands --- .../Extensions/MPDClient+Queue.swift | 36 +++++++++++++++---- .../Extensions/MPDClient+Songs.swift | 1 + .../Extensions/MPDClient+Transport.swift | 30 ++++++++++++---- 3 files changed, 54 insertions(+), 13 deletions(-) diff --git a/Persephone/MPDClient/Extensions/MPDClient+Queue.swift b/Persephone/MPDClient/Extensions/MPDClient+Queue.swift index 4b42e88..97d36a5 100644 --- a/Persephone/MPDClient/Extensions/MPDClient+Queue.swift +++ b/Persephone/MPDClient/Extensions/MPDClient+Queue.swift @@ -19,27 +19,51 @@ extension MPDClient { } func playTrack(at queuePos: Int) { - enqueueCommand(command: .playTrack, userData: ["queuePos": queuePos]) + enqueueCommand( + command: .playTrack, + forceIdle: true, + userData: ["queuePos": queuePos] + ) } func appendSong(_ song: MPDSong) { - enqueueCommand(command: .appendSong, userData: ["song": song]) + enqueueCommand( + command: .appendSong, + forceIdle: true, + userData: ["song": song] + ) } func removeSong(at queuePos: Int) { - enqueueCommand(command: .removeSong, userData: ["queuePos": queuePos]) + enqueueCommand( + command: .removeSong, + forceIdle: true, + userData: ["queuePos": queuePos] + ) } func moveSongInQueue(at queuePos: Int, to newQueuePos: Int) { - enqueueCommand(command: .moveSongInQueue, userData: ["oldQueuePos": queuePos, "newQueuePos": newQueuePos]) + enqueueCommand( + command: .moveSongInQueue, + forceIdle: true, + userData: ["oldQueuePos": queuePos, "newQueuePos": newQueuePos] + ) } func addSongToQueue(songUri: String, at queuePos: Int) { - enqueueCommand(command: .addSongToQueue, userData: ["uri": songUri, "queuePos": queuePos]) + enqueueCommand( + command: .addSongToQueue, + forceIdle: true, + userData: ["uri": songUri, "queuePos": queuePos] + ) } func addAlbumToQueue(album: MPDAlbum, at queuePos: Int) { - enqueueCommand(command: .addAlbumToQueue, userData: ["album": album, "queuePos": queuePos]) + enqueueCommand( + command: .addAlbumToQueue, + forceIdle: true, + userData: ["album": album, "queuePos": queuePos] + ) } func sendPlayTrack(at queuePos: Int) { diff --git a/Persephone/MPDClient/Extensions/MPDClient+Songs.swift b/Persephone/MPDClient/Extensions/MPDClient+Songs.swift index 156fbd9..8ee2741 100644 --- a/Persephone/MPDClient/Extensions/MPDClient+Songs.swift +++ b/Persephone/MPDClient/Extensions/MPDClient+Songs.swift @@ -18,6 +18,7 @@ extension MPDClient { ) { enqueueCommand( command: .fetchAlbumArt, + priority: .low, userData: [ "songUri": songUri, "callback": callback, diff --git a/Persephone/MPDClient/Extensions/MPDClient+Transport.swift b/Persephone/MPDClient/Extensions/MPDClient+Transport.swift index 03d9eea..ae8d5cb 100644 --- a/Persephone/MPDClient/Extensions/MPDClient+Transport.swift +++ b/Persephone/MPDClient/Extensions/MPDClient+Transport.swift @@ -11,25 +11,41 @@ import mpdclient extension MPDClient { func playPause() { - enqueueCommand(command: .playPause, priority: .veryHigh, forceIdle: true) + enqueueCommand( + command: .playPause, + priority: .high, + forceIdle: true + ) } func stop() { - enqueueCommand(command: .stop, priority: .veryHigh, forceIdle: true) + enqueueCommand( + command: .stop, + priority: .high, + forceIdle: true + ) } func prevTrack() { - enqueueCommand(command: .prevTrack, priority: .veryHigh, forceIdle: true) + enqueueCommand( + command: .prevTrack, + priority: .high, + forceIdle: true + ) } func nextTrack() { - enqueueCommand(command: .nextTrack, priority: .veryHigh, forceIdle: true) + enqueueCommand( + command: .nextTrack, + priority: .high, + forceIdle: true + ) } func seekCurrentSong(timeInSeconds: Float) { enqueueCommand( command: .seekCurrentSong, - priority: .veryHigh, + priority: .high, forceIdle: true, userData: ["timeInSeconds": timeInSeconds] ) @@ -38,7 +54,7 @@ extension MPDClient { func setShuffleState(shuffleState: Bool) { enqueueCommand( command: .setShuffleState, - priority: .veryHigh, + priority: .high, forceIdle: true, userData: ["shuffleState": shuffleState] ) @@ -47,7 +63,7 @@ extension MPDClient { func setRepeatState(repeatState: Bool) { enqueueCommand( command: .setRepeatState, - priority: .veryHigh, + priority: .high, forceIdle: true, userData: ["repeatState": repeatState] )