Hearken
This is a command line shell for queuing and playing music tracks.
It also extracts id3 tags from audio files for faster search.
This will eventually be platform independent but at this stage has only been used on mac os x
Usage
Here you sit expectantly in front of a computer at the command line.
Install
gem install hearken
Dependencies
Tags are currently extracted using ffmpeg. On mac os x, this can be installed easily using brew:
brew install ffmpeg
Growl notification (as new tracks are played) will work but only if ‘growlnotify’ is detected on the path.
Indexing tracks
hearken index DIRECTORY
Will create a track index at ~/.hearken/music. Note that this might take a while the first time you run it.
Subsequent runs will only query tags for new or modified files so should be fairly fast.
The index can be regenerated while the console is running and reloaded using the ‘reload’ command.
Console
hearken console
This enters an interactive prompt where you can start/stop the player, search and enqueue tracks.
The queue will be persisted to ~/.hearken/queue
Commands
?
will list all commands
? <command>
will describe the use and purpose of a particular command
Main commands
search iver bon
Searches for tracks with ‘bon’ and ‘iver’ in the track, artist or album name (this is case insensitive).
Results will be displayed and the ids will be added to the clipboard (for convenient pasting to the ‘+’ command).
+ abc-f 123 456
Enqueues tracks with ids abc, abd, abe, abf, 123 and 456
start
Starts the player
stop
Stops the player
next
Stops and restarts the player (which will kill the currently playing track)
setup_scrobbling
Runs through a wizard to configure scrobbling to last.fm
scrobbling on
Turns scrobbling on (has no effect if scrobbling has not been configured)
scrobbling off
Turns scrobbling off
Future plans for world domination
-
add a ‘-’ command to remove tracks from queue
-
add a command to launch last.fm profile (for track history)
-
put some content on wiki to explain usage (especially use of track ranges ‘+ eft-z’)
-
eliminate last.fm setup command once setup and add lastfm commands only when setup
-
Get working on linux
-
Get working on windows