mp4-sa-> sfront reference manual-> command-line options |
Sections
|
Command-Line OptionsUsage: sfront [options] Input OptionsOnly one of the following two options may be used:
If the -orc option is used, the following options may also be used.
In addition to the static control input options above, dynamic input can drive the C file sfront generates, via the control driver interface. Only one control driver may be specified on the sfront command line, using the -cin option. The following control drivers are available:
Streaming audio control drivers should be used with the -playback time management option. Interactive control drivers may be used with the -playback or -timesync time management options, depending on the audio driver in use. See Part II/2 for information on adding your own control drivers to sfront. |
Options By Category
Audio I/O Options
Alphabetical List
|
Code output optionsThese options specify output files written by sfront, or are flags that influence output file creation.
|
|
Audio I/O OptionsOnly one of the following output options may be used:
Only one of the following input options may be used:
If an audio input or output is needed and -ain or -aout is not on the command line, the WAV files input.wav and output.wav are used as defaults. If the srate or inchannels global parameters are not set in the SAOL global block, sfront queries the audio input source for the correct sampling rate and input width. Since sfront, and not the sa.c program, does the query, the file specified by the file-input -ain options must be available when sfront runs. See Part II/3 for information on adding your own audio drivers to sfront. Time-management optionsSfront programs run under one of three temporal modes: render, playback, or timesync. Each mode defines a set of real-time behaviors. Sfront sets a default temporal mode to suit the requirements of the chosen audio drivers. The time-management command-line options described below override the default temporal mode. These options are mutually exclusive; if multiple options are given, the last one is used.
The algorithm for real-time playback includes several parameters, which default to sensible values for typical hardware configurations. These parameters may be set explicitly using the following option:
|
Windows DLL IssuesTo link sa.c files created with -aout pa_win_wmme ... Under gcc: gcc -O3 sa.c -lm -lwinmm -o sa.exe Under MS VC++: cl sa.c winmm.lib -o sa.exe To link sa.c files created with -aout pa_win_ds ... Under MS VC++: cl sa.c dsound.lib dxguid.lib winmm.lib -o sa.exe If compilation fails, see this FAQ for help with include path issues. Directsound programs may not link correctly with gcc, to try: gcc -O3 sa.c -ldsound -ldxguid -lwinmm -o sa.exe Windows Device SelectionMultiple audio input or output sources may be available on your Windows machine. The pa_win_wmme and pa_win_ds drivers are set up with default sources. Environment variables select alternative sources. For example: set PA_RECOMMENDED_OUTPUT_DEVICE=1 set PA_RECOMMENDED_INPUT_DEVICE=1 uses an alternative source for both input and output (0 codes the default). Cycle through small integer values to find the source you want. |
Networking optionsPrevious releases of sfront supported network musical performance over the Internet. This feature relied on server infrastructure at Berkeley which no longer exists. Therefore, this release of sfront does not support networking. The command-line networking options described in this section produce sfront compile-time errors. Sfront networking served as the reference standard for RFC 4695, an IETF networking standard. To support RFC 4695 implementers, it is possible to compile this distribution with RTP MIDI support (although without server support, it will not be possible to successfully start a networking session). See the file sfront/src/NETWORK.HTML in the distribution for details. Below is the original documentation describing the sfront command-line options for networking. The C program sfront creates can communicate with other clients in a network session. Note that using network features could result in a malicious attack on your machine. USE AT YOUR OWN RISK. Currently, network sessions only carry MIDI commands that originate from the the -cin control driver. MIDI commands are sent to all other session participants. The options below activate networking.
Session participants should keep the session name and passphrase secret, because these items are used to cryptographically authenticate data arriving over the network. Without authentication, an attacker could play loud notes into your speakers and cause damage, or perhaps even take over your machine. The session name mirror has special semantics, and should not be used for regular session. The -session mirror option connects the client to a packet reflector client currently located in Berkeley California USA, that bounces back each RTP packet that contains MIDI data as soon as it arrives. The sonic effect is an echo note for each note played, whose echo time reflects the network delay. By default, this echo is also transposed up by 5 semitones. The following option changes this default.
In theory, any number of clients may be in a session. In practice, more CPU and bandwidth is needed to sustain a session as the number of participants rise. By default, the client can only handle sessions with 2 other players. The following option changes this default.
The Internet is an unreliable network; packets may be lost, delayed, or reordered in flight. Sfront uses algorithms to lessen the impact of lost and last packets on a performance. These algorithms may be tuned using the options below.
By default, the C program sfront creates tries to contact a SIP (session initiation protocol) server located in Berkeley California USA. This SIP server acts to coordinate the session. Someday, alternative SIP servers may exist. When that day arrives, the following options will become useful.
|
|
AudioUnit identification optionsSfront may be used to write AudioUnits, the plug-in standard for Mac OS X. Several command-line options server to define the identity of the AudioUnit. The type of the AudioUnit (Effect, MusicEffect, MusicDevice) is set via the selection of -ain, -aout, and -cin drivers. Other aspects of AudioUnit identity may be specified by the command-line options listed below:
See this book chapter for more information about writing AudioUnit plugins in SAOL. Pre-processor optionsSAOL and SASL files may be directed to a C pre-processor, by using the flags described below.
The environment variable SFRONT_INCLUDE_PATH is also checked for include search directories. Sfront expects this variable to hold one or more directory names, separated by colons. In addition, Sfront searches the /usr/share/sfront directory. After pre-processing, extraneous semicolons (introduced by popular macro idioms) are stripped from the code to produce legal SAOL code. All semicolons which follow open or closed braces are deleted, and repeated semicolons are reduced to a single semicolon (except inside the send statement). This post-processing is needed because null statements are not legal in SAOL. Debugging optionsBy default, sfront optimizes for speed, by implementing several code-generation techniques, and by not doing many run-time checks mandated by the MP4-SA standard. These flags change these defaults, and are useful during debugging.
Conformance optionsBy default, sfront deviates from the strict syntax and semantics of the MP4-SA standard. These flags make sfront more closely match the standard.
Legal optionsThe -license.option prints out license info for Sfront. The message it prints is reproduced below: Copyright (c) 1999-2006, Regents of the University of California All rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of California, Berkeley nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
Next section: Part I/5: Change Log and License |
|
mp4-sa-> sfront reference manual-> command-line options |