DragonFly On-Line Manual Pages

Search: Section:  


SIREN(1)               DragonFly General Commands Manual              SIREN(1)

NAME

siren - text-based audio player

SYNOPSIS

siren [-lv] [-c directory]

DESCRIPTION

siren is a text-based audio player. The options are as follows. -c directory Use directory as the configuration directory. The default is ~/.siren. -l Log error and informational messages to a file. The file is created in the current directory and named siren-%d.log where %d is replaced with siren's process ID. -v Print version information and exit.

USER INTERFACE

siren's user interface consists of three areas. The bottom line is the status line. It is used to display error and informational messages and to enter commands and search queries. The two lines above the status line show playback-related information, such as the currently playing track and the volume level. The remainder of the screen is used to display a view. Only one view can be displayed at a time, but each view can be selected with the select-view command (see COMMANDS below) or the default key bindings. The available views are as follows. Library view The library view shows all tracks in the library. The add-path command may be used to add tracks. The library view can be displayed by pressing the 1 key. Playlist view The playlist view shows the playlist loaded with the load-playlist command. It can be displayed by pressing the 2 key. Browser view The browser view shows the contents of a directory. By default only directories and supported audio files are shown. The browser view can be used to browse through the file system and play back audio files or add them to the library or queue. The browser view can be displayed by pressing the 3 key. Queue view The queue view shows all tracks that have been added to the queue. Tracks in the queue will be played back before those in other views. A track will be removed from the queue as soon as it is being played back. The queue view can be displayed by pressing the 4 key. The playback source is the view that provides the tracks for playback. The library, playlist and browser views each can act as a playback source. A view implicitly becomes the playback source whenever a track from that view is selected for playback.

KEY BINDINGS

siren supports configurable key bindings. Each key binding has a scope: it is either specific to one view or common to all views. Key bindings are changed with the bind-key and unbind-key commands or shown with the show-binding command. The default key bindings are as follows. Common key bindings q Quit siren. x Play. c Pause. v Stop. z Play the previous track. b Play the next track. left Skip backward 5 seconds. , Skip backward 1 minute. < Skip backward 5 minutes. right Skip forward 5 seconds. . Skip forward 1 minute. > Skip forward 5 minutes. - Decrease the sound volume by 5%. _ Decrease the sound volume by 10%. = Increase the sound volume by 5%. + Increase the sound volume by 10%. C Toggle playback continuation. R Toggle the repeated playback of all tracks. r Toggle the repeated playback of the current track. 1 Select the library view. 2 Select the playlist view. 3 Select the browser view. 4 Select the queue view. enter Activate the selected entry. k, up Select the previous entry. j, down Select the next entry. g, home Select the first entry. G, end Select the last entry. ^B, page-up Scroll up one page. ^U Scroll up half a page. ^Y Scroll up one line. ^F, page-down Scroll down one page. ^D Scroll down half a page. ^E Scroll down one line. ^L Refresh the screen. : Enter the command prompt. / Enter the search prompt to search forward. ? Enter the search prompt to search backward. N, p Search for the previous occurrence. n Search for the next occurrence. Library view key bindings a Add the selected entry to the queue. d, delete Delete the selected entry. l Delete all entries. Playlist view key bindings a Add the selected entry to the queue. Browser view key bindings a Add the selected entry to the queue. h Toggle the display of hidden files. ^R Refresh the current directory. backspace Enter the parent directory. Queue view key bindings J Move the selected entry downward. K Move the selected entry upward. d, delete Delete the selected entry. l Delete all entries. Prompt key bindings The key bindings for the prompt currently cannot be changed. enter Process the line and exit the prompt. ^G, escape Cancel and exit the prompt. ^B, left Move the cursor to the previous character. ^F, right Move the cursor to the next character. ^A, home Move the cursor to the beginning of the line. ^E, end Move the cursor to the end of the line. ^H, backspace Delete the character before the cursor. ^D, delete Delete the character the cursor is at. ^W Delete the word before the cursor. ^K Delete all characters from the cursor to the end of the line. ^U Delete the entire line. down Replace the line with the previous history entry. up Replace the line with the next history entry.

COMMANDS

