Open Source Toolkit Documentation:
The MITRE SoX GUI
License / Documentation home / Help and feedback
In order to demonstrate the capabilities of its SoX wrapper, MITRE has written
a little Python GUI.
Status
History and plans
We whipped up this server as we were finishing up the initial cut at the
SoX wrapper.
Version history
Usage
Command line
<OSTK_HOME>/bin/sox_gui ...
Default port
9777
Command line arguments
static char *oas[] = {
"-cats_compatibility", "use only audio formats recognized by
CATS",
NULL
};
This server also accepts the standard server arguments. See the command-line
argument parsing library in the Galaxy Communicator documentation for details.
Runtime notes
When the SoX GUI accepts a connection from the Hub, it presents a menu bar
with three menus:
- The File menu allows you to quit the application.
- The Add... menu allows you to add settings entries for effects, volume,
output sample rate, output data encoding, output channels, output data size,
and to provide an input and output file. Each settings entry, when presented,
has a Delete button which allows you to remove the setting. You can have
multiple effects settings entries, and the effects will be listed in top-to-bottom
order when the settings are sent to the Hub.
- The Help menu allows you to access a summary of the effects syntax,
taken from the SoX man page.
Below the menu bar is the Send Settings button, which sends the settings
to the Hub.
Message set
This server accepts no messages.
Messages issued
When the Send Settings button is pressed, the server sends the following
message. Keys are present in the message if the corresponding settings are
present and set in the GUI. The syntax and legal values of all keys are identical
to those for the dispatch functions in the SoX wrapper.
{c FromSoxGUI
:effects <list of lists of strings: effects specifications>
:volume <float: volume change>
:output_sample_rate <integer: desired sample rate of SoX
output>
:output_data_encoding <string: desired data encoding of SoX
output>
:output_channels <integer: desired number of channels for
SoX output>
:output_data_size <integer: desired size in bits of each
sample in SoX output>
:input_filename <string: desired file for SoX to make available
for output>
:output_filename <string: desired file for SoX to save audio
to>
}
The intended effect of :input_filename is that SoX will immediately
play that file. The intended effect of :output_filename is that
SoX should save the next audio it receives to that file. However, since the
SoX GUI doesn't talk to SoX directly, it's up to the program file to enforce
these generalizations.
Known bugs
None yet.
License / Documentation home / Help and feedback
Last updated October 2, 2002