Csound Shell for BeOS

Shell Icon

The Csound Shell is a graphical UI front-end for the Csound music synthesis program. Its main features are

The current version does not yet allow realtime sound input or output, has no graphical displays and does not allow X/Y coordinate input. These features will be supported in a later version.

Jobs

At the heart of the Csound Shell is the concept of a job. A job is simply a collection of command-line options and parameters which will be passed to Csound when the job is executed. Jobs can be saved in files. There are several different job types:

Windows

Every open job in the Csound Shell has an associated job window which displays controls for modifying the contents of the job. If there are many parameters in the job, an additional options window is provided to reduce visual complexity.

A job window contains a menu bar and a set of buttons controlling the execution of the job. Options windows contain only controls. Closing a job window discards the job, but closing an options window merely hides the window.

Each control in a window corresponds to a single component of the job associated with the window. Depending on the component's type, different kinds of controls are used:
Component TypeControl
FilenameText entry field
Numeric valueText entry field
Boolean switchCheck box
1-of-N selectionSet of radio buttons
Text entry fields can be mandatory (a value is required for executing the job) or optional. As long as any mandatory text entry field has not been assigned a value, the command button used to start execution will stay disabled. If an optional text entry field has not been assigned a value, the corresponding command line option will not be passed to Csound when the job is executed. Mandatory text entry fields are distinguished by their different background color.

Files can be dragged from a Tracker window to a window in the Csound Shell. A file whose MIME type or filename extension is recognized will cause the corresponding text entry field to be updated with the file's name, regardless of the location where it was dropped. A file whose type or extension is unknown will cause a text entry field to be updated only if it is dropped within the space occupied by the field.