diff --git a/Persephone/Controllers/AlbumViewController.swift b/Persephone/Controllers/AlbumViewController.swift index 8e67518..9fe4527 100644 --- a/Persephone/Controllers/AlbumViewController.swift +++ b/Persephone/Controllers/AlbumViewController.swift @@ -46,8 +46,7 @@ class AlbumViewController: NSViewController, guard let albumItem = item as? AlbumItem else { return item } albumItem.view.wantsLayer = true - albumItem.setAlbumTitle(albums[indexPath.item].title) - albumItem.setAlbumArtist(albums[indexPath.item].artist) + albumItem.setAlbum(albums[indexPath.item]) return albumItem } diff --git a/Persephone/MPDClient/MPDClient.swift b/Persephone/MPDClient/MPDClient.swift index 5a434bf..87083ec 100644 --- a/Persephone/MPDClient/MPDClient.swift +++ b/Persephone/MPDClient/MPDClient.swift @@ -182,19 +182,18 @@ class MPDClient { mpd_search_add_group_tag(self.connection, MPD_TAG_ALBUM_ARTIST) mpd_search_commit(self.connection) while let mpdPair = mpd_recv_pair(self.connection) { - let name = String(cString: mpdPair.pointee.name) - let value = String(cString: mpdPair.pointee.value) + let pair = Pair(mpdPair) - switch name { + switch pair.name { case "AlbumArtist": - artist = value + artist = pair.value case "Album": - albums.append(Album(title: value, artist: artist)) + albums.append(Album(title: pair.value, artist: artist)) default: break } - - mpd_return_pair(self.connection, mpdPair) + + mpd_return_pair(self.connection, pair.mpdPair) } delegate?.didLoadAlbums(mpdClient: self, albums: albums) diff --git a/Persephone/MPDClient/Models/Pair.swift b/Persephone/MPDClient/Models/Pair.swift index 012ba1c..cc60219 100644 --- a/Persephone/MPDClient/Models/Pair.swift +++ b/Persephone/MPDClient/Models/Pair.swift @@ -15,4 +15,12 @@ class Pair { init(_ mpdPair: UnsafeMutablePointer) { self.mpdPair = mpdPair } + + var name: String { + get { return String(cString: mpdPair.pointee.name) } + } + + var value: String { + get { return String(cString: mpdPair.pointee.value) } + } } diff --git a/Persephone/Views/AlbumItem.swift b/Persephone/Views/AlbumItem.swift index 9b61d61..3b651d8 100644 --- a/Persephone/Views/AlbumItem.swift +++ b/Persephone/Views/AlbumItem.swift @@ -14,12 +14,9 @@ class AlbumItem: NSCollectionViewItem { // Do view setup here. } - func setAlbumTitle(_ title: String) { - albumTitle.stringValue = title - } - - func setAlbumArtist(_ artist: String) { - albumArtist.stringValue = artist + func setAlbum(_ album: MPDClient.Album) { + albumTitle.stringValue = album.title + albumArtist.stringValue = album.artist } @IBOutlet var albumTitle: NSTextField! diff --git a/Persephone/Views/AlbumItem.xib b/Persephone/Views/AlbumItem.xib index b16ca9f..d15869a 100644 --- a/Persephone/Views/AlbumItem.xib +++ b/Persephone/Views/AlbumItem.xib @@ -16,41 +16,43 @@ - + - - + + + + + + - - + + - - - - - + + - + - - - + + + + - + diff --git a/Persephone/Views/Base.lproj/Main.storyboard b/Persephone/Views/Base.lproj/Main.storyboard index 2d1dc43..c844d9b 100644 --- a/Persephone/Views/Base.lproj/Main.storyboard +++ b/Persephone/Views/Base.lproj/Main.storyboard @@ -926,7 +926,7 @@ - +