Picture ApolloGenome/Hermes 1.32b4 running on Macbook Air M1 Apple Silicon Sequoia 15.1
Forked from Hermes built in Xcode 12.5 MacOS 11 as a universal app so works with apple silicon as well otherwise no major changes
Includes music genome project data when playing song information.
Also new feature includes pandora station modes. (on 1.32b5 and b6 not stable yet on apple silicon)
A Pandora client for macOS Intel and Apple Silicon.
Known issues and fixes:
The 2.0.0b1 audio-buffer refactor introduced an ordering bug that could write newly downloaded packets ahead of an existing backlog, occasionally overwriting an in-use queue buffer and causing audible skips. This is fixed in the current source by preserving packet order until cached audio is drained.
This means that bugs are documented and workarounds can be attempted.
New features will happen slowly.
You can also make pull requests and add to issues and I will try to reply.
-
Click Download in the releases source code also provided with most apps
-
On newer MAC OS download the app, extract if needed, double click to open, on warning message, open again, go to system settings, privacy and security, scroll to the bottom and click open anyways, open the app enter your password should open normally after.
Install the current universal release (Intel and Apple Silicon) with:
brew tap dtseto/hermes-master https://github.com/dtseto/Hermes-master.git
brew trust --cask dtseto/hermes-master/apollogene
brew install --cask dtseto/hermes-master/apollogeneHomebrew installs the application as ApolloGene.app. To upgrade or uninstall
it later, run brew upgrade --cask dtseto/hermes-master/apollogene or
brew uninstall --cask dtseto/hermes-master/apollogene.
If you would like to compile Hermes, continue reading.
-
Adding stations type controls like Crowd Faves, Deep Cuts instead of only My Station default
-
Possible features fixing proxy bugs better error message display
-
Improve support for later MacOS currently written for 10.10+ rewrite for 11+, setup app sandboxing, app notarization, use new keychain code,
-
Hard redesign for swift instead of interface builder (probably not since Hermes is forked from pianobar written in C)
Below for Hermes Thanks to the suggestions by blalor, there's a few ways you can develop against Hermes if you really want to.
-
NSDistributedNotificationCenter- Every time a new song plays, a notification is posted with the namehermes.songunder the objecthermeswithuserInfoas a dictionary representing the song being played. See Song.m for the keys available to you. -
AppleScript - here's an example script:
tell application "Hermes" play -- resumes playback, does nothing if playing pause -- pauses playback, does nothing if not playing playpause -- toggles playback between pause/play next song -- goes to the next song get playback state set playback state to playing thumbs up -- likes the current song thumbs down -- dislikes the current song, going to another one tired of song -- sets the current song as being "tired of" raise volume -- raises the volume partially lower volume -- lowers the volume partially full volume -- raises volume to max mute -- mutes the volume unmute -- unmutes the volume to the last state from mute -- integer 0 to 100 for the volume get playback volume set playback volume to 92 -- Working with the current station set stationName to the current station's name set stationId to station 2's stationId set the current station to station 4 -- Getting information from the current song set title to the current song's title set artist to the current song's artist set album to the current song's album ... etc end tell
-
Open a ticket! We'll get around to it soon, especially if it sounds appealing to us. We take all suggestions/feedback!
-
Take a stab at it yourself if you're brave. Just send us a pull request if you've got something fixed. Here's some common things to do at the command line:
make # build everything make run # build and run the application (logging to stdout) make dbg # build and run inside LLDB # Build with the 'Release' configuration instead of 'Debug' make CONFIGURATION=Release [run|dbg]Media-key shortcuts use macOS Now Playing controls and are available in both Debug and Release builds.
Code is available under the MIT License.
