ROARD(1)

NAME

roard - RoarAudio sound server

SYNOPSIS

roard [OPTIONS]...

DESCRIPTION

roard is the most common RoarAudio sound server. The RoarAudio sound server is the central component in a RoarAudio setup. It mixes up diffrent audio streams from it's clients to send them to it's outputs. Such outputs include soundcards, monitoring clients, streaming servers and more.

GENERAL OPTIONS
NOTE: This list is incomplete!

--help
    Print some help text.

--daemon
    Go into background after startup.

--realtime
    Ask for higher priority. May be used multiple times.

--memlock LEVEL
    Sets default memory locking level to LEVEL.

    Valid levels are:

    none
        No memory is locked at all.

    low Only very few (important) objects are locked in memory.

    medium
        Few (important) objects are locked in memory.

    high
        Many objects are locked in memory.

    nearlyall
        All known objects are locked in memory.

    nearlyallsys
        All known objects are locked in memory but also pages provided by the system like stack and heap.

    allcur
        All currently used pages are locked in memory.

    all All pages (including future allocated pages) are locked in memory.

    default
        Use defaults (the default).

A higher memlock level may result in memory allocations problems at runtime and even segfauls on some systems. (VM killed processes). Check your current system limits before altering this value.

--watchdog
    Enable watchdog. This will terminate the daemon if something bad happened and it halted.

--watchdog-time TIME
    Set watchdog time to TIME (in ms).

--pidfile PIDFILE
    Asks the server to use the given pidfile. This is recommended.

--sysclocksync
    Messure exact audio clock frequency based on system time. obsolete.

SERVER INFO

--location  LOC
    Sets lion-readable location of server. Examples: livingroom, room 32

--description  DESC
    Sets lion-readable description of server. Examples: Stereo, UKW Transmitter

--contact CONTACT
    Sets contact information for the server.

--serial SERIAL
    Sets the serial number for this device or server. This is normally only used by embedded systems.

--uiurl UIURL
    Sets the URL of the user interface for this device or server. This is normally only used by embedded systems. It is common to set this to a URL of type HTTP but all protocols are considered valid. This includes ssh, telnet and others.

STARTUP AND SHUTDOWN

--start
    Start a new server.

--stop
    Stop the currently running server. See also --shutdown.

--restart
    Stop the currently running server and start up a new server.

--shutdown
    Terminates the currently running server after last client has quit. This is the most clean way to shutdown a running server as it does not kick any clients. This option must not be confused with --terminate.

--terminate
    Auto terminates the new server after last client has quit. This option must not be confused with --shutdown.

--script-postdown S
    Run script S after server shutdown. The script is passed to a shell. Any shell feature can be used within the string.

STANDBY MODE

--standby
    Start in standby mode.

--auto-standby
    Go into standby mode if no streams are active.

LOGGING

--verbose
    Increment the verbosity level. Can be used multiple times.

--log-syslog
    Log to syslog.

PLUGINS

--plugin-load FILENAME
    Load the given plugin.

--plugin-args ARGS
    Arguments for the plugin. (must be given before the --plugin-load).

--list-plugins
    List loaded plugins.

SECURITY

--chroot DIR
    Chroots to the given directory. This improves the security. This normally needs root privileg's.

USER AND GROUPS

--setgid
    Sets GroupID to the audio group as specified via -G.

--setuid
    Sets UserID to the audio user as specified via -U.

-G GROUP
    Sets the group for the UNIX Domain Socket, (default: audio) You need the permittions to change the GID.

-U USER
    Sets the user for the UNIX Domain Socket, (default: do not set) You need the permittions to change the UID (normaly only root has).

AUTH OPTIONS
The following options control the access rights of connections. Some of them take an access level. The access level is one from the following list:

    none
        This is used to disable an authentication method.

    idented
        Used internally. Should not be used.

    conctl
        The client is only allowed to do some basic operations only affecting it's own connection.

    guest
        Guest access (read only). The client may list resources but not alter them.

    user
        Normal user. The client may create and alter most resources.

    pwruser
        Power User. The client can create and alter all resources and do all operation but operations which would break the POSIX right system. The user is not allowed to control the server itself like terminating it or alter (system) resources with the rights of the user runnung roard.

        This is the access level a fully trusted user in a multi user setup should have.

    all The client can do everything. This includes operations which may alter system resources (like files) with the rights of the user running roard.

        This accesslevel should be given to the user in case of a single user setup or root or some administrator in a multi user setup.

--guest-acclev ACCESSLEVEL
    Sets the access level for guest connections. Set to "none" to disable guest access.

--trust-acclev ACCESSLEVEL
    Sets the access level for clients authenticated by trust auth. Set to "none" to disable trust auth.

--trust-root
    Trust root user.

--no-trust-root
    Do not trust root user.

--authfile-gen FILE
    Generate a new authfile with a fresh cookie.

--authfile-load FILE
    Load all keys from a given authfile.

--authfile-type TYPE
    Sets the type for the authfile.

--authfile-acclev ACCLEV
    Sets the access level for the given authfile.

--new-authfile
    Add another authfile.

AUDIO OPTIONS

--rate RATE, -R RATE
    Set server sample rate.

--bits BITS, -B BITS
    Set server bits.

--chans CHANNELS, -C CHANNELS
    Set server channels.

--aiprofile  PROFILE
    Use a existing audio profile.

GENERAL STREAM OPTIONS

