Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: HermesApp/Hermes
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.1.18
Choose a base ref
...
head repository: HermesApp/Hermes
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 9,994 additions and 20,269 deletions.
  1. +1 −0 .gitignore
  2. +5 −0 .travis.yml
  3. +212 −22 CHANGELOG.md
  4. +0 −104 Classes/Growler.m
  5. +0 −601 Classes/HermesAppDelegate.m
  6. +0 −21 Classes/HistoryView.m
  7. +0 −13 Classes/Keychain.h
  8. +0 −69 Classes/Pandora.h
  9. +0 −787 Classes/Pandora.m
  10. +0 −40 Classes/Pandora/API.h
  11. +0 −122 Classes/Pandora/API.m
  12. +0 −7 Classes/Pandora/Crypt.h
  13. +0 −84 Classes/Pandora/Crypt.m
  14. +0 −25 Classes/Pandora/Song.h
  15. +0 −89 Classes/Pandora/Song.m
  16. +0 −78 Classes/PreferencesController.m
  17. +0 −390 Classes/StationController.m
  18. +22 −0 Documentation/Contributing.md
  19. +41 −0 Documentation/FAQ.md
  20. +24 −0 Documentation/KeyboardShortcuts.md
  21. +63 −0 Documentation/ReleaseEngineering.md
  22. +1 −0 Frameworks/Sparkle.framework/Modules
  23. +1 −0 Frameworks/Sparkle.framework/PrivateHeaders
  24. +8 −18 Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcast.h
  25. +24 −40 Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
  26. +47 −0 Frameworks/Sparkle.framework/Versions/A/Headers/SUErrors.h
  27. +18 −0 Frameworks/Sparkle.framework/Versions/A/Headers/SUExport.h
  28. +38 −0 Frameworks/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h
  29. +291 −88 Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h
  30. +7 −6 Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h
  31. +7 −9 Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h
  32. +9 −5 Frameworks/Sparkle.framework/Versions/A/Headers/Sparkle.h
  33. +6 −0 Frameworks/Sparkle.framework/Versions/A/Modules/module.modulemap
  34. +35 −0 Frameworks/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h
  35. +16 −12 ...kle.framework/Versions/A/Resources/{finish_installation.app → Autoupdate.app}/Contents/Info.plist
  36. BIN Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate
  37. 0 ...parkle.framework/Versions/A/Resources/{finish_installation.app → Autoupdate.app}/Contents/PkgInfo
  38. BIN Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns
  39. BIN Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib
  40. BIN .../Resources/{finish_installation.app → Autoupdate.app}/Contents/Resources/en.lproj/Sparkle.strings
  41. +13 −9 Frameworks/Sparkle.framework/Versions/A/Resources/Info.plist
  42. +0 −38 Frameworks/Sparkle.framework/Versions/A/Resources/License.txt
  43. +146 −14 Frameworks/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist
  44. BIN Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib
  45. BIN Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib
  46. BIN Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUPasswordPrompt.nib
  47. BIN Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib
  48. BIN Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib
  49. BIN Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings
  50. BIN ...Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/MacOS/finish_installation
  51. BIN ...ks/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/SUStatus.nib
  52. BIN ...ks/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/Sparkle.icns
  53. BIN Frameworks/Sparkle.framework/Versions/A/Sparkle
  54. +292 −675 Hermes.xcodeproj/project.pbxproj
  55. +71 −0 Hermes.xcodeproj/xcshareddata/xcschemes/Archive Hermes.xcscheme
  56. +91 −0 Hermes.xcodeproj/xcshareddata/xcschemes/Hermes (Release — media keys enabled).xcscheme
  57. +91 −0 Hermes.xcodeproj/xcshareddata/xcschemes/Hermes.xcscheme
  58. +71 −0 Hermes.xcodeproj/xcshareddata/xcschemes/Upload Hermes Release.xcscheme
  59. +0 −9 Hermes_Prefix.pch
  60. +3 −3 {Classes → ImportedSources}/FMEngine/FMEngine.h
  61. +2 −2 {Classes → ImportedSources}/FMEngine/FMEngine.m
  62. +19 −0 ImportedSources/FMEngine/LICENSE
  63. 0 {Classes → ImportedSources}/FMEngine/NSString+FMEngine.h
  64. +1 −1 {Classes → ImportedSources}/FMEngine/NSString+FMEngine.m
  65. 0 { → ImportedSources}/SPMediaKeyTap/LICENSE
  66. 0 {SPMediaKeyTap/SPInvocationGrabbing → ImportedSources/SPMediaKeyTap}/NSObject+SPInvocationGrabbing.h
  67. +127 −0 ImportedSources/SPMediaKeyTap/NSObject+SPInvocationGrabbing.m
  68. +10 −10 { → ImportedSources}/SPMediaKeyTap/SPMediaKeyTap.h
  69. +338 −0 ImportedSources/SPMediaKeyTap/SPMediaKeyTap.m
  70. +3 −3 {Classes → ImportedSources/blowfish}/blowfish.c
  71. +2 −2 {Classes → ImportedSources/blowfish}/blowfish.h
  72. +1 −1 LICENSE
  73. +28 −6 Makefile
  74. +29 −9 README.md
  75. +131 −0 RELEASING.md
  76. +0 −1 Resources/Credits.html
  77. +14 −0 Resources/Credits.rtf
  78. +2,384 −12,320 Resources/English.lproj/MainMenu.xib
  79. +17 −10 Resources/Hermes-Info.plist
  80. +116 −91 Resources/Hermes.sdef
  81. +22 −0 Resources/Icons/LICENSE
  82. BIN Resources/Icons/Pandora-Menu-Dark-Pause.pdf
  83. BIN Resources/Icons/Pandora-Menu-Dark-Play.pdf
  84. BIN Resources/Icons/action.png
  85. BIN Resources/Icons/music-note.png
  86. BIN Resources/black-pandora.png
  87. +0 −59 Resources/build_sparkle.sh
  88. BIN Resources/pandora-black.icns
  89. +0 −67 SBJson/NSObject+SBJson.h
  90. +0 −58 SBJson/NSObject+SBJson.m
  91. +0 −84 SBJson/SBJson.h
  92. +0 −101 SBJson/SBJsonParser.h
  93. +0 −100 SBJson/SBJsonParser.m
  94. +0 −161 SBJson/SBJsonStreamParser.h
  95. +0 −255 SBJson/SBJsonStreamParser.m
  96. +0 −37 SBJson/SBJsonStreamParserAccumulator.h
  97. +0 −47 SBJson/SBJsonStreamParserAccumulator.m
  98. +0 −148 SBJson/SBJsonStreamParserAdapter.h
  99. +0 −164 SBJson/SBJsonStreamParserAdapter.m
  100. +0 −83 SBJson/SBJsonStreamParserState.h
  101. +0 −355 SBJson/SBJsonStreamParserState.m
  102. +0 −188 SBJson/SBJsonStreamWriter.h
  103. +0 −366 SBJson/SBJsonStreamWriter.m
  104. +0 −36 SBJson/SBJsonStreamWriterAccumulator.h
  105. +0 −52 SBJson/SBJsonStreamWriterAccumulator.m
  106. +0 −69 SBJson/SBJsonStreamWriterState.h
  107. +0 −139 SBJson/SBJsonStreamWriterState.m
  108. +0 −67 SBJson/SBJsonTokeniser.h
  109. +0 −458 SBJson/SBJsonTokeniser.m
  110. +0 −58 SBJson/SBJsonUTF8Stream.h
  111. +0 −139 SBJson/SBJsonUTF8Stream.m
  112. +0 −110 SBJson/SBJsonWriter.h
  113. +0 −109 SBJson/SBJsonWriter.m
  114. +0 −126 SPMediaKeyTap/SPInvocationGrabbing/NSObject+SPInvocationGrabbing.m
  115. +0 −327 SPMediaKeyTap/SPMediaKeyTap.m
  116. +10 −0 Scripts/archive.sh
  117. +147 −0 Scripts/releaselib.sh
  118. +27 −0 Scripts/sign_sparkle_release.sh
  119. +15 −0 Scripts/upload_release.sh
  120. +37 −0 Scripts/verify_sparkle_signature.sh
  121. +3 −2 { → Sources}/AudioStreamer/ASPlaylist.h
  122. +38 −17 { → Sources}/AudioStreamer/ASPlaylist.m
  123. +3 −1 { → Sources}/AudioStreamer/AudioStreamer.h
  124. +44 −6 { → Sources}/AudioStreamer/AudioStreamer.m
  125. 0 {Classes → Sources/Controllers}/AuthController.h
  126. +49 −11 {Classes → Sources/Controllers}/AuthController.m
  127. +1 −1 {Classes → Sources/Controllers}/HistoryController.h
  128. +41 −31 {Classes → Sources/Controllers}/HistoryController.m
  129. +21 −6 {Classes → Sources/Controllers}/PlaybackController.h
  130. +232 −76 {Classes → Sources/Controllers}/PlaybackController.m
  131. +23 −2 {Classes → Sources/Controllers}/PreferencesController.h
  132. +176 −0 Sources/Controllers/PreferencesController.m
  133. +1 −1 {Classes → Sources/Controllers}/StationController.h
  134. +481 −0 Sources/Controllers/StationController.m
  135. +6 −1 {Classes → Sources/Controllers}/StationsController.h
  136. +184 −90 {Classes → Sources/Controllers}/StationsController.m
  137. 0 {Classes → Sources}/FileReader.h
  138. 0 {Classes → Sources}/FileReader.m
  139. +13 −0 Sources/HermesApp.h
  140. +64 −0 Sources/HermesApp.m
  141. +19 −7 {Classes → Sources}/HermesAppDelegate.h
  142. +908 −0 Sources/HermesAppDelegate.m
  143. +18 −0 Sources/Hermes_Prefix.pch
  144. +2 −0 {Classes/Commands → Sources/Integration}/AppleScript.h
  145. +50 −39 {Classes/Commands → Sources/Integration}/AppleScript.m
  146. +1 −1 {Classes → Sources/Integration}/Growler.h
  147. +183 −0 Sources/Integration/Growler.m
  148. +27 −0 Sources/Integration/Keychain.h
  149. +15 −15 {Classes → Sources/Integration}/Keychain.m
  150. +3 −6 {Classes → Sources/Integration}/Scrobbler.h
  151. +86 −92 {Classes → Sources/Integration}/Scrobbler.m
  152. 0 {Classes → Sources/Models}/HistoryItem.h
  153. +1 −3 {Classes → Sources/Models}/HistoryItem.m
  154. 0 {Classes → Sources/Models}/ImageLoader.h
  155. +8 −8 {Classes → Sources/Models}/ImageLoader.m
  156. 0 {Classes → Sources}/NetworkConnection.h
  157. +1 −5 {Classes → Sources}/NetworkConnection.m
  158. +41 −0 Sources/Notifications.h
  159. +38 −0 Sources/Notifications.m
  160. +30 −0 Sources/Pandora/Crypt.h
  161. +62 −0 Sources/Pandora/Crypt.m
  162. +338 −0 Sources/Pandora/Pandora.h
  163. +881 −0 Sources/Pandora/Pandora.m
  164. +24 −0 Sources/Pandora/PandoraDevice.h
  165. +55 −0 Sources/Pandora/PandoraDevice.m
  166. +27 −0 Sources/Pandora/Song.h
  167. +104 −0 Sources/Pandora/Song.m
  168. +3 −2 {Classes → Sources}/Pandora/Station.h
  169. +24 −25 {Classes → Sources}/Pandora/Station.m
  170. +3 −0 {Classes → Sources}/URLConnection.h
  171. +47 −22 {Classes → Sources}/URLConnection.m
  172. +13 −0 Sources/Views/HermesBackgroundView.h
  173. +22 −0 Sources/Views/HermesBackgroundView.m
  174. +13 −0 Sources/Views/HermesMainWindow.h
  175. +25 −0 Sources/Views/HermesMainWindow.m
  176. +13 −0 Sources/Views/HermesVolumeSliderCell.h
  177. +34 −0 Sources/Views/HermesVolumeSliderCell.m
  178. +13 −0 Sources/Views/HistoryCollectionView.h
  179. +22 −0 Sources/Views/HistoryCollectionView.m
  180. 0 {Classes → Sources/Views}/HistoryView.h
  181. +46 −0 Sources/Views/HistoryView.m
  182. +18 −0 Sources/Views/LabelHoverShowField.h
  183. +55 −0 Sources/Views/LabelHoverShowField.m
  184. +13 −0 Sources/Views/LabelHoverShowFieldCell.h
  185. +46 −0 Sources/Views/LabelHoverShowFieldCell.m
  186. +13 −0 Sources/Views/MusicProgressSliderCell.h
  187. +72 −0 Sources/Views/MusicProgressSliderCell.m
  188. +26 −0 Sources/Views/NSDrawerWindow-HermesFirstResponderWorkaround.m
  189. +16 −0 Sources/Views/StationsTableView.h
  190. +21 −0 Sources/Views/StationsTableView.m
  191. +0 −2 { → Sources}/main.m
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
build
.DS_Store
.LSOverride
*.xcodeproj/*.mode*
*.xcodeproj/*.pbxuser
*.xcodeproj/xcuserdata
5 changes: 5 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
osx_image: xcode8.2
language: objective-c
before_install:
- gem install xcpretty-travis-formatter
script: make travis
234 changes: 212 additions & 22 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,193 @@
# Version 1.3.2 (unreleased)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.3.1...HEAD)

* [fixed by @zachhowe] Allow user customized app icons for Hermes to show up in Dock (#304)

# Version 1.3.1 (3/26/17)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.3.0...v1.3.1)

* [added by @paullj1] Allow display of play/pause status in the Dock to be disabled (#278)
* [added by @paullj1] Add “Skip” button to macOS song notifications
* [added by @nriley] Better distinguish the play/pause icon from the album art in the Dock (#277)
* [added by @nriley] Use native Touch Bar controls (when Hermes is not the active application) in macOS 10.12.2 and later (#287)
* [added by @brettpynn] Provide notification of stream stopping when Hermes is quit (#293)
* [changed by @nriley] Clarify “thumbs up” and “rating” in scripting (#196)
* [fixed by @nriley] Fix “current song” reference in scripting
* [fixed by @nriley] Work around a regression in macOS 10.12 which caused issues when showing drawers
* [fixed by @elemongw] Fix checking then unchecking “Use proxy for audio” leaving proxy enabled (#290)
* [fixed by @nriley] Don’t crash, instead display a message when proxy information is invalid
* [fixed by @yerke] Work around Pandora API returning errors in user.canSubscribe (#296)
* [fixed by @grimreaper] Several code cleanups (#283)

# Version 1.3.0 (9/20/16)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.2.8...v1.3.0)

* [added by @paullj1] Allow skipping songs (if using banners) and liking/disliking songs (if using alerts) from macOS notifications (#273)
* [added by @paullj1] Optionally show album art and/or track titles in the menu bar (#208, #275)
* [added by @paullj1] Optionally show album art and play/pause status in the Dock (#275)
* [added by @paullj1 and @nriley] Display currently playing station in menubar and Dock menu
* [changed by @paullj1] Make Hermes macOS song notifications look more like iTunes notifications (#273)
* [changed by @nriley] Simplify and reduce screen space used by main window
* [fixed by @nriley] Allow the Hermes to appear over fullscreen applications when the Dock icon is hidden
* [fixed by @nriley] Work around OS X 10.10 bug causing strange drawer background coloring
* [fixed by @nriley] Work around macOS 10.12 bug causing volume slider and song progress not to display
* [fixed by @nriley] More reliably respond to the play/pause keyboard shortcut (space bar)
* [fixed by @nriley] Properly show the About Hermes window when Hermes’ Dock icon is hidden

# Version 1.2.8 (6/24/16)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.2.7...v1.2.8)

* [changed by @nriley] Fix a regression introduced in 1.2.7 which degraded audio quality for non-Pandora One users (#263)
* [changed by @nriley] Always display Shuffle (formerly QuickMix) at the top of the station list, more like the Pandora Web site
* [changed by @reedloden] Scrobble securely where possible
* [added by @nriley] Only display song/artist/album arrows in the playback screen on mouseover
* [added by @nriley] Allow double-clicking seeds or genres to create a station or add a seed
* [added by @nriley] Allow the likes/dislikes lists in the Edit Station window to be sorted (#266)
* [added by @nriley] Save the size and position of the Edit Station window
* [added by @nriley] Sort station genres and improve their display
* [added by @nriley] Show playback date/time with tooltips in history drawer
* [added by @nriley] Sign with Developer ID for Gatekeeper
* [fixed by @nriley] Don’t allow the drawer or toolbar to be used before you’re logged into Pandora (#170)
* [fixed by @nriley] Display the station drawer when asking the user to “Choose a station” (#170)
* [fixed by @nriley] Don’t crash when adding or removing seeds from a station
* [fixed by @nriley] Don’t show the add station sheet after dismissing another sheet
* [fixed by @nriley] Fix search results showing up in unexpected places
* [fixed by @nriley] Allow clicking on album art in the history drawer (#178)
* [fixed by @nriley] Improve history display (e.g. no longer scrolls to/selects the oldest song)
* [fixed by @nriley] Better handle deleting the current station
* [fixed by @nriley] Allow editing seeds in genre stations (#267)
* [fixed by @nriley] Immediately reflect changes to likes/dislikes in the Edit Station window
* [fixed by @nriley] Display a progress indicator rather than appearing to get “stuck” when changing stations

# Version 1.2.7 (5/11/16)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.2.6...v1.2.7)

* [changed by @nriley] Dropped support for OS X 10.9 and earlier
* [changed by @winny-] Removed “Tired of Song” from default toolbar
* [added by @ericmason] Support for high quality, 192 Kbps MP3 streams
* [added by @obycode] Add distributed notification for state changes
* [added by @nriley] Only enable station menu items/buttons where appropriate (#240)
* [fixed by @jmjones88] Update to build with Xcode 7.3 and fix for OS X 10.11
* [fixed by @dwaite] Fix truncation at 1024 bytes of response, usually impacting the ability to log in (#244)
* [fixed by @reedloden] Update Sparkle and use SSL to retrieve Hermes’ appcast to address a Sparkle security vulnerability (#254)
* [fixed by @nriley] Make lyrics button work again (LyricWikia API change)
* [fixed by @nriley] Make Last.fm authorization work again (#242)
* [fixed by @nriley] Rename QuickMix to Shuffle to be consistent with current Pandora terminology (#201)
* [fixed by @nriley] Use monospaced numbers in OS X 10.11 for song progress
* [fixed by @nriley] Better handle errors when opening a connection
* [fixed by @nriley] Fix an error when handling media keys

# Version 1.2.6 (5/6/15)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.2.5...v1.2.6)

* [changed by @winny-] Dropped support for OS X 10.8 and earlier
* [changed by @winny-] Use Apple’s JSON parser instead of SBJSON (#213)
* [fixed by @nriley] Station sort-by-date works again (#209)
* [fixed by @Aahung] Toolbar “Stations” button’s text now correctly reads as “Stations” (#224)
* [added by @Aahung] Playback progress bar replaced with iTunes-like progress bar (#223)

# Version 1.2.5 (12/28/14)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.2.4...v1.2.5)

* [fixed by @nriley] Restore OS X 10.7 support

# Version 1.2.4 (12/26/14)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.2.3...v1.2.4)

* [fixed by @nriley] General UI cleanup of the seed editor and main Hermes window
* [added by @Djspaceg, @nriley] Play/pause menubar icons
* [changed by @winny-] Stop asking for donations

# Version 1.2.3 (11/9/14)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.2.2...v1.2.3)

* [fixed by @vadimpanin] Fix HTTPS proxy support (#193)
* [fixed by @cazierb] Fix issue with the Hermes menubar icon and the Yosemite dark theme (#198)
* [added by @winny-] Add menu item Window → Main Window ⌘1
* [changed by @winny-] Default to only show notifications for track change

# Version 1.2.2 (7/12/14)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.2.1...v1.2.2)

* [fixed by @gbooker] Always re-grab media keys after opening other app that uses media keys (#184)
* [changed by @winny-] Default to Notification Center type notifications
* [fixed by @winny-] Small improvements to logging and the login UI
* [added by @winny-, @nriley] Document keyboard shortcuts in [Documentation/KeyboardShortcuts.md](https://github.com/HermesApp/Hermes/blob/master/Documentation/KeyboardShortcuts.md)

# Version 1.2.1 (5/29/14)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.2.0...v1.2.1)

* [added by @winny-] Internal support to switch device partner logins. Currently uses
Android for regular Pandora users, and Pandora One Desktop for
Pandora One users.
* [fixed by @winny-] Set volume even if paused (#169).
* [fixed by @nriley, @winny-] Various UI improvements including sanity-checking login
credentials and adding transparency to music note icon.
* [fixed by @nriley] Resolve issue with SPMediaKeyTap (media keys library) (#172).
* [added by @winny-] Show album art in non-Growl notifications on Mavericks.
* [fixed by @winny-] Issue where non-Growl notification clicked does not raise Hermes.
* [added by @winny-] Optional debug logging to `~/Library/Logs/Hermes/` enabled at startup
— hold down Option (⌥) and look for ladybug emoji (🐞) in menubar.
* [fixed by @nriley, @winny-] Do not disable Like/Dislike in menu bar and Dock menu,
instead simply show status using a checkmark — this way one may “undo” Like
or Dislike from any menu item.

# Version 1.2.0 (4/4/14)

[Full changelog](https://github.com/HermesApp/Hermes/compare/v1.1.20...v1.2.0)

* [fixed] Always display the menubar on startup, thanks @nriley!
* [fixed] Several improvements to the menubar including reclaiming ⌘M for
minimize, show liked status (#146), rename ambiguious menu items.
Thanks @nriley!
* [added] Pause on Screen lock (Try Control-Shift-Power) (#154), thanks @Elemecca!
* [fixed] Spacebar always pauses even when drawer visible except when searching
for a station (#150), thanks @winny-!
* [added] AppleScript variables to get current playback progress
`playback position` and song length `current song duration`
(#157) Thanks @winny-!
* [fixed] Preferences window now resizes to fit contents, shows current section
title, cleaner layout. Thanks @nriley!
* [fixed] Do not show menubar when Hermes is a status bar item and expose
functionality in status bar item dropdown menu (#134), thanks @nriley!
* [added] Show tooltips for now playing title, artist, and album. Thanks @nriley!
* [fixed] Only show display current song in Notification Center. Thanks @winny-!
* [fixed] Support PC media keys (#122). Thanks @winny-!
* [fixed] The “Help” dropdown now has functionality. (Reported by @nriley)
Thanks @winny- & @nriley!
* [fixed] Show authors and contributors in the “About” window. Also show links
from the previously mentioned “Help” dropdown menu. (Reported by
@nriley) Thanks @winny- & @nriley!

# Version 1.1.20 (9/16/13)

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.1.19...v1.1.20)

This release entirely brought to you through the fantastic contributions of
@nriley.

* [added] Various improvements to managing the drawer of songs/stations, thanks
@nriley!
* [fixed] Don’t switch to the discrete graphics card (#144), thanks to @nriley

# Version 1.1.19 (9/4/13)

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.1.18...v1.1.19)

* [fixed] Actually fixed for 10.6 (retargeting AudioStreamer as well as SBJson),
thanks again to @nriley

# Version 1.1.18 (9/3/13)

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.1.17...v1.1.18)
@@ -40,7 +230,7 @@

* [added] Added the option of using a black/white status bar icon instead of one
which has color, thanks to @bradmkjr
* [fixed] Be sure a blank process name doesn't show up in the Activity Monitor
* [fixed] Be sure a blank process name doesnt show up in the Activity Monitor
* [fixed] The ⌘H shortcut now works again

# Version 1.1.13 (1/4/13)
@@ -55,7 +245,7 @@
windows
* [added] Hermes automatically retries failed requests in addition to showing an
error screen
* [fixed] Don't show extra labels on the auth view by default, thanks to
* [fixed] Dont show extra labels on the auth view by default, thanks to
@kirbylover4000
* [fixed] Resolve a problem where the application could not be quit through
applescript
@@ -83,7 +273,7 @@
[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.1.9...v1.1.10)

* [added] Ability to sort stations list by name or date of creation
* [added] Receive notifications through Growl or Mountain Lion's new
* [added] Receive notifications through Growl or Mountain Lions new
Notification Center
* [fixed] Reduced memory retained over time

@@ -119,7 +309,7 @@

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.1.5...v1.1.6)

* [added] Add an option to not proxy audio streams because it's not necessarily
* [added] Add an option to not proxy audio streams because its not necessarily
required by Pandora. Thanks to @osener for the suggestion.
* [fixed] Switching stations no longer plays two songs

@@ -171,36 +361,36 @@
[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.1.0...v1.1.1)

* [added] New UI for editing a station
* [fixed] Fix an issue where non Pandora One users couldn't play more than four
* [fixed] Fix an issue where non-Pandora One users couldnt play more than four
songs without a crash happening, thanks to @viveksjain

# Version 1.1.0 (5/18/12)

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.0.22...v1.1.0)

* [added] Move to using Pandora's JSON API instead of the XMLRPC one in hopes of
* [added] Move to using Pandoras JSON API instead of the XMLRPC one in hopes of
being more stable and requiring fewer updates
* [added] After creating a station, immediately being playback of the station
* [added] After creating a station, immediately begin playback of the station
* [added] Preference option for high/medium/low quality audio
* [fixed] Always make sure that toolbar items are enabled when a new song plays
* [fixed] Ensure the station drawer opens when there's no saved station
* [fixed] Ensure the station drawer opens when theres no saved station

# Version 1.0.22 (4/27/12)

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.0.21...v1.0.22)

* [added] Preference option to not send liked tracks as 'loved' to last.fm,
* [added] Preference option to not send liked tracks as loved to last.fm,
thanks to @tresni
* [fixed] Updated to Pandora's v34 protocol
* [fixed] Updated to Pandoras v34 protocol
* [fixed] `track.unlove` now properly sent to last.fm
* [fixed] Fixed a memory leak with the dock menu opening/closing

# Version 1.0.21 (3/22/11)

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.0.20...v1.0.21)

* [added] Fine-grained control for which growl notifications are received,
configurable through Hermes' preferences, or also through Growl's
* [added] Fine-grained control for which Growl notifications are received,
configurable through Hermes preferences, or also through Growls
* [added] Tell last.fm when a track starts playing via the
`track.updateNowPlaying` API method, thanks to @tresni
* [added] Tell last.fm about liked/disliked tracks via the `track.love` and
@@ -227,7 +417,7 @@

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.0.18...v1.0.19)

* [fixed] AppleScript "tired of song" now actually performs the right action,
* [fixed] AppleScript tired of song now actually performs the right action,
thanks to @tresni
* [fixed] Creating stations clears the search field from the previous search
* [fixed] Updated Growl to 1.3, thanks to @terinjokes
@@ -243,7 +433,7 @@

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.0.16...v1.0.17)

* [fixed] Don't use 'https' on most API requests to Pandora
* [fixed] Dont use https on most API requests to Pandora
* [fixed] Use smaller request IDs to appease Pandora

# Version 1.0.16 (1/6/12)
@@ -269,21 +459,21 @@
* [added] `unmute` command in AppleScript
* [added] `playback state` read/write attribute in AppleScript
* [fixed] A few memory leaks have been resolved
* [fixed] Use Pandora's `sync` API for real
* [fixed] Use Pandoras `sync` API for real

# Version 1.0.13 (11/20/11)

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.0.12...v1.0.13)

* [added] Broadcast new songs with NSDistributedNotificationCenter so programs
can listen in if they'd like. The notification name is `hermes.song` and the
can listen in if theyd like. The notification name is `hermes.song` and the
object sending the notification is `hermes`
* [added] The stations drawer is now manually collapsible and preserves state
when the window loses focus
* [added] Applescript support. See the
* [added] AppleScript support. See the
[README](https://github.com/alexcrichton/hermes/blob/master/README.md) for
more information
* [fixed] Don't use `@throw`, it doesn't play nicely with ARC. Fixes a crash
* [fixed] Dont use `@throw`, it doesnt play nicely with ARC. Fixes a crash
on startup if first time running.

# Version 1.0.12 (11/18/11)
@@ -316,17 +506,17 @@

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.0.7...v1.0.8)

* [fixed] Scrobbler correctly gets session key from user's keychain
* [fixed] Scrobbler correctly gets session key from users keychain
* [added] Growl notifications occur when songs play (can be turned off)
* [added] Growl and media keys turned on by default
* [added] History view for seeing past songs and liking/disliking past songs
* [added] On application restore, don't start playing music
* [added] On application restore, dont start playing music

# Version 1.0.6 (9/21/11)

[Full changelog](https://github.com/alexcrichton/hermes/compare/v1.0.5...v1.0.6)

* [fixed] Updated to Pandora's v32 API (no changes yet)
* [fixed] Updated to Pandoras v32 API (no changes yet)

# Version 1.0.5 (8/16/11)

@@ -348,7 +538,7 @@
* [fixed] Removed multiple release bug when deleting a station
* [fixed] Smoother updating of progress on the time lapse bar
* [fixed] Updated to new Pandora API version
* [added] Don't log debug messages in the Release build target
* [added] Dont log debug messages in the Release build target
* [added] Better resuming of interrupted streams
* [added] Updated for Xcode 4

Loading