DragonFly On-Line Manual Pages
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