--stream-flags
    Sets default flags for a given stream directions. Examples: play=-meta, bidir=+antiecho

DRIVER OPTIONS

--list-driver
    Shows a list of all available drivers.

--driver, -d
    This option is obsolete. Use -o instead.

--device, -D
    This option is obsolete. Use -O instead.

--odriver, -o
    Set the output driver. To get a list of all drivers use --list-driver.

--odevice, -O
    Set the device for the output driver. Possible devices depends on the driver. They may be a path to a device node or a hostname. Use --list-driver to get a hint.

-oO Sets options for the new stream. See STREAM OPTIONS.

-oN Adds another output.

-oP Marks the output primary.

SOURCE OPTIONS

--list-sources
    List all supported sources.

--source, -s
    Adds a source of the given type.

-S  Sets the device or filename for the source. Type may depend on the source type.

-sO Sets options for the current source.

-sN Adds another source.

-sP Marks the source as primary. If the source reaches EOF roard will quit automatically.

HARDWARE MIXER OPTIONS

--list-mixers
    List all supported hardware mixers.

--mixer, -m
    Add a hardware mixer of given type.

-M  Sets the device used for the hardware mixer.

-mO Sets options for the hardware mixer. See MIXER OPTIONS.

-mN Adds another hardware mixer.

-mP Marks the mixer primary.

CODEC FILTER

--list-cf
    List all supported codecfilters and codecs.

MIDI OPTIONS

--midi-no-console
    Disable console based MIDI synth.

--midi-console-enable
    Enables console based MIDI synth.

--midi-console
    Sets device for MIDI console. Example: /dev/console

--ssynth-enable
    Enables simple software synth.

--ssynth-disable
    Disables simple software synth.

LIGHT CONTROL OPTIONS

--light-channels
    Sets the number of light channels. Examples: 512, 1024

RADIO DATA SYSTEM OPTIONS

--rds-pi
    Sets the Programme Identification (PI).

--rds-ps
    Sets the Programme Service Name (PS).

--rds-pty
    Sets the Programme Type (PTY).

--rds-tp
    Sets the Traffic Programme (TP) flag

--rds-ct
    Enables sending of RDS Clock Time (CT).

X11 OPTIONS

--x11-display, --display
    Sets the display to use.

--x11
    Enable X11 support.

NETWORK OPTIONS

--tcp, -t
    Sets defaults for TCP/IP Socket.

-4, -6
    Use IPv4 or IPv6 mode.

-64 Try to downgrade IPv6 sockets into IPv4 sockets.

--unix, -u
    Sets defaults for UNIX Domain Socket.

--decnet, -n
    Sets defaults for DECnet Socket.

--port, -p
    Sets the port the server should listen on.

--bind, -b, --sock
    Sets the hostname or path the server should listen on.

--list-proto
    List supported protocols.

--proto
    Sets the protocol used for the listening socket.

--proto-dir, --proto-rate, --proto-bits, --proto-codec, --proto-chans, --proto-aiprofile
    Set stream parameters for protocols needing stream options. Defaults to server defaults.

--list-profiles
    List supported profiles.

    --proto-profile Use the given profile for the listening socket.

--new-sock
    Adds a new listening socket.

--no-listen
    Do not listen for new clients (only useful for relaing, impleys --terminate).

--client-fh FH
    Expects a client on the given FH. This may be useful with --no-listen.

--close-fh FH
    Close the given FH. This is not useful for endusers but used internaly.

--jumbo-mtu
    Sets the MTU for Jambo Packets.

OPENSLP OPTIONS

--slp
    Enable OpenSLP support.

STREAM OPTIONS

rate
    Sets the sample rate.

channels
    Sets the number of channels.

bits
    Sets the number of bits per sample.

codec
    Sets the codec.

blocks
    Sets the number of memory blocks that sould be used by the devices. Most devices only support a few values or don't support this option at all. If this option or the specifyed value is not supported by the device this is not handled as fatal error.

blocksize
    Sets the size of the memory blocks used by the device. Most devices only support a few values or don't support this option at all. If this option or the specifyed value is not supported by the device this is not handled as fatal error.

meta
    Sets the meta flag.

sync
    Sets the sync flag.

primary
    Marks this stream as primary.

cleanmeta
    Sets the cleanmeta flag.

autoconf
    Sets the autoconf flag. This flag is not supported by all drivers. If the flag is set and the devices does not support this there is no fatal error if the device could be opend with defaults.

Example:
    rate=44100,bits=16,channels=2,codec=pcm,sync

MIXER OPTIONS

primary
    Makes this stream as primary.

autoconf
    Sets the autoconf flag.

passmixer
    Sets the passmixer flag.

name
    Sets the name for the device.

subs
    Sets list of subdevices. This is driver specific.

ENVIRONMENT VARIABLES

HOME
    The users home directory.

ROAR_SERVER
    The address of the listening server. This may be in form of host:port for TCP/IP connections and /path/to/sock for UNIX Domain Sockets.

ROAR_DRIVER
    The driver to select. Same as -d.

ROAR_DEVICE
    The device to select. Same as -D.

BUGS
There are lots of bugs...

SEE ALSO
roar-config(1), roarcat(1), roarcat2sock(1), roarcatad(1), roarctl(1), roarfilt(1), roarfish(1), roarmon(1), roarsockconnect(1), roartypes(1), roarvorbis(1), RoarAudio(7).

HISTORY

For history information see RoarAudio(7).