siren is controlled by issuing commands. Commands can be entered at the command prompt, bound to a key or added to the configuration file. Commands are parsed in a way similar to most shells. A command line is delimited by a newline character or a `#' character. A `#' character introduces a comment and extends to the end of the line. A command line is broken into separate words. A word is a sequence of characters and is delimited by one or more space or tab characters. On each word, tilde expansion and glob(3) pattern expansion is performed. The `#', `~', `*', `?', `[', `\', `'' and `"' characters and the space and tab characters are special characters. A special character can be escaped by prepending it with a `\' character or by enclosing it by matching `'' or `"' characters. The following commands are available. activate-entry Activate the selected entry in the current view. In the library and playlist views, an activated entry is played back. In the browser view, if the activated entry is a directory, it is entered. Otherwise, if it is a file, it is played back. In the queue view, an activated entry is played back and removed from the queue. add-entry [-l | -q] Add the selected entry to the library or the queue. The options are as follows. -l Add the selected entry to the library. This is the default. -q Add the selected entry to the queue. add-path [-l | -q] path ... Add an audio file or a directory to the library or the queue. The options are as follows. -l Add path to the library. -q Add path to the queue. The default is to add path to the current view. If path is a directory, then all audio files in it are added. bind-key scope key command Bind a key to a command. The scope argument specifies the scope of the key binding. It should be one of browser, library, playlist, queue or common. A key binding is first looked up in the scope of the current view. If no key binding is found in that scope, then it is looked up in the common scope. The key argument specifies the key to bind. The following three types of keys can be bound. - The printable ASCII characters: these are the ASCII character codes between 32 and 126 decimal. They are represented by themselves. - The ASCII control characters: these are the ASCII character codes between 0 and 31 decimal. They are specified in case- insensitive caret notation. For example, ^A and ^a both denote the second control character. - The following case-insensitive key-names are recognised: backspace, backtab, delete, down, end, enter, escape, home, insert, left, page-down, page-up, right, space, tab, up and f1 to f20. The command argument can be any command listed in this section. cd [directory] Change the current working directory to directory and open it in the browser view. If directory is not specified, the user's home directory is used instead. command-prompt Enter the command prompt. The command prompt can be used to enter and execute commands. delete-entry [-a] Delete the selected entry in the current view. This command is supported in the library and queue views only. The options are as follows. -a Delete all entries in the current view. load-playlist file Load the playlist file into the playlist view. Each line of file should contain the path to a track. Empty lines and lines starting with the `#' character are ignored. move-entry-down Move the selected entry after its succeeding entry. This command is supported in the queue view only. move-entry-up Move the entry before its preceding entry. This command is supported in the queue view only. pause Pause or resume playback. play Start, restart or resume playback. play-next Play the next track in the playback source. play-prev Play the previous track in the playback source. quit Quit siren. refresh-screen Refresh the screen. reread-directory Reread the current directory in the browser view. save-library Save the library to disk. The library is automatically saved when siren quits. save-metadata Save the metadata cache to disk. The metadata cache is automatically saved when siren quits. scroll-down [-h | -l | -p] Scroll down in the current view. The options are as follows. -h Scroll half a page. -l Scroll one line. This is the default. -p Scroll one page. scroll-up [-h | -l | -p] Scroll up in the current view. The options are analogous to those of the scroll-down command. search-next Search for the next occurrence of the text earlier specified with the search-prompt command. search-prev Search for the previous occurrence of the text earlier specified with the search-prompt command. search-prompt [-b] Enter the search prompt. The search prompt can be used to search in the current view. The options are as follows. -b Search backward. The default is to search forward. seek [-b | -f] [[hours:]minutes:]seconds Seek to the specified position in the currently playing track. The options are as follows. -b Seek backward by subtracting the specified position from the current position. -f Seek forward by adding the specified position to the current position. select-active-entry Select the active entry in the current view. select-first-entry Select the first entry in the current view. select-last-entry Select the last entry in the current view. select-next-entry Select the next entry in the current view. select-prev-entry Select the previous entry in the current view. select-view name Select a view. The name argument must be one of browser, library, playlist or queue. set option [value] Set option to value. If option is a Boolean value and value is not specified, it is toggled. See OPTIONS below for a list of available options. set-volume [-d | -i] level Set the volume level. The level argument should be an integer value between 0 and 100. The options are as follows. -d Decrease the volume level by subtracting level. -i Increase the volume level by adding level. Not all output plug-ins have volume support. When using the oss output plug-in on FreeBSD, the volume level may be reset every time a track is played back. To preserve the volume level, set the hw.snd.vpc_autoreset sysctl(8) variable to 0. See sound(4) for more information. show-binding scope key Show the command bound to key. The scope and key arguments are analogous to those of the bind-key command. show-option option Show the value of option. source file Execute the commands in file. stop Stop playback. unbind-key scope key Unbind key. The scope and key arguments are analogous to those of the bind-key command. update-metadata [-d] Update the metadata cache. The options are as follows. -d Delete the metadata of tracks that cannot be found on the file system.

