mirror of
https://github.com/danbee/persephone
synced 2025-03-04 08:39:11 +00:00
Stop relying on libmpdclient enums outside of MPDClient
This commit is contained in:
parent
58dcab754f
commit
78e732cb7b
@ -7,7 +7,6 @@
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import mpdclient
|
||||
|
||||
class NotificationsController: MPDClientDelegate {
|
||||
let notificationQueue = DispatchQueue.main
|
||||
|
||||
@ -7,7 +7,6 @@
|
||||
//
|
||||
|
||||
import Cocoa
|
||||
import mpdclient
|
||||
|
||||
class QueueViewController: NSViewController, NSOutlineViewDataSource, NSOutlineViewDelegate {
|
||||
var queue: [MPDClient.Song] = []
|
||||
@ -73,8 +72,6 @@ class QueueViewController: NSViewController, NSOutlineViewDataSource, NSOutlineV
|
||||
guard let queuePos = notification.userInfo?[Notification.queuePosKey] as? Int
|
||||
else { return }
|
||||
|
||||
print(queuePos)
|
||||
|
||||
let oldSongRowPos = self.queuePos + 1
|
||||
let newSongRowPos = queuePos + 1
|
||||
self.queuePos = queuePos
|
||||
@ -150,7 +147,7 @@ class QueueViewController: NSViewController, NSOutlineViewDataSource, NSOutlineV
|
||||
owner: self
|
||||
) as! NSTableCellView
|
||||
|
||||
cellView.textField?.stringValue = songItem.song.getTag(MPD_TAG_TITLE)
|
||||
cellView.textField?.stringValue = songItem.song.getTag(.title)
|
||||
|
||||
return cellView
|
||||
case "songArtistColumn":
|
||||
@ -159,7 +156,7 @@ class QueueViewController: NSViewController, NSOutlineViewDataSource, NSOutlineV
|
||||
owner: self
|
||||
) as! NSTableCellView
|
||||
|
||||
cellView.textField?.stringValue = songItem.song.getTag(MPD_TAG_ARTIST)
|
||||
cellView.textField?.stringValue = songItem.song.getTag(.artist)
|
||||
|
||||
return cellView
|
||||
default:
|
||||
|
||||
@ -12,6 +12,26 @@ import mpdclient
|
||||
extension MPDClient {
|
||||
class Song {
|
||||
let mpdSong: OpaquePointer
|
||||
|
||||
enum TagType: Int {
|
||||
case unknown = -1
|
||||
case artist, album, albumArtist, title, track, name,
|
||||
genre, date, composer, performer, comment, disc
|
||||
|
||||
case musicBrainzArtistId
|
||||
case musicBrainzAlbumId
|
||||
case musicBrainzAlbumArtistId
|
||||
case musicBrainzTrackId
|
||||
case musicBrainzReleaseTrackId
|
||||
|
||||
case originalDate
|
||||
|
||||
case artistSort
|
||||
case albumArtistSort
|
||||
case albumSort
|
||||
|
||||
case tagCount
|
||||
}
|
||||
|
||||
init(_ mpdSong: OpaquePointer) {
|
||||
self.mpdSong = mpdSong
|
||||
@ -21,8 +41,10 @@ extension MPDClient {
|
||||
mpd_song_free(mpdSong)
|
||||
}
|
||||
|
||||
func getTag(_ tagType: mpd_tag_type) -> String {
|
||||
guard let tag = mpd_song_get_tag(mpdSong, tagType, 0)
|
||||
func getTag(_ tagType: TagType) -> String {
|
||||
let mpdTagType = mpd_tag_type(rawValue: Int32(tagType.rawValue))
|
||||
|
||||
guard let tag = mpd_song_get_tag(mpdSong, mpdTagType, 0)
|
||||
else { return "" }
|
||||
|
||||
return String(cString: tag)
|
||||
|
||||
@ -7,7 +7,6 @@
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import mpdclient
|
||||
|
||||
protocol MPDClientDelegate {
|
||||
func didUpdateState(mpdClient: MPDClient, state: MPDClient.Status.State)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user