1
1
mirror of https://github.com/danbee/persephone synced 2025-03-04 08:39:11 +00:00
persephone/Persephone/MPDClient/Extensions/MPDClient+Command.swift

48 lines
1010 B
Swift

//
// CommandQueue.swift
// Persephone
//
// Created by Daniel Barber on 2019/3/15.
// Copyright © 2019 Dan Barber. All rights reserved.
//
import Foundation
extension MPDClient {
func sendCommand(
command: Command,
userData: Dictionary<String, Any> = [:]
) {
switch command {
// Transport commands
case .prevTrack:
sendPreviousTrack()
case .nextTrack:
sendNextTrack()
case .stop:
sendStop()
case .playPause:
sendPlay()
// Status commands
case .fetchStatus:
sendRunStatus()
case .fetchQueue:
sendFetchQueue()
// Album commands
case .fetchAllAlbums:
allAlbums()
case .playAlbum:
guard let album = userData["album"] as? Album else { return }
sendPlayAlbum(album)
case .getAlbumURI:
guard let album = userData["album"] as? Album,
let callback = userData["callback"] as? (String?) -> Void
else { return }
albumURI(for: album, callback: callback)
}
}
}