From 8882c4246c8f2d7c6544b28a135ff0904ecc9fbc Mon Sep 17 00:00:00 2001 From: Daniel Barber Date: Sun, 28 Apr 2019 10:48:10 -0400 Subject: [PATCH] Refactor all the things! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I discovered Xcode's refactor function 😁 --- Persephone.xcodeproj/project.pbxproj | 108 +++++++----------- Persephone/Actions/AlbumListActions.swift | 21 ++++ Persephone/Actions/PlayerActions.swift | 30 +++++ ...teQueueAction.swift => QueueActions.swift} | 8 +- Persephone/Actions/ResetAlbumListArt.swift | 11 -- Persephone/Actions/UpdateAlbumArt.swift | 15 --- .../Actions/UpdateAlbumListAction.swift | 13 --- Persephone/Actions/UpdateCurrentArtwork.swift | 14 --- Persephone/Actions/UpdateCurrentSong.swift | 13 --- .../Actions/UpdateElapsedTimeAction.swift | 13 --- Persephone/Actions/UpdateMPDDatabase.swift | 13 --- Persephone/Actions/UpdateQueuePosAction.swift | 13 --- Persephone/Actions/UpdateStatusAction.swift | 13 --- .../Contents.json | 0 .../blankAlbumDark.pdf | Bin .../blankAlbumLight.pdf | Bin .../Controllers/AlbumViewController.swift | 2 +- .../Controllers/QueueViewController.swift | 2 +- .../UserNotificationsController.swift | 4 +- Persephone/DataSources/AlbumDataSource.swift | 6 +- Persephone/Extensions/NSImage.swift | 2 +- ...lbumArtQueue.swift => CoverArtQueue.swift} | 8 +- ...er.swift => CoverArtPrefsController.swift} | 4 +- Persephone/Reducers/AlbumListReducer.swift | 4 +- Persephone/Reducers/PlayerReducer.swift | 12 +- .../Resources/Base.lproj/Main.storyboard | 14 +-- ...ArtService.swift => CoverArtService.swift} | 12 +- ...ng.swift => CoverArtService+Caching.swift} | 12 +- ...swift => CoverArtService+Filesystem.swift} | 6 +- ...ote.swift => CoverArtService+Remote.swift} | 10 +- ...rtView.swift => CurrentCoverArtView.swift} | 6 +- 31 files changed, 149 insertions(+), 240 deletions(-) create mode 100644 Persephone/Actions/AlbumListActions.swift create mode 100644 Persephone/Actions/PlayerActions.swift rename Persephone/Actions/{UpdateQueueAction.swift => QueueActions.swift} (56%) delete mode 100644 Persephone/Actions/ResetAlbumListArt.swift delete mode 100644 Persephone/Actions/UpdateAlbumArt.swift delete mode 100644 Persephone/Actions/UpdateAlbumListAction.swift delete mode 100644 Persephone/Actions/UpdateCurrentArtwork.swift delete mode 100644 Persephone/Actions/UpdateCurrentSong.swift delete mode 100644 Persephone/Actions/UpdateElapsedTimeAction.swift delete mode 100644 Persephone/Actions/UpdateMPDDatabase.swift delete mode 100644 Persephone/Actions/UpdateQueuePosAction.swift delete mode 100644 Persephone/Actions/UpdateStatusAction.swift rename Persephone/Assets.xcassets/{blankAlbum.imageset => defaultCoverArt.imageset}/Contents.json (100%) rename Persephone/Assets.xcassets/{blankAlbum.imageset => defaultCoverArt.imageset}/blankAlbumDark.pdf (100%) rename Persephone/Assets.xcassets/{blankAlbum.imageset => defaultCoverArt.imageset}/blankAlbumLight.pdf (100%) rename Persephone/Operations/{AlbumArtQueue.swift => CoverArtQueue.swift} (75%) rename Persephone/Preferences/Controllers/{AlbumArtPrefsController.swift => CoverArtPrefsController.swift} (93%) rename Persephone/Services/{AlbumArtService.swift => CoverArtService.swift} (86%) rename Persephone/Services/Extensions/{AlbumArtService+Caching.swift => CoverArtService+Caching.swift} (85%) rename Persephone/Services/Extensions/{AlbumArtService+Filesystem.swift => CoverArtService+Filesystem.swift} (94%) rename Persephone/Services/Extensions/{AlbumArtService+Remote.swift => CoverArtService+Remote.swift} (88%) rename Persephone/Views/{CurrentArtView.swift => CurrentCoverArtView.swift} (81%) diff --git a/Persephone.xcodeproj/project.pbxproj b/Persephone.xcodeproj/project.pbxproj index dcd1e5c..9aa7c6d 100644 --- a/Persephone.xcodeproj/project.pbxproj +++ b/Persephone.xcodeproj/project.pbxproj @@ -29,9 +29,9 @@ E41E5307223C019100173814 /* MPDClient+Status.swift in Sources */ = {isa = PBXBuildFile; fileRef = E41E5306223C019100173814 /* MPDClient+Status.swift */; }; E41E5309223C020400173814 /* MPDClient+Command.swift in Sources */ = {isa = PBXBuildFile; fileRef = E41E5308223C020400173814 /* MPDClient+Command.swift */; }; E41E530B223C033700173814 /* MPDClient+Album.swift in Sources */ = {isa = PBXBuildFile; fileRef = E41E530A223C033700173814 /* MPDClient+Album.swift */; }; - E41E530E223EF4CF00173814 /* AlbumArtService+Caching.swift in Sources */ = {isa = PBXBuildFile; fileRef = E41E530D223EF4CF00173814 /* AlbumArtService+Caching.swift */; }; - E41E5310223EF6CE00173814 /* AlbumArtService+Remote.swift in Sources */ = {isa = PBXBuildFile; fileRef = E41E530F223EF6CE00173814 /* AlbumArtService+Remote.swift */; }; - E41E5312223EF74A00173814 /* AlbumArtService+Filesystem.swift in Sources */ = {isa = PBXBuildFile; fileRef = E41E5311223EF74A00173814 /* AlbumArtService+Filesystem.swift */; }; + E41E530E223EF4CF00173814 /* CoverArtService+Caching.swift in Sources */ = {isa = PBXBuildFile; fileRef = E41E530D223EF4CF00173814 /* CoverArtService+Caching.swift */; }; + E41E5310223EF6CE00173814 /* CoverArtService+Remote.swift in Sources */ = {isa = PBXBuildFile; fileRef = E41E530F223EF6CE00173814 /* CoverArtService+Remote.swift */; }; + E41E5312223EF74A00173814 /* CoverArtService+Filesystem.swift in Sources */ = {isa = PBXBuildFile; fileRef = E41E5311223EF74A00173814 /* CoverArtService+Filesystem.swift */; }; E41EA46C221636AF0068EF46 /* GeneralPrefsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E41EA46B221636AF0068EF46 /* GeneralPrefsViewController.swift */; }; E42410B62241B956005ED6DF /* MPDClient+Database.swift in Sources */ = {isa = PBXBuildFile; fileRef = E42410B52241B956005ED6DF /* MPDClient+Database.swift */; }; E42A8F3B22176D6400A13ED9 /* LICENSE.md in Resources */ = {isa = PBXBuildFile; fileRef = E42A8F3922176D6400A13ED9 /* LICENSE.md */; }; @@ -42,7 +42,7 @@ E450AD7E222620A10091BED3 /* Album.swift in Sources */ = {isa = PBXBuildFile; fileRef = E450AD7D222620A10091BED3 /* Album.swift */; }; E450AD8F22262C620091BED3 /* PromiseKit.framework.dSYM in Resources */ = {isa = PBXBuildFile; fileRef = E450AD8E22262C620091BED3 /* PromiseKit.framework.dSYM */; }; E450AD9122262C780091BED3 /* SwiftyJSON.framework.dSYM in Resources */ = {isa = PBXBuildFile; fileRef = E450AD9022262C780091BED3 /* SwiftyJSON.framework.dSYM */; }; - E450AD9522262DF10091BED3 /* AlbumArtQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = E450AD9422262DF10091BED3 /* AlbumArtQueue.swift */; }; + E450AD9522262DF10091BED3 /* CoverArtQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = E450AD9422262DF10091BED3 /* CoverArtQueue.swift */; }; E450AD98222633920091BED3 /* Alamofire.framework.dSYM in Resources */ = {isa = PBXBuildFile; fileRef = E450AD96222633920091BED3 /* Alamofire.framework.dSYM */; }; E450ADA12229E7C90091BED3 /* PMKFoundation.framework.dSYM in Resources */ = {isa = PBXBuildFile; fileRef = E450AD9F2229E7C90091BED3 /* PMKFoundation.framework.dSYM */; }; E45962C62241A78500FC1A1E /* MPDCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45962C52241A78500FC1A1E /* MPDCommand.swift */; }; @@ -60,9 +60,9 @@ E47E2FE52220AA0700F747E6 /* AlbumViewLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = E47E2FE42220AA0700F747E6 /* AlbumViewLayout.swift */; }; E4928E0B2218D62A001D4BEA /* CGColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4928E0A2218D62A001D4BEA /* CGColor.swift */; }; E4A642DA22090CBE00067D21 /* MPDStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4A642D922090CBE00067D21 /* MPDStatus.swift */; }; - E4A83BEF2221F8CF0098FED6 /* AlbumArtPrefsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4A83BEE2221F8CF0098FED6 /* AlbumArtPrefsController.swift */; }; + E4A83BEF2221F8CF0098FED6 /* CoverArtPrefsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4A83BEE2221F8CF0098FED6 /* CoverArtPrefsController.swift */; }; E4A83BF12221FAA00098FED6 /* PreferencesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4A83BF02221FAA00098FED6 /* PreferencesViewController.swift */; }; - E4A83BF4222207D50098FED6 /* AlbumArtService.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4A83BF3222207D50098FED6 /* AlbumArtService.swift */; }; + E4A83BF4222207D50098FED6 /* CoverArtService.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4A83BF3222207D50098FED6 /* CoverArtService.swift */; }; E4B11B53226928F20075461B /* AppState.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B52226928F20075461B /* AppState.swift */; }; E4B11B5A2269296C0075461B /* ReSwift.framework.dSYM in Resources */ = {isa = PBXBuildFile; fileRef = E4B11B582269296C0075461B /* ReSwift.framework.dSYM */; }; E4B11B61226A4C000075461B /* PlayerReducer.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B60226A4BFF0075461B /* PlayerReducer.swift */; }; @@ -70,14 +70,9 @@ E4B11B66226A4F830075461B /* PlayerState.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B65226A4F830075461B /* PlayerState.swift */; }; E4B11B68226A4FA00075461B /* QueueState.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B67226A4FA00075461B /* QueueState.swift */; }; E4B11B6A226A4FBC0075461B /* AlbumListState.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B69226A4FBC0075461B /* AlbumListState.swift */; }; - E4B11B6D226A5B180075461B /* UpdateQueueAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B6C226A5B180075461B /* UpdateQueueAction.swift */; }; - E4B11B6F226A5C7A0075461B /* UpdateStatusAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B6E226A5C7A0075461B /* UpdateStatusAction.swift */; }; - E4B11B71226A64E60075461B /* UpdateElapsedTimeAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B70226A64E60075461B /* UpdateElapsedTimeAction.swift */; }; E4B11B73226A6C770075461B /* TrackTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B72226A6C770075461B /* TrackTimer.swift */; }; E4B11B75226CC4D30075461B /* QueueReducer.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B74226CC4D30075461B /* QueueReducer.swift */; }; - E4B11B77226CC6BE0075461B /* UpdateQueuePosAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B76226CC6BE0075461B /* UpdateQueuePosAction.swift */; }; E4B11B79226D346B0075461B /* AlbumListReducer.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B78226D346B0075461B /* AlbumListReducer.swift */; }; - E4B11B7B226D34F80075461B /* UpdateAlbumListAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11B7A226D34F80075461B /* UpdateAlbumListAction.swift */; }; E4B11B7E2274E36D0075461B /* Differ.framework.dSYM in Resources */ = {isa = PBXBuildFile; fileRef = E4B11B7C2274E36D0075461B /* Differ.framework.dSYM */; }; E4B11B962274E43B0075461B /* Differ.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4B11B7D2274E36D0075461B /* Differ.framework */; }; E4B11B972274E43B0075461B /* Differ.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E4B11B7D2274E36D0075461B /* Differ.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -96,14 +91,12 @@ E4B11BA62274E44A0075461B /* libmpdclient.2.dylib in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E41B22BF21FB6BBA00D544F6 /* libmpdclient.2.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; E4B11BA72274E4500075461B /* libmpdclient.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = E41B22BF21FB6BBA00D544F6 /* libmpdclient.2.dylib */; }; E4B11BA92274EDE30075461B /* Loading.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BA82274EDE30075461B /* Loading.swift */; }; - E4B11BAD2274F2E80075461B /* UpdateAlbumArt.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BAC2274F2E80075461B /* UpdateAlbumArt.swift */; }; E4B11BB02274F71A0075461B /* EnumEquatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BAF2274F71A0075461B /* EnumEquatable.swift */; }; - E4B11BB22274F9520075461B /* ResetAlbumListArt.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BB12274F9520075461B /* ResetAlbumListArt.swift */; }; - E4B11BB42275002D0075461B /* UpdateMPDDatabase.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BB32275002D0075461B /* UpdateMPDDatabase.swift */; }; E4B11BB62275374B0075461B /* UserNotificationsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BB52275374B0075461B /* UserNotificationsController.swift */; }; - E4B11BB8227538FA0075461B /* CurrentArtView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BB7227538FA0075461B /* CurrentArtView.swift */; }; - E4B11BBA22753BF10075461B /* UpdateCurrentSong.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BB922753BF10075461B /* UpdateCurrentSong.swift */; }; - E4B11BBC227541C40075461B /* UpdateCurrentArtwork.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BBB227541C40075461B /* UpdateCurrentArtwork.swift */; }; + E4B11BB8227538FA0075461B /* CurrentCoverArtView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BB7227538FA0075461B /* CurrentCoverArtView.swift */; }; + E4B11BBE2275EDAA0075461B /* PlayerActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BBD2275EDAA0075461B /* PlayerActions.swift */; }; + E4B11BC02275EE150075461B /* QueueActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BBF2275EE150075461B /* QueueActions.swift */; }; + E4B11BC22275EE410075461B /* AlbumListActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B11BC12275EE410075461B /* AlbumListActions.swift */; }; E4C8B53C22342005009A20F3 /* PreferencesWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4C8B53B22342005009A20F3 /* PreferencesWindowController.swift */; }; E4C8B53E22349002009A20F3 /* MPDIdle.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4C8B53D22349002009A20F3 /* MPDIdle.swift */; }; E4E8CC902204EC7F0024217A /* Delegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4E8CC8F2204EC7F0024217A /* Delegate.swift */; }; @@ -231,9 +224,9 @@ E41E5306223C019100173814 /* MPDClient+Status.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MPDClient+Status.swift"; sourceTree = ""; }; E41E5308223C020400173814 /* MPDClient+Command.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MPDClient+Command.swift"; sourceTree = ""; }; E41E530A223C033700173814 /* MPDClient+Album.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MPDClient+Album.swift"; sourceTree = ""; }; - E41E530D223EF4CF00173814 /* AlbumArtService+Caching.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AlbumArtService+Caching.swift"; sourceTree = ""; }; - E41E530F223EF6CE00173814 /* AlbumArtService+Remote.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AlbumArtService+Remote.swift"; sourceTree = ""; }; - E41E5311223EF74A00173814 /* AlbumArtService+Filesystem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AlbumArtService+Filesystem.swift"; sourceTree = ""; }; + E41E530D223EF4CF00173814 /* CoverArtService+Caching.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CoverArtService+Caching.swift"; sourceTree = ""; }; + E41E530F223EF6CE00173814 /* CoverArtService+Remote.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CoverArtService+Remote.swift"; sourceTree = ""; }; + E41E5311223EF74A00173814 /* CoverArtService+Filesystem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CoverArtService+Filesystem.swift"; sourceTree = ""; }; E41EA46B221636AF0068EF46 /* GeneralPrefsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeneralPrefsViewController.swift; sourceTree = ""; }; E421ACA1221F73B8008B2449 /* MediaKeyTap.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaKeyTap.framework; path = Carthage/Build/Mac/MediaKeyTap.framework; sourceTree = ""; }; E42410B52241B956005ED6DF /* MPDClient+Database.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MPDClient+Database.swift"; sourceTree = ""; }; @@ -247,7 +240,7 @@ E450AD8C22262C590091BED3 /* PromiseKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PromiseKit.framework; path = Carthage/Build/Mac/PromiseKit.framework; sourceTree = ""; }; E450AD8E22262C620091BED3 /* PromiseKit.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; name = PromiseKit.framework.dSYM; path = Carthage/Build/Mac/PromiseKit.framework.dSYM; sourceTree = ""; }; E450AD9022262C780091BED3 /* SwiftyJSON.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; name = SwiftyJSON.framework.dSYM; path = Carthage/Build/Mac/SwiftyJSON.framework.dSYM; sourceTree = ""; }; - E450AD9422262DF10091BED3 /* AlbumArtQueue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumArtQueue.swift; sourceTree = ""; }; + E450AD9422262DF10091BED3 /* CoverArtQueue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoverArtQueue.swift; sourceTree = ""; }; E450AD96222633920091BED3 /* Alamofire.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; name = Alamofire.framework.dSYM; path = Carthage/Build/Mac/Alamofire.framework.dSYM; sourceTree = ""; }; E450AD97222633920091BED3 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/Mac/Alamofire.framework; sourceTree = ""; }; E450AD9E2229B9BC0091BED3 /* PersephoneBridgingHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PersephoneBridgingHeader.h; sourceTree = ""; }; @@ -269,9 +262,9 @@ E47E2FE42220AA0700F747E6 /* AlbumViewLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AlbumViewLayout.swift; sourceTree = ""; }; E4928E0A2218D62A001D4BEA /* CGColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGColor.swift; sourceTree = ""; }; E4A642D922090CBE00067D21 /* MPDStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPDStatus.swift; sourceTree = ""; }; - E4A83BEE2221F8CF0098FED6 /* AlbumArtPrefsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumArtPrefsController.swift; sourceTree = ""; }; + E4A83BEE2221F8CF0098FED6 /* CoverArtPrefsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoverArtPrefsController.swift; sourceTree = ""; }; E4A83BF02221FAA00098FED6 /* PreferencesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesViewController.swift; sourceTree = ""; }; - E4A83BF3222207D50098FED6 /* AlbumArtService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumArtService.swift; sourceTree = ""; }; + E4A83BF3222207D50098FED6 /* CoverArtService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoverArtService.swift; sourceTree = ""; }; E4B11B52226928F20075461B /* AppState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppState.swift; sourceTree = ""; }; E4B11B572269296C0075461B /* ReSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ReSwift.framework; path = Carthage/Build/Mac/ReSwift.framework; sourceTree = ""; }; E4B11B582269296C0075461B /* ReSwift.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; name = ReSwift.framework.dSYM; path = Carthage/Build/Mac/ReSwift.framework.dSYM; sourceTree = ""; }; @@ -280,25 +273,18 @@ E4B11B65226A4F830075461B /* PlayerState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerState.swift; sourceTree = ""; }; E4B11B67226A4FA00075461B /* QueueState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QueueState.swift; sourceTree = ""; }; E4B11B69226A4FBC0075461B /* AlbumListState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumListState.swift; sourceTree = ""; }; - E4B11B6C226A5B180075461B /* UpdateQueueAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateQueueAction.swift; sourceTree = ""; }; - E4B11B6E226A5C7A0075461B /* UpdateStatusAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateStatusAction.swift; sourceTree = ""; }; - E4B11B70226A64E60075461B /* UpdateElapsedTimeAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateElapsedTimeAction.swift; sourceTree = ""; }; E4B11B72226A6C770075461B /* TrackTimer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrackTimer.swift; sourceTree = ""; }; E4B11B74226CC4D30075461B /* QueueReducer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QueueReducer.swift; sourceTree = ""; }; - E4B11B76226CC6BE0075461B /* UpdateQueuePosAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateQueuePosAction.swift; sourceTree = ""; }; E4B11B78226D346B0075461B /* AlbumListReducer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumListReducer.swift; sourceTree = ""; }; - E4B11B7A226D34F80075461B /* UpdateAlbumListAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateAlbumListAction.swift; sourceTree = ""; }; E4B11B7C2274E36D0075461B /* Differ.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; name = Differ.framework.dSYM; path = Carthage/Build/Mac/Differ.framework.dSYM; sourceTree = ""; }; E4B11B7D2274E36D0075461B /* Differ.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Differ.framework; path = Carthage/Build/Mac/Differ.framework; sourceTree = ""; }; E4B11BA82274EDE30075461B /* Loading.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Loading.swift; sourceTree = ""; }; - E4B11BAC2274F2E80075461B /* UpdateAlbumArt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateAlbumArt.swift; sourceTree = ""; }; E4B11BAF2274F71A0075461B /* EnumEquatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnumEquatable.swift; sourceTree = ""; }; - E4B11BB12274F9520075461B /* ResetAlbumListArt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResetAlbumListArt.swift; sourceTree = ""; }; - E4B11BB32275002D0075461B /* UpdateMPDDatabase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateMPDDatabase.swift; sourceTree = ""; }; E4B11BB52275374B0075461B /* UserNotificationsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserNotificationsController.swift; sourceTree = ""; }; - E4B11BB7227538FA0075461B /* CurrentArtView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrentArtView.swift; sourceTree = ""; }; - E4B11BB922753BF10075461B /* UpdateCurrentSong.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateCurrentSong.swift; sourceTree = ""; }; - E4B11BBB227541C40075461B /* UpdateCurrentArtwork.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateCurrentArtwork.swift; sourceTree = ""; }; + E4B11BB7227538FA0075461B /* CurrentCoverArtView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrentCoverArtView.swift; sourceTree = ""; }; + E4B11BBD2275EDAA0075461B /* PlayerActions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerActions.swift; sourceTree = ""; }; + E4B11BBF2275EE150075461B /* QueueActions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QueueActions.swift; sourceTree = ""; }; + E4B11BC12275EE410075461B /* AlbumListActions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumListActions.swift; sourceTree = ""; }; E4C8B53B22342005009A20F3 /* PreferencesWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesWindowController.swift; sourceTree = ""; }; E4C8B53D22349002009A20F3 /* MPDIdle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPDIdle.swift; sourceTree = ""; }; E4E8CC8F2204EC7F0024217A /* Delegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Delegate.swift; sourceTree = ""; }; @@ -452,7 +438,7 @@ children = ( E47E2FD62220720300F747E6 /* AlbumItemView.swift */, E47E2FD222205D2500F747E6 /* MainWindow.swift */, - E4B11BB7227538FA0075461B /* CurrentArtView.swift */, + E4B11BB7227538FA0075461B /* CurrentCoverArtView.swift */, ); path = Views; sourceTree = ""; @@ -535,9 +521,9 @@ E41E530C223EF4BA00173814 /* Extensions */ = { isa = PBXGroup; children = ( - E41E530D223EF4CF00173814 /* AlbumArtService+Caching.swift */, - E41E5311223EF74A00173814 /* AlbumArtService+Filesystem.swift */, - E41E530F223EF6CE00173814 /* AlbumArtService+Remote.swift */, + E41E530D223EF4CF00173814 /* CoverArtService+Caching.swift */, + E41E5311223EF74A00173814 /* CoverArtService+Filesystem.swift */, + E41E530F223EF6CE00173814 /* CoverArtService+Remote.swift */, ); path = Extensions; sourceTree = ""; @@ -545,7 +531,7 @@ E450AD8922262B420091BED3 /* Operations */ = { isa = PBXGroup; children = ( - E450AD9422262DF10091BED3 /* AlbumArtQueue.swift */, + E450AD9422262DF10091BED3 /* CoverArtQueue.swift */, ); path = Operations; sourceTree = ""; @@ -580,7 +566,7 @@ E4A83BED2221F5E60098FED6 /* Controllers */ = { isa = PBXGroup; children = ( - E4A83BEE2221F8CF0098FED6 /* AlbumArtPrefsController.swift */, + E4A83BEE2221F8CF0098FED6 /* CoverArtPrefsController.swift */, E41EA46B221636AF0068EF46 /* GeneralPrefsViewController.swift */, E4A83BF02221FAA00098FED6 /* PreferencesViewController.swift */, E4C8B53B22342005009A20F3 /* PreferencesWindowController.swift */, @@ -591,7 +577,7 @@ E4A83BF2222207BE0098FED6 /* Services */ = { isa = PBXGroup; children = ( - E4A83BF3222207D50098FED6 /* AlbumArtService.swift */, + E4A83BF3222207D50098FED6 /* CoverArtService.swift */, E439109722640213002982E9 /* SongNotifierService.swift */, E41E530C223EF4BA00173814 /* Extensions */, ); @@ -623,16 +609,9 @@ E4B11B6B226A5AF50075461B /* Actions */ = { isa = PBXGroup; children = ( - E4B11B7A226D34F80075461B /* UpdateAlbumListAction.swift */, - E4B11B70226A64E60075461B /* UpdateElapsedTimeAction.swift */, - E4B11B6C226A5B180075461B /* UpdateQueueAction.swift */, - E4B11B76226CC6BE0075461B /* UpdateQueuePosAction.swift */, - E4B11B6E226A5C7A0075461B /* UpdateStatusAction.swift */, - E4B11BAC2274F2E80075461B /* UpdateAlbumArt.swift */, - E4B11BB12274F9520075461B /* ResetAlbumListArt.swift */, - E4B11BB32275002D0075461B /* UpdateMPDDatabase.swift */, - E4B11BB922753BF10075461B /* UpdateCurrentSong.swift */, - E4B11BBB227541C40075461B /* UpdateCurrentArtwork.swift */, + E4B11BC12275EE410075461B /* AlbumListActions.swift */, + E4B11BBD2275EDAA0075461B /* PlayerActions.swift */, + E4B11BBF2275EE150075461B /* QueueActions.swift */, ); path = Actions; sourceTree = ""; @@ -890,31 +869,26 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E4A83BEF2221F8CF0098FED6 /* AlbumArtPrefsController.swift in Sources */, + E4A83BEF2221F8CF0098FED6 /* CoverArtPrefsController.swift in Sources */, E4F6B467221E233200ACF42A /* AlbumDataSource.swift in Sources */, E4B11BA92274EDE30075461B /* Loading.swift in Sources */, E408D3C2220E134F0006D9BE /* AlbumViewController.swift in Sources */, E40FE71B221B904300A4223F /* NSEvent.swift in Sources */, E4B11BB62275374B0075461B /* UserNotificationsController.swift in Sources */, - E4B11B7B226D34F80075461B /* UpdateAlbumListAction.swift in Sources */, - E4B11B6D226A5B180075461B /* UpdateQueueAction.swift in Sources */, E4B11B68226A4FA00075461B /* QueueState.swift in Sources */, E4928E0B2218D62A001D4BEA /* CGColor.swift in Sources */, E4C8B53E22349002009A20F3 /* MPDIdle.swift in Sources */, - E4B11BAD2274F2E80075461B /* UpdateAlbumArt.swift in Sources */, - E4B11BB42275002D0075461B /* UpdateMPDDatabase.swift in Sources */, - E4B11B6F226A5C7A0075461B /* UpdateStatusAction.swift in Sources */, E4F6B460221E119B00ACF42A /* QueueDataSource.swift in Sources */, E4C8B53C22342005009A20F3 /* PreferencesWindowController.swift in Sources */, E4B11B63226A4C510075461B /* AppReducer.swift in Sources */, E41E5307223C019100173814 /* MPDClient+Status.swift in Sources */, - E41E5310223EF6CE00173814 /* AlbumArtService+Remote.swift in Sources */, + E41E5310223EF6CE00173814 /* CoverArtService+Remote.swift in Sources */, E41E530B223C033700173814 /* MPDClient+Album.swift in Sources */, - E4B11B77226CC6BE0075461B /* UpdateQueuePosAction.swift in Sources */, E42410B62241B956005ED6DF /* MPDClient+Database.swift in Sources */, E4A642DA22090CBE00067D21 /* MPDStatus.swift in Sources */, + E4B11BC02275EE150075461B /* QueueActions.swift in Sources */, E47E2FD72220720300F747E6 /* AlbumItemView.swift in Sources */, - E450AD9522262DF10091BED3 /* AlbumArtQueue.swift in Sources */, + E450AD9522262DF10091BED3 /* CoverArtQueue.swift in Sources */, E41E52FD223BF87300173814 /* MPDClient+Connection.swift in Sources */, E450AD7E222620A10091BED3 /* Album.swift in Sources */, E4E8CC942206097F0024217A /* NotificationsController.swift in Sources */, @@ -924,10 +898,9 @@ E4EB2379220F10B8008C70C0 /* MPDPair.swift in Sources */, E4F6B463221E125900ACF42A /* QueueItem.swift in Sources */, E4A83BF12221FAA00098FED6 /* PreferencesViewController.swift in Sources */, + E4B11BC22275EE410075461B /* AlbumListActions.swift in Sources */, E4B11B61226A4C000075461B /* PlayerReducer.swift in Sources */, E465049A21E94DF500A70F4C /* WindowController.swift in Sources */, - E4B11BBA22753BF10075461B /* UpdateCurrentSong.swift in Sources */, - E4B11B71226A64E60075461B /* UpdateElapsedTimeAction.swift in Sources */, E41B22C621FB932700D544F6 /* MPDClient.swift in Sources */, E40F41F3221EDE27004B6CB8 /* Preferences.swift in Sources */, E47E2FDD2220A6D100F747E6 /* Time.swift in Sources */, @@ -943,27 +916,26 @@ E41E52FF223BF95E00173814 /* MPDClient+Transport.swift in Sources */, E47E2FD322205D2500F747E6 /* MainWindow.swift in Sources */, E47E2FD122205C4600F747E6 /* MainSplitViewController.swift in Sources */, - E4B11BB8227538FA0075461B /* CurrentArtView.swift in Sources */, + E4B11BB8227538FA0075461B /* CurrentCoverArtView.swift in Sources */, E4E8CC9A22075D370024217A /* MPDSong.swift in Sources */, E41EA46C221636AF0068EF46 /* GeneralPrefsViewController.swift in Sources */, E4E8CC902204EC7F0024217A /* Delegate.swift in Sources */, - E4A83BF4222207D50098FED6 /* AlbumArtService.swift in Sources */, + E4A83BF4222207D50098FED6 /* CoverArtService.swift in Sources */, E47E2FD5222071FD00F747E6 /* AlbumViewItem.swift in Sources */, E408D3BE220E03EE0006D9BE /* RawRepresentable.swift in Sources */, E4B11B66226A4F830075461B /* PlayerState.swift in Sources */, - E41E530E223EF4CF00173814 /* AlbumArtService+Caching.swift in Sources */, + E4B11BBE2275EDAA0075461B /* PlayerActions.swift in Sources */, + E41E530E223EF4CF00173814 /* CoverArtService+Caching.swift in Sources */, E4E8CC922204F4B80024217A /* QueueViewController.swift in Sources */, - E41E5312223EF74A00173814 /* AlbumArtService+Filesystem.swift in Sources */, + E41E5312223EF74A00173814 /* CoverArtService+Filesystem.swift in Sources */, E41E5301223BF99300173814 /* MPDClient+Queue.swift in Sources */, E4EB237B220F7CF1008C70C0 /* MPDAlbum.swift in Sources */, - E4B11BB22274F9520075461B /* ResetAlbumListArt.swift in Sources */, E41E5303223BF9C300173814 /* MPDClient+Idle.swift in Sources */, E4B11B53226928F20075461B /* AppState.swift in Sources */, E435E3E4221CD75D00184CFC /* NSImage.swift in Sources */, E4B11B6A226A4FBC0075461B /* AlbumListState.swift in Sources */, E41E5305223BFB0700173814 /* MPDClient+Error.swift in Sources */, E435E3E2221CD4E200184CFC /* NSFont.swift in Sources */, - E4B11BBC227541C40075461B /* UpdateCurrentArtwork.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Persephone/Actions/AlbumListActions.swift b/Persephone/Actions/AlbumListActions.swift new file mode 100644 index 0000000..3de06f6 --- /dev/null +++ b/Persephone/Actions/AlbumListActions.swift @@ -0,0 +1,21 @@ +// +// AlbumListActions.swift +// Persephone +// +// Created by Daniel Barber on 2019/4/28. +// Copyright © 2019 Dan Barber. All rights reserved. +// + +import Cocoa +import ReSwift + +struct ResetAlbumListCoverArt: Action {} + +struct UpdateCoverArt: Action { + var coverArt: NSImage? + var albumIndex: Int +} + +struct UpdateAlbumListAction: Action { + var albums: [MPDClient.MPDAlbum] +} diff --git a/Persephone/Actions/PlayerActions.swift b/Persephone/Actions/PlayerActions.swift new file mode 100644 index 0000000..ce4fe32 --- /dev/null +++ b/Persephone/Actions/PlayerActions.swift @@ -0,0 +1,30 @@ +// +// PlayerActions.swift +// Persephone +// +// Created by Daniel Barber on 2019/4/28. +// Copyright © 2019 Dan Barber. All rights reserved. +// + +import Cocoa +import ReSwift + +struct UpdateCurrentCoverArt: Action { + var coverArt: NSImage? +} + +struct UpdateCurrentSong: Action { + var currentSong: Song +} + +struct UpdateElapsedTimeAction: Action { + var elapsedTimeMs: UInt = 0 +} + +struct UpdateStatusAction: Action { + var status: MPDClient.MPDStatus +} + +struct StartedDatabaseUpdate: Action {} + +struct FinishedDatabaseUpdate: Action {} diff --git a/Persephone/Actions/UpdateQueueAction.swift b/Persephone/Actions/QueueActions.swift similarity index 56% rename from Persephone/Actions/UpdateQueueAction.swift rename to Persephone/Actions/QueueActions.swift index 3ad54e0..885b985 100644 --- a/Persephone/Actions/UpdateQueueAction.swift +++ b/Persephone/Actions/QueueActions.swift @@ -1,8 +1,8 @@ // -// UpdateQueueAction.swift +// QueueActions.swift // Persephone // -// Created by Daniel Barber on 2019/4/19. +// Created by Daniel Barber on 2019/4/28. // Copyright © 2019 Dan Barber. All rights reserved. // @@ -11,3 +11,7 @@ import ReSwift struct UpdateQueueAction: Action { var queue: [MPDClient.MPDSong] } + +struct UpdateQueuePosAction: Action { + var queuePos: Int +} diff --git a/Persephone/Actions/ResetAlbumListArt.swift b/Persephone/Actions/ResetAlbumListArt.swift deleted file mode 100644 index 8cac2bb..0000000 --- a/Persephone/Actions/ResetAlbumListArt.swift +++ /dev/null @@ -1,11 +0,0 @@ -// -// ResetAlbumListArt.swift -// Persephone -// -// Created by Daniel Barber on 2019/4/27. -// Copyright © 2019 Dan Barber. All rights reserved. -// - -import ReSwift - -struct ResetAlbumListArt: Action {} diff --git a/Persephone/Actions/UpdateAlbumArt.swift b/Persephone/Actions/UpdateAlbumArt.swift deleted file mode 100644 index 58423f0..0000000 --- a/Persephone/Actions/UpdateAlbumArt.swift +++ /dev/null @@ -1,15 +0,0 @@ -// -// UpdateAlbumArt.swift -// Persephone -// -// Created by Daniel Barber on 2019/4/27. -// Copyright © 2019 Dan Barber. All rights reserved. -// - -import Cocoa -import ReSwift - -struct UpdateAlbumArt: Action { - var coverArt: NSImage? - var albumIndex: Int -} diff --git a/Persephone/Actions/UpdateAlbumListAction.swift b/Persephone/Actions/UpdateAlbumListAction.swift deleted file mode 100644 index 2fb7ebb..0000000 --- a/Persephone/Actions/UpdateAlbumListAction.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// UpdateAlbumListAction.swift -// Persephone -// -// Created by Daniel Barber on 2019/4/21. -// Copyright © 2019 Dan Barber. All rights reserved. -// - -import ReSwift - -struct UpdateAlbumListAction: Action { - var albums: [MPDClient.MPDAlbum] -} diff --git a/Persephone/Actions/UpdateCurrentArtwork.swift b/Persephone/Actions/UpdateCurrentArtwork.swift deleted file mode 100644 index 812f610..0000000 --- a/Persephone/Actions/UpdateCurrentArtwork.swift +++ /dev/null @@ -1,14 +0,0 @@ -// -// UpdateCurrentArtwork.swift -// Persephone -// -// Created by Daniel Barber on 2019/4/27. -// Copyright © 2019 Dan Barber. All rights reserved. -// - -import Cocoa -import ReSwift - -struct UpdateCurrentArtwork: Action { - var coverArt: NSImage? -} diff --git a/Persephone/Actions/UpdateCurrentSong.swift b/Persephone/Actions/UpdateCurrentSong.swift deleted file mode 100644 index 3d83e10..0000000 --- a/Persephone/Actions/UpdateCurrentSong.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// UpdateCurrentSong.swift -// Persephone -// -// Created by Daniel Barber on 2019/4/27. -// Copyright © 2019 Dan Barber. All rights reserved. -// - -import ReSwift - -struct UpdateCurrentSong: Action { - var currentSong: Song -} diff --git a/Persephone/Actions/UpdateElapsedTimeAction.swift b/Persephone/Actions/UpdateElapsedTimeAction.swift deleted file mode 100644 index cc5e8e5..0000000 --- a/Persephone/Actions/UpdateElapsedTimeAction.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// UpdateElapsedTimeAction.swift -// Persephone -// -// Created by Daniel Barber on 2019/4/19. -// Copyright © 2019 Dan Barber. All rights reserved. -// - -import ReSwift - -struct UpdateElapsedTimeAction: Action { - var elapsedTimeMs: UInt = 0 -} diff --git a/Persephone/Actions/UpdateMPDDatabase.swift b/Persephone/Actions/UpdateMPDDatabase.swift deleted file mode 100644 index 3a5510a..0000000 --- a/Persephone/Actions/UpdateMPDDatabase.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// UpdateMPDDatabase.swift -// Persephone -// -// Created by Daniel Barber on 2019/4/27. -// Copyright © 2019 Dan Barber. All rights reserved. -// - -import ReSwift - -struct StartedDatabaseUpdate: Action {} - -struct FinishedDatabaseUpdate: Action {} diff --git a/Persephone/Actions/UpdateQueuePosAction.swift b/Persephone/Actions/UpdateQueuePosAction.swift deleted file mode 100644 index 39bc2b8..0000000 --- a/Persephone/Actions/UpdateQueuePosAction.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// UpdateQueuePosAction.swift -// Persephone -// -// Created by Daniel Barber on 2019/4/21. -// Copyright © 2019 Dan Barber. All rights reserved. -// - -import ReSwift - -struct UpdateQueuePosAction: Action { - var queuePos: Int -} diff --git a/Persephone/Actions/UpdateStatusAction.swift b/Persephone/Actions/UpdateStatusAction.swift deleted file mode 100644 index 1be9f13..0000000 --- a/Persephone/Actions/UpdateStatusAction.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// UpdateStatusAction.swift -// Persephone -// -// Created by Daniel Barber on 2019/4/19. -// Copyright © 2019 Dan Barber. All rights reserved. -// - -import ReSwift - -struct UpdateStatusAction: Action { - var status: MPDClient.MPDStatus -} diff --git a/Persephone/Assets.xcassets/blankAlbum.imageset/Contents.json b/Persephone/Assets.xcassets/defaultCoverArt.imageset/Contents.json similarity index 100% rename from Persephone/Assets.xcassets/blankAlbum.imageset/Contents.json rename to Persephone/Assets.xcassets/defaultCoverArt.imageset/Contents.json diff --git a/Persephone/Assets.xcassets/blankAlbum.imageset/blankAlbumDark.pdf b/Persephone/Assets.xcassets/defaultCoverArt.imageset/blankAlbumDark.pdf similarity index 100% rename from Persephone/Assets.xcassets/blankAlbum.imageset/blankAlbumDark.pdf rename to Persephone/Assets.xcassets/defaultCoverArt.imageset/blankAlbumDark.pdf diff --git a/Persephone/Assets.xcassets/blankAlbum.imageset/blankAlbumLight.pdf b/Persephone/Assets.xcassets/defaultCoverArt.imageset/blankAlbumLight.pdf similarity index 100% rename from Persephone/Assets.xcassets/blankAlbum.imageset/blankAlbumLight.pdf rename to Persephone/Assets.xcassets/defaultCoverArt.imageset/blankAlbumLight.pdf diff --git a/Persephone/Controllers/AlbumViewController.swift b/Persephone/Controllers/AlbumViewController.swift index d974b19..00925ef 100644 --- a/Persephone/Controllers/AlbumViewController.swift +++ b/Persephone/Controllers/AlbumViewController.swift @@ -70,7 +70,7 @@ class AlbumViewController: NSViewController, case "mpdLibraryDir": albumCollectionView.reloadData() case "fetchMissingArtworkFromInternet": - AppDelegate.store.dispatch(ResetAlbumListArt()) + AppDelegate.store.dispatch(ResetAlbumListCoverArt()) default: break } diff --git a/Persephone/Controllers/QueueViewController.swift b/Persephone/Controllers/QueueViewController.swift index 45c3920..0e3a2ad 100644 --- a/Persephone/Controllers/QueueViewController.swift +++ b/Persephone/Controllers/QueueViewController.swift @@ -14,7 +14,7 @@ class QueueViewController: NSViewController, var dataSource = QueueDataSource() @IBOutlet var queueView: NSOutlineView! - @IBOutlet var queueAlbumArtImage: NSImageView! + @IBOutlet var queueCoverArtImage: NSImageView! override func viewDidLoad() { super.viewDidLoad() diff --git a/Persephone/Controllers/UserNotificationsController.swift b/Persephone/Controllers/UserNotificationsController.swift index 10ac9f8..7ded587 100644 --- a/Persephone/Controllers/UserNotificationsController.swift +++ b/Persephone/Controllers/UserNotificationsController.swift @@ -22,9 +22,9 @@ class UserNotificationsController { status.state == .playing else { return } - let albumArtService = AlbumArtService(song: currentSong) + let coverArtService = CoverArtService(song: currentSong) - albumArtService.fetchBigAlbumArt() + coverArtService.fetchBigCoverArt() .done() { SongNotifierService(song: currentSong, image: $0) .deliver() diff --git a/Persephone/DataSources/AlbumDataSource.swift b/Persephone/DataSources/AlbumDataSource.swift index 9e78c9f..d3669ac 100644 --- a/Persephone/DataSources/AlbumDataSource.swift +++ b/Persephone/DataSources/AlbumDataSource.swift @@ -28,12 +28,12 @@ class AlbumDataSource: NSObject, NSCollectionViewDataSource { AppDelegate.mpdClient.getAlbumFirstSong(for: albums[indexPath.item].mpdAlbum) { guard let song = $0 else { return } - AlbumArtService(song: Song(mpdSong: song)) - .fetchAlbumArt() + CoverArtService(song: Song(mpdSong: song)) + .fetchCoverArt() .done { image in DispatchQueue.main.async { AppDelegate.store.dispatch( - UpdateAlbumArt(coverArt: image, albumIndex: indexPath.item) + UpdateCoverArt(coverArt: image, albumIndex: indexPath.item) ) } } diff --git a/Persephone/Extensions/NSImage.swift b/Persephone/Extensions/NSImage.swift index 08c32a1..f0c786f 100644 --- a/Persephone/Extensions/NSImage.swift +++ b/Persephone/Extensions/NSImage.swift @@ -12,7 +12,7 @@ extension NSImage { static let playIcon = NSImage(named: "playButton") static let pauseIcon = NSImage(named: "pauseButton") - static let defaultCoverArt = NSImage(named: "blankAlbum") + static let defaultCoverArt = NSImage(named: "defaultCoverArt") func toFitBox(size: NSSize) -> NSImage { var newSize: NSSize = NSSize.zero diff --git a/Persephone/Operations/AlbumArtQueue.swift b/Persephone/Operations/CoverArtQueue.swift similarity index 75% rename from Persephone/Operations/AlbumArtQueue.swift rename to Persephone/Operations/CoverArtQueue.swift index 1bc24ac..cc5cece 100644 --- a/Persephone/Operations/AlbumArtQueue.swift +++ b/Persephone/Operations/CoverArtQueue.swift @@ -1,5 +1,5 @@ // -// AlbumArtOperationQueue.swift +// CoverArtQueue.swift // Persephone // // Created by Daniel Barber on 2019/2/26. @@ -8,10 +8,10 @@ import Cocoa -class AlbumArtQueue { - static let shared = AlbumArtQueue() +class CoverArtQueue { + static let shared = CoverArtQueue() - let queue = DispatchQueue(label: "AlbumArtQueue") + let queue = DispatchQueue(label: "CoverArtQueue") var lastDispatchedTime = DispatchTime(uptimeNanoseconds: 0) - 1 func addToQueue(workItem: DispatchWorkItem) { diff --git a/Persephone/Preferences/Controllers/AlbumArtPrefsController.swift b/Persephone/Preferences/Controllers/CoverArtPrefsController.swift similarity index 93% rename from Persephone/Preferences/Controllers/AlbumArtPrefsController.swift rename to Persephone/Preferences/Controllers/CoverArtPrefsController.swift index 979ad71..50450df 100644 --- a/Persephone/Preferences/Controllers/AlbumArtPrefsController.swift +++ b/Persephone/Preferences/Controllers/CoverArtPrefsController.swift @@ -1,5 +1,5 @@ // -// AlbumArtPrefsController.swift +// CoverArtPrefsController.swift // Persephone // // Created by Daniel Barber on 2019/2/23. @@ -8,7 +8,7 @@ import Cocoa -class AlbumArtPrefsController: NSViewController { +class CoverArtPrefsController: NSViewController { var preferences = Preferences() override func viewDidLoad() { diff --git a/Persephone/Reducers/AlbumListReducer.swift b/Persephone/Reducers/AlbumListReducer.swift index 389585b..ba542e5 100644 --- a/Persephone/Reducers/AlbumListReducer.swift +++ b/Persephone/Reducers/AlbumListReducer.swift @@ -15,10 +15,10 @@ func albumListReducer(action: Action, state: AlbumListState?) -> AlbumListState case let action as UpdateAlbumListAction: state.albums = action.albums.map { Album(mpdAlbum: $0) } - case let action as UpdateAlbumArt: + case let action as UpdateCoverArt: state.albums[action.albumIndex].coverArt = .loaded(action.coverArt) - case is ResetAlbumListArt: + case is ResetAlbumListCoverArt: state.albums = AppDelegate.store.state.albumListState.albums.map { var album = $0 switch album.coverArt { diff --git a/Persephone/Reducers/PlayerReducer.swift b/Persephone/Reducers/PlayerReducer.swift index a4b05d1..3d36179 100644 --- a/Persephone/Reducers/PlayerReducer.swift +++ b/Persephone/Reducers/PlayerReducer.swift @@ -29,26 +29,26 @@ func playerReducer(action: Action, state: PlayerState?) -> PlayerState { state.currentSong = action.currentSong if let currentSong = state.currentSong { - let albumArtService = AlbumArtService(song: currentSong) + let coverArtService = CoverArtService(song: currentSong) - albumArtService.fetchBigAlbumArt() + coverArtService.fetchBigCoverArt() .done() { image in DispatchQueue.main.async { if let image = image { - AppDelegate.store.dispatch(UpdateCurrentArtwork(coverArt: image)) + AppDelegate.store.dispatch(UpdateCurrentCoverArt(coverArt: image)) } else { - AppDelegate.store.dispatch(UpdateCurrentArtwork(coverArt: .defaultCoverArt)) + AppDelegate.store.dispatch(UpdateCurrentCoverArt(coverArt: .defaultCoverArt)) } } } .cauterize() } else { DispatchQueue.main.async { - AppDelegate.store.dispatch(UpdateCurrentArtwork(coverArt: .defaultCoverArt)) + AppDelegate.store.dispatch(UpdateCurrentCoverArt(coverArt: .defaultCoverArt)) } } - case let action as UpdateCurrentArtwork: + case let action as UpdateCurrentCoverArt: state.currentArtwork = action.coverArt case let action as UpdateElapsedTimeAction: diff --git a/Persephone/Resources/Base.lproj/Main.storyboard b/Persephone/Resources/Base.lproj/Main.storyboard index c3c3e8f..ab0c78b 100644 --- a/Persephone/Resources/Base.lproj/Main.storyboard +++ b/Persephone/Resources/Base.lproj/Main.storyboard @@ -289,7 +289,7 @@ - + @@ -310,10 +310,10 @@ - + - + @@ -635,9 +635,9 @@ - + - + @@ -658,7 +658,7 @@ - + @@ -720,8 +720,8 @@ - + diff --git a/Persephone/Services/AlbumArtService.swift b/Persephone/Services/CoverArtService.swift similarity index 86% rename from Persephone/Services/AlbumArtService.swift rename to Persephone/Services/CoverArtService.swift index 1a846ee..027bc88 100644 --- a/Persephone/Services/AlbumArtService.swift +++ b/Persephone/Services/CoverArtService.swift @@ -1,5 +1,5 @@ // -// AlbumArtService.swift +// CoverArtService.swift // Persephone // // Created by Daniel Barber on 2019/2/23. @@ -9,7 +9,7 @@ import Cocoa import PromiseKit -class AlbumArtService { +class CoverArtService { var preferences = Preferences() let song: Song let album: Album @@ -20,14 +20,14 @@ class AlbumArtService { let bigArtworkSize = 600 var session = URLSession(configuration: .default) - let artworkQueue = DispatchQueue(label: "albumArtQueue", qos: .utility) + let coverArtQueue = DispatchQueue(label: "coverArtQueue", qos: .utility) init(song: Song) { self.song = song self.album = song.album } - func fetchBigAlbumArt() -> Promise { + func fetchBigCoverArt() -> Promise { return firstly { self.getArtworkFromFilesystem() }.then { (image: NSImage?) -> Promise in @@ -37,14 +37,14 @@ class AlbumArtService { } } - func fetchAlbumArt() -> Guarantee { + func fetchCoverArt() -> Guarantee { return firstly { self.getCachedArtwork() }.then { (artwork: NSImage?) -> Promise in artwork.map(Promise.value) ?? self.getArtworkFromFilesystem() }.then { (artwork: NSImage?) -> Promise in artwork.map(Promise.value) ?? self.getRemoteArtwork() - }.compactMap(on: artworkQueue) { + }.compactMap(on: coverArtQueue) { return self.sizeAndCacheImage($0).map(Optional.some) }.recover { _ in return .value(nil) diff --git a/Persephone/Services/Extensions/AlbumArtService+Caching.swift b/Persephone/Services/Extensions/CoverArtService+Caching.swift similarity index 85% rename from Persephone/Services/Extensions/AlbumArtService+Caching.swift rename to Persephone/Services/Extensions/CoverArtService+Caching.swift index eb64e50..29a754e 100644 --- a/Persephone/Services/Extensions/AlbumArtService+Caching.swift +++ b/Persephone/Services/Extensions/CoverArtService+Caching.swift @@ -1,5 +1,5 @@ // -// AlbumArtService+Caching.swift +// CoverArtService+Caching.swift // Persephone // // Created by Daniel Barber on 2019/3/17. @@ -9,14 +9,14 @@ import Cocoa import PromiseKit -extension AlbumArtService { +extension CoverArtService { static let cacheDir = try! FileManager.default.url(for: .cachesDirectory, in: .userDomainMask, appropriateFor: nil, create: true).appendingPathComponent(Bundle.main.bundleIdentifier!) func getCachedArtwork() -> Promise { return Promise { seal in - artworkQueue.async { + coverArtQueue.async { if self.isArtworkCached() { - let cacheFilePath = AlbumArtService.cacheDir.appendingPathComponent(self.album.hash).path + let cacheFilePath = CoverArtService.cacheDir.appendingPathComponent(self.album.hash).path let data = FileManager.default.contents(atPath: cacheFilePath) let image = NSImage(data: data ?? Data()) ?? NSImage.defaultCoverArt @@ -29,7 +29,7 @@ extension AlbumArtService { } func cacheArtwork(data: Data?) { - artworkQueue.async { + coverArtQueue.async { guard let bundleIdentifier = Bundle.main.bundleIdentifier, let cacheDir = try? FileManager.default.url(for: .cachesDirectory, in: .userDomainMask, appropriateFor: nil, create: true) .appendingPathComponent(bundleIdentifier) @@ -44,7 +44,7 @@ extension AlbumArtService { } func isArtworkCached() -> Bool { - let cacheFilePath = AlbumArtService.cacheDir.appendingPathComponent(album.hash).path + let cacheFilePath = CoverArtService.cacheDir.appendingPathComponent(album.hash).path return FileManager.default.fileExists(atPath: cacheFilePath) } diff --git a/Persephone/Services/Extensions/AlbumArtService+Filesystem.swift b/Persephone/Services/Extensions/CoverArtService+Filesystem.swift similarity index 94% rename from Persephone/Services/Extensions/AlbumArtService+Filesystem.swift rename to Persephone/Services/Extensions/CoverArtService+Filesystem.swift index d0d8437..e56226d 100644 --- a/Persephone/Services/Extensions/AlbumArtService+Filesystem.swift +++ b/Persephone/Services/Extensions/CoverArtService+Filesystem.swift @@ -1,5 +1,5 @@ // -// AlbumArtService+Filesystem.swift +// CoverArtService+Filesystem.swift // Persephone // // Created by Daniel Barber on 2019/3/17. @@ -9,7 +9,7 @@ import Cocoa import PromiseKit -extension AlbumArtService { +extension CoverArtService { var coverArtFilenames: [String] { return [ "folder.jpg", @@ -24,7 +24,7 @@ extension AlbumArtService { func getArtworkFromFilesystem() -> Promise { return Promise { seal in - artworkQueue.async { + coverArtQueue.async { guard let artworkPath = self.fileSystemArtworkFilePath() else { seal.fulfill(nil); return } diff --git a/Persephone/Services/Extensions/AlbumArtService+Remote.swift b/Persephone/Services/Extensions/CoverArtService+Remote.swift similarity index 88% rename from Persephone/Services/Extensions/AlbumArtService+Remote.swift rename to Persephone/Services/Extensions/CoverArtService+Remote.swift index 4acba68..e150d82 100644 --- a/Persephone/Services/Extensions/AlbumArtService+Remote.swift +++ b/Persephone/Services/Extensions/CoverArtService+Remote.swift @@ -1,5 +1,5 @@ // -// AlbumArtService+Remote.swift +// CoverArtService+Remote.swift // Persephone // // Created by Daniel Barber on 2019/3/17. @@ -11,7 +11,7 @@ import SwiftyJSON import PromiseKit import PMKFoundation -extension AlbumArtService { +extension CoverArtService { enum RemoteArtworkError: Error { case noArtworkAvailable case notConfigured @@ -20,12 +20,12 @@ extension AlbumArtService { func getRemoteArtwork() -> Promise { return Promise { seal in if preferences.fetchMissingArtworkFromInternet { - artworkQueue.async { - let albumArtWorkItem = DispatchWorkItem { + coverArtQueue.async { + let coverArtWorkItem = DispatchWorkItem { self.getArtworkFromMusicBrainz().map(Optional.some).pipe(to: seal.resolve) } - AlbumArtQueue.shared.addToQueue(workItem: albumArtWorkItem) + CoverArtQueue.shared.addToQueue(workItem: coverArtWorkItem) } } else { throw RemoteArtworkError.notConfigured diff --git a/Persephone/Views/CurrentArtView.swift b/Persephone/Views/CurrentCoverArtView.swift similarity index 81% rename from Persephone/Views/CurrentArtView.swift rename to Persephone/Views/CurrentCoverArtView.swift index 9e6ffd5..8fab09c 100644 --- a/Persephone/Views/CurrentArtView.swift +++ b/Persephone/Views/CurrentCoverArtView.swift @@ -1,5 +1,5 @@ // -// CurrentArtView.swift +// CurrentCoverArtView.swift // Persephone // // Created by Daniel Barber on 2019/4/27. @@ -9,7 +9,7 @@ import Cocoa import ReSwift -class CurrentArtView: NSImageView { +class CurrentCoverArtView: NSImageView { required init?(coder: NSCoder) { super.init(coder: coder) @@ -19,7 +19,7 @@ class CurrentArtView: NSImageView { } } -extension CurrentArtView: StoreSubscriber { +extension CurrentCoverArtView: StoreSubscriber { typealias StoreSubscriberStateType = NSImage? func newState(state: NSImage?) {