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 Better 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.testbit.eu), Guile
Documentation (
http://www.gnu.org/software/guile/docs/)