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 complilation 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 optionsThe 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.
|
|
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/lib/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: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (Version 2) as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA In sfront distribution, see file COPYING for the GNU General Public License, or see the next section of this chapter. |
|
Next section: Part I/6: Change Log and License |
|
mp4-sa-> sfront reference manual-> command-line options |