mirror of
https://github.com/danbee/persephone
synced 2025-03-04 08:39:11 +00:00
Fix a few things that got forgotten during the refactor
This commit is contained in:
parent
9517abf319
commit
487e0cc2c2
@ -36,7 +36,7 @@ class QueueViewController: NSViewController,
|
|||||||
let newQueuePos = queueView.selectedRow - 1
|
let newQueuePos = queueView.selectedRow - 1
|
||||||
|
|
||||||
if newQueuePos >= 0 {
|
if newQueuePos >= 0 {
|
||||||
AppDelegate.mpdClient.playTrack(queuePos: newQueuePos)
|
AppDelegate.mpdClient.playTrack(at: newQueuePos)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -24,12 +24,22 @@ extension MPDClient {
|
|||||||
sendStop()
|
sendStop()
|
||||||
case .playPause:
|
case .playPause:
|
||||||
sendPlay()
|
sendPlay()
|
||||||
|
case .seekCurrentSong:
|
||||||
|
guard let timeInSeconds = userData["timeInSeconds"] as? Float
|
||||||
|
else { return }
|
||||||
|
sendSeekCurrentSong(timeInSeconds: timeInSeconds)
|
||||||
|
|
||||||
// Status commands
|
// Status commands
|
||||||
case .fetchStatus:
|
case .fetchStatus:
|
||||||
sendRunStatus()
|
sendRunStatus()
|
||||||
|
|
||||||
|
// Queue commands
|
||||||
case .fetchQueue:
|
case .fetchQueue:
|
||||||
sendFetchQueue()
|
sendFetchQueue()
|
||||||
|
case .playTrack:
|
||||||
|
guard let queuePos = userData["queuePos"] as? Int
|
||||||
|
else { return }
|
||||||
|
sendPlayTrack(at: queuePos)
|
||||||
|
|
||||||
// Album commands
|
// Album commands
|
||||||
case .fetchAllAlbums:
|
case .fetchAllAlbums:
|
||||||
|
|||||||
@ -14,16 +14,12 @@ extension MPDClient {
|
|||||||
sendCommand(command: .fetchQueue)
|
sendCommand(command: .fetchQueue)
|
||||||
}
|
}
|
||||||
|
|
||||||
func playTrack(queuePos: Int) {
|
func playTrack(at queuePos: Int) {
|
||||||
guard isConnected else { return }
|
queueCommand(command: .playTrack, userData: ["queuePos": queuePos])
|
||||||
|
}
|
||||||
|
|
||||||
noIdle()
|
func sendPlayTrack(at queuePos: Int) {
|
||||||
let commandOperation = BlockOperation { [unowned self] in
|
mpd_run_play_pos(self.connection, UInt32(queuePos))
|
||||||
mpd_run_play_pos(self.connection, UInt32(queuePos))
|
|
||||||
}
|
|
||||||
commandOperation.queuePriority = .veryHigh
|
|
||||||
commandQueue.addOperation(commandOperation)
|
|
||||||
idle()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func sendFetchQueue() {
|
func sendFetchQueue() {
|
||||||
|
|||||||
@ -27,11 +27,10 @@ extension MPDClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func seekCurrentSong(timeInSeconds: Float) {
|
func seekCurrentSong(timeInSeconds: Float) {
|
||||||
noIdle()
|
queueCommand(
|
||||||
commandQueue.addOperation { [unowned self] in
|
command: .seekCurrentSong,
|
||||||
mpd_run_seek_current(self.connection, timeInSeconds, false)
|
userData: ["timeInSeconds": timeInSeconds]
|
||||||
}
|
)
|
||||||
idle()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func sendNextTrack() {
|
func sendNextTrack() {
|
||||||
@ -62,4 +61,7 @@ extension MPDClient {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func sendSeekCurrentSong(timeInSeconds: Float) {
|
||||||
|
mpd_run_seek_current(self.connection, timeInSeconds, false)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,8 +22,8 @@ class MPDClient {
|
|||||||
var commandsQueued: UInt = 0
|
var commandsQueued: UInt = 0
|
||||||
|
|
||||||
enum Command {
|
enum Command {
|
||||||
case prevTrack, nextTrack, playPause, stop,
|
case prevTrack, nextTrack, playPause, stop, seekCurrentSong,
|
||||||
fetchStatus, fetchQueue, fetchAllAlbums,
|
fetchStatus, fetchQueue, playTrack, fetchAllAlbums,
|
||||||
playAlbum, getAlbumURI
|
playAlbum, getAlbumURI
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user