OPTIONS

The appearance and behaviour of siren may be modified by changing the value of various options. Options are changed with the set command or shown with the show-option command. There are six types of options. They are as follows. Attribute options Attribute options control the character attributes of a user- interface element. Valid values are blink, bold, dim, normal, reverse, standout and underline. Two or more attributes can be specified by separating them by a comma. Colour options Colour options control the foreground and background colour of a user-interface element. Valid values are black, blue, cyan, green, magenta, red, white, yellow, default and colour0 to colourN where N + 1 is the number of colours supported by the terminal. If supported by the terminal, the colour default corresponds to the terminal's original background or foreground colour. Otherwise, default is equivalent to black when used as a background colour and to white when used as a foreground colour. Boolean options Valid values of Boolean options are true and false. As a convenience, the values on, off, yes, no, 1 and 0 are accepted as well. Number options Valid values of number options are non-negative integers. The maximum value is option-specific. String options Valid values of string options are option-specific. Format-string options Format-string options control the formatting of information displayed on the screen. The syntax is reminiscent of that of the printf(3) family of functions. A format string consists of ordinary characters, which are displayed unchanged, and format fields, which specify how a variable is to be displayed. A format field is introduced by the `%' character. Then, the following appears in sequence. - An optional `-' character to specify that the variable is to be left-aligned within the field. The default is to right- align. - An optional `0' character to specify that the variable is to be padded with leading zeroes. The default is to pad with space characters. This flag is ignored if the variable is to be left-aligned. - An optional sequence of numeric characters to specify the field width. If the `*' character is specified, the width is variable and will be so long as possible. If there are two or more fields with a variable width, the available space will be divided equally between them. - The name of the variable to display, enclosed by braces (i.e. the `{' and `}' characters). Some variables also have a one- character alias. If this alias is specified, the braces may be omitted. Which variables are available is dependent on the option. Conditional fields are also supported. A conditional field is enclosed in braces and begins with a `?' character, followed by the name of the variable and two comma-separated fields. If the variable is a non-zero number or a non-empty string, the first value is displayed; otherwise, the second value. For example, `%{?artist,yes,no}' displays `yes' if artist is a non-empty string and `no' otherwise. A literal `%' character is displayed by specifying `%%' in the format string. The following options are available. active-attr (attribute) Character attributes for the activated menu entry. active-bg (colour) Background colour for the activated menu entry. active-fg (colour) Foreground colour for the activated menu entry. continue (Boolean) Whether to play the next track if the current track has finished. error-attr (attribute) Character attributes for error messages. error-bg (colour) Background colour for error messages. error-fg (colour) Foreground colour for error messages. info-attr (attribute) Character attributes for informational messages. info-bg (colour) Background colour for informational messages. info-fg (colour) Foreground colour for informational messages. library-format (format string) The format used to display tracks in the library. The following variables are available. Name Alias Description album l Album albumartist A Album artist artist a Artist comment c Comment date y Date or year discnumber s Disc number disctotal S Total number of discs duration d Duration (as `m:ss' or `h:mm:ss') genre g Genre path f File path title t Title tracknumber n Track number tracktotal N Total number of tracks output-plugin (string) The name of the output plug-in to use. If the special name default is specified, the output plug-in with the highest priority will be used. The following output plug-ins may be available, depending on the compile-time options used. They are listed in descending order of priority. sndio OpenBSD sndio(7) output plug-in pulse PulseAudio output plug-in sun Sun output plug-in alsa ALSA output plug-in oss OSS output plug-in ao libao output plug-in portaudio PortAudio output plug-in player-attr (attribute) Character attributes for the player area. player-bg (colour) Background colour for the player area. player-fg (colour) Foreground colour of the player area. player-status-format (format string) The format used to display the player status. The following variables are available. Name Alias Description continue c Expands to `continue' or the empty string, depending on the value of the continue option duration d Duration of the currently playing track (as `m:ss' or `h:mm:ss') position p Position in the currently playing track (as `m:ss' or `h:mm:ss') repeat-all r Expands to `repeat-all' or the empty string, depending on the value of the repeat-all option repeat-track t Expands to `repeat-track' or the empty string, depending on the value of the repeat-track option source u Playback source state s Expands to `Playing', `Paused' or `Stopped', depending on the playback state volume v Sound volume player-track-format (format string) The format used to display the currently playing track. See the library-format option for a list of available variables. playlist-format (format string) The format used to display tracks in the playlist view. See the library-format option for a list of available variables. prompt-attr (attribute) Character attributes for the prompt. prompt-bg (colour) Background colour for the prompt. prompt-fg (colour) Foreground colour for the prompt. queue-format (format string) The format used to display tracks in the queue. See the library-format option for a list of available variables. repeat-all (Boolean) Whether to repeat playback of all tracks in the playback source. repeat-track (Boolean) Whether to repeat playback of the current track. This option takes precedence over the repeat-all option. selection-attr (attribute) Character attributes for the selection indicator. selection-bg (colour) Background colour for the selection indicator. selection-fg (colour) Foreground colour for the selection indicator. show-all-files (Boolean) Whether to show all files in the browser view. If set to false, only directories and supported audio files are shown. show-cursor (Boolean) Whether always to show the cursor. show-hidden-files (Boolean) Whether to show hidden files and directories in the browser view. status-attr (attribute) Character attributes for the status line. status-bg (colour) Background colour for the status line. status-fg (colour) Foreground colour for the status line. view-attr (attribute) Character attributes for the view. view-bg (colour) Background colour for the view. view-fg (colour) Foreground colour for the view. view-title-attr (attribute) Character attributes for the view title. view-title-bg (colour) Background colour for the view title. view-title-fg (colour) Foreground colour for the view title. The following options are specific to the alsa output plug-in. alsa-mixer-device (string) The name of the mixer device to use. alsa-mixer-element (string) The name of the mixer element to use. alsa-pcm-device (string) The name of the PCM device to use. The following options are specific to the ao output plug-in. ao-buffer-size (number) The size of the output buffer, specified in bytes. ao-driver (string) The name of the driver to use. If empty, the default driver will be used. See libao.conf(5) and http://www.xiph.org/ao/doc/drivers.html for possible values. ao-file (string) The path of the file to write the audio output to. If the file already exists, it is not overwritten. This option is relevant only if using a file output driver. The following options are specific to the oss output plug-in. oss-device (string) The path of the audio device to use. The following options are specific to the portaudio output plug-in. portaudio-buffer-size (number) The size of the output buffer, specified in bytes. The following options are specific to the pulse output plug-in. pulse-buffer-size (number) The size of the output buffer, specified in bytes. The following options are specific to the sndio output plug-in. sndio-device (string) The name of the device to use. See sndio(7) for possible values. The following options are specific to the sun output plug-in. sun-device (string) The path of the audio device to use.

CONFIGURATION FILE

Upon start-up siren reads the configuration file ~/.siren/config, if it exists. This file should contain a set of siren commands (see COMMANDS) which are executed in sequence.

FILES

~/.siren/config Configuration file. ~/.siren/library Library file. ~/.siren/metadata Metadata cache file.

SEE ALSO

pulseaudio(1), sound(4), libao.conf(5), sndio(7) http://www.kariliq.nl/siren/

AUTHORS

Tim van der Molen <tim@kariliq.nl> DragonFly 6.5-DEVELOPMENT November 8, 2014 DragonFly 6.5-DEVELOPMENT

Search: Section: