NAME
bsescm - A Guile based scheme shell for BEAST and BSE.
SYNOPSIS
bsescm [OPTIONS] [--] ...
bsescm [OPTIONS] infile.bse ...
DESCRIPTION
bsescm is a Guile based scheme shell for BSE, the Bedevilled Sound
Engine.
bsescm provides a shell interface to all procedures exported by the BSE
library, so scripts are able to access the full range of functionality
provided by it, from simple playback of a .bse file to full fledged
automated creation or editing of synthesis networks.
Alternatively to the linked in BSE library, the bsescm language
interface can also talk to a remotely running BSE library host, for
instance beast(1). By operating on a remotely running BSE core, bsescm
can be used to script arbitrary BSE programs. The shell is also used
directly by the BSE library to execute procedures on its behalf, this
allows BSE procedures to be written in scheme.
When started, bsescm tests whether the first non-option argument is a
.bse file and if the test succeeds, attempts to play the command line
arguments as .bse files.
OPTIONS
bsescm follows the usual GNU command line syntax, with long options
starting with two dashes (’--’).
--bse-pipe INFD OUTFD
Provide the input and output communication filedescriptors for
remote operation.
--bse-eval STRING
Execute (eval-string STRING) instead of going into interactive
mode.
--bse-enable-register
Allowes registration of procedures with the BSE core.
--bse-no-load
Prevent automated loading of plugins and scripts at startup time
in interactive mode.
--bse-no-play
Prevent automated detection and playback of .bse file command
line arguments.
--g-fatal-warnings
Make runtime warnings fatal (abort).
-h, --help
Describe command line options and exit.
-v, --version
Display version and exit.
-n=NICELEVEL
Execute with priority NICELEVEL, this option only takes effect
for the root suid wrapper ’beast’.
-N
Disables renicing to execute with existing priority.
--bse-latency=USECONDS
Set the allowed synthesis latency for BSE in milliseconds.
--bse-mixing-freq=FREQUENCY
Set the desired synthesis mixing frequency in Hz.
--bse-control-freq=FREQUENCY
Set the desired control frequency in Hz, this should be much
smaller than the synthesis mixing frequency to reduce CPU load.
The default value of approximately 1000 Hz is usually a good
choice.
--bse-pcm-driver DRIVER-CONF
-p DRIVER-CONF
This options results in an attempt to open the PCM driver
DRIVER-CONF when playback is started. Multiple options may be
supplied to try a variety of drivers and unless DRIVER-CONF is
specified as ‘auto’, only the drivers listed by options are
used. Each DRIVER-CONF consists of a driver name and an
optional comma seperated list of arguments attached to the
driver withan equal sign, e.g.: -p oss=/dev/dsp2,rw -p auto
--bse-midi-driver DRIVER-CONF
-m DRIVER-CONF
This option is similar to the --bse-pcm-driver option, but
applies to MIDI drivers and devices. It also may be specified
multiple times and features an ‘auto’ driver.
--bse-driver-list
Produce a list of all available PCM and MIDI drivers and
available devices.
Guile Options:
-l FILE
Load scheme source code from file.
-e FUNCTION
After reading script, apply FUNCTION to command-line arguments.
-ds
Do -s SCRIPT at this point (note that this argument must be used
in conjuction with -s).
--debug
Start with debugging evaluator and backtraces enabled (useful
for debugging scripts).
--emacs
Enable emacs protocol for use from within emacs (experimental).
The remaining Guile options stop argument processing, and pass all
remaining arguments as the value of (command-line):
--
Stop argument processing, start in interactive mode.
-c EXPR
Stop argument processing, evaluate EXPR as a scheme expression.
-s SCRIPT
Load Scheme source from SCRIPT and execute as a script.
SEE ALSO
beast(1), bse(5), BEAST/BSE Website (http://beast.gtk.org), Guile
Documentation (http://www.gnu.org/software/guile/docs/)