HERRIE(1)

NAME
herrie - interactive music playlist player

SYNOPSIS
herrie [-pvx] [-c configfile] [file ...]

DESCRIPTION
herrie is a command line music player. It supports multiple audio file formats (including MP3 and Ogg Vorbis) and has the ability to send playback statistics to AudioScrobbler. The word `herrie' is Dutch for `clamour'.

herrie uses a split-screen user interface: a playlist at the top and a filebrowser at the bottom. The application has two modes of operation, called `party mode' and `XMMS mode'. When the application is started in party mode, the first song in the playlist gets started. It will also be removed from the playlist as well. When the application is started in XMMS mode, any song can be started and will not be removed from the playlist. The default mode is party mode.

The following command line options are available:

-c configfile
    By default, herrie searches in ~/.herrie/config or in the system wide global configuration file /usr/pkg/etc/herrie.conf for options. The -c options allows you to load additional configuration files.

-p  Automatically start playback on startup.

-v  Display version information and a list of supported file formats.

-x  This switch causes herrie to start up in XMMS mode.

Files that are passed on the command line will be appended to the playlist.

KEYBOARD BINDINGS
Both the file browser and the playlist share some common keyboard bindings:

j or down arrow
    Move the selection one entry down.

k or up arrow
    Move the selection one entry up.

^F, page down or spacebar
    Move the selection one page down.

^B or page up
    Move the selection one page up.

f   Show the full pathname of the selected song.

F   Jump to the selected file in the file browser.

g or home
    Move the selection to the top.

G or end
    Move the selection to the bottom.

/   Search the entries for a specified regular expression and select the first matching entry below the current selection. If no match is found, the search will continue at the top of the list. As a final attempt, the other window is searched as well.

n   Perform another search for the last entered search string.

There are also some bindings that only apply to the playlist:

d   Remove the currently selected song from the playlist.

D   Remove all songs from the playlist.

R   Randomize the playlist.

[   Move the currently selected song upward.

]   Move the currently selected song downward.

{   Move the currently selected song to the top of the playlist.

}   Move the currently selected song to the bottom of the playlist.

The file browser also has some bindings that allow you to traverse the file system or add files, directories or playlists (M3U and PLS) to the playlist:

a   Add items after the current selected item in the playlist.

A   Add items at the end of the playlist.

i   Add items before the current selected item in the playlist.

I   Add items at the beginning of the playlist.

h or left arrow
    Go one directory up.

l or right arrow
    Enter the selected directory.

L   Locate all files in the current and underlying directories matching a search string. When finished, all matching files will be showed in a list. To remove an existing filter, go one directory up.

C   Change the current directory by entering a pathname. This pathname may be relative to the current directory. When the address refers to a file or web location, it will be displayed as well.

And last but not least, there are also some general keyboard bindings:

(   Decrease the volume.

)   Increase the volume.

<   Seek 5 seconds backward.

>   Seek 5 seconds forward.

b   Go to the next song. Sending the signal SIGUSR2 to the application will do the same.

c   Pause the current song. When c is pressed again, playback is resumed. Sending the signal SIGUSR1 to the application will do the same.

J   Seek to a specific position. When the inserted time is prepended with a + or -, the seek is performed relative.

q   Quit the application.

r   Switch repeat on and off. When this option is enabled, songs that have been successfully opened will be added to the end of the playlist, causing the playlist to repeat.

v   Stop playback.

w   Write the current playlist to a playlist file.

x   When in XMMS mode, it starts the selected song. In party mode, this key will always start playback of the first song in the list.

z   Go to the previous song.

^L  Force the application to redraw itself.

^W or tab
    Switch the focus from the playlist to the file browser or vice versa.

CONFIGURATION SWITCHES
herrie may be configured by storing options in a configuration file. Options must be stored in the following format:

key=value

Below is a list of switches, including their default values:

audio.output.oss.device=/dev/audio
    The OSS DSP device, used for audio playback.

audio.output.oss.mixer=/dev/mixer
    The OSS mixer device, used to change the volume.

gui.browser.defaultpath=
    On startup, the current directory is shown in the file browser. When this option is set, it tries to open that specific directory first.

gui.color.bar.bg=blue
    The background color of the bars (the status bar at the top of the screen and the directory name bar in the middle). Valid colors are black, red, green, yellow, blue, magenta, cyan, white and default. The latter is the terminal's default color (e.g. black on white).

gui.color.bar.fg=white
    The foreground color of the bars.

gui.color.block.bg=black
    The background color of the blocks (the playlist, the file browser and the message prompt at the bottom).

gui.color.block.fg=white
    The foreground color of the blocks.

gui.color.deselect.bg=white
    The background color of a selected item of an inactive window (the background color of a selection in the file browser when the playlist is selected, for example).

gui.color.deselect.fg=black
    The foreground color of a selected item of an inactive window.

gui.color.enabled=yes
    Draw the application using colors when the terminal supports it. When disabled, the application is forced to draw itself as if it were used with a monochrome terminal.

gui.color.marked.fg=black
    The foreground color of the item that is currenty played. It is not used when in party mode.

gui.color.marked.bg=red
    The background color of the item that is currenty played. It is not used when in party mode.

gui.color.select.bg=cyan
    The background color of a selected item of an active window.

gui.color.select.fg=black
    The foreground color of a selected item of an active window.

gui.input.confirm=yes
    When disabled, the user will not be asked for confirmation when issuing commands.

gui.input.may_quit=yes
    When disabled, the user of the application may not quit the application using the q button.

gui.vfslist.scrollpages=no
    When enabled, the file browser and the playlist will scroll an entire page up or down when the selection goes out of sight.

playq.dumpfile=~/.herrie/autosave.pls
    The filename used to automatically save the playlist at shutdown and load at startup. When empty, this feature will be disabled. This feature will also be disabled when the directory ~/.herrie/ does not exist. The application will not create this directory by itself.

playq.autoplay=no
    Automatically start playback on startup.

playq.xmms=no
    Always start herrie in XMMS mode.

scrobbler.dumpfile=~/.herrie/scrobbler.queue
    The file that is used to store tracks that have not been submitted to AudioScrobbler yet. When set to empty, this feature is disabled, causing all unsubmitted tracks to be discarded.

scrobbler.password=
    The password the Audioscrobbler client uses when authenticating. Make sure your configuration file isn't world readable when specifying this switch in your configuration file. Please note that this switch must contain an MD5 hash. Use the following command to generate such a hash: printf %s p4ssw0rd | md5

scrobbler.username=
    The username the AudioScrobbler client uses when authenticating.

vfs.dir.hide_dotfiles=yes
    Hide files in directories with a filename starting with a dot.

vfs.lockup.chroot=
    Lock the application's filebrowser in a directory. Please note that herrie must be launched as root for this switch to work. It is advised to set vfs.lockup.user as well.

vfs.lockup.user=
    Change the effective user of the application to the specified user.

AUTHORS
herrie is maintained by Ed Schouten <ed@80386.nl>. Please visit http://herrie.info/ for more information, documentation and developer notes.