HELP INDEX
CECILIA has two distinct but interdependent user modes:
-
Program mode. In this mode, you work with CECILIA's text editor
to produce the usual orc and sco documents. This is also where you
build CECILIA graphic interfaces to your orchestra. The interface
builder does not have to be used. In this case, CECILIA becomes very
similar to its predecessor CYNTHIA.
-
Production mode. In this mode, you use CECILIA with precompiled
"modules" (any given orc/sco pair performing a sound-processing
function) where any number of parameters are controlled via CECILIA's
graphic interface objects (graphs, sliders, toggles, etc.). These
modules can be your own or any of the built-in set. Production
mode does not require Csound programming to produce sound.
The file system:
-
The module file
CECILIA opens, saves and creates documents as single "myfile"
files. Orchestra, score and interface definitions reside in the
same text file. These are called "modules". An orc/sco pair, with
or without interface objects is always considered a "module" by
CECILIA whatever its function and whether it contains interface
objects or not. These files are what the programming mode
generate and are identified by their own "multilayered" icon on
the SGI desktop.
-
The snapshot file
CECILIA can save and recall snapshot files of the interface
objects of a given module. These files contain only the module's
name and the state of its various interface objects. Snapshot
files only make sense when there are interface objects in a given
module. Presets if you will. Production mode is where snapshot
files are handy and are identified by a "single-layer" icon on
the SGI desktop.
The interface builder:
CECILIA's interface objects are generated with the tk toolbox.
When objects are defined using CECILIA's syntax in the tk_interface
window of the editor, new windows are created showing the new
objects. There are two different windows depending on the nature of
the object. Objects are added to the appropriate window and aranged
geographically to present a coherent whole.
Each new object is linked in its definition to a user-defined
variable name and/or function number. This variable gets plugged into
the regular orchestra or score via Csound global variables or via
direct substitution according to a simple syntax. There are five
types of objects:
-
Graphs. These are graphical breakpoint functions that will
automatically generate function tables in the score using a
gen05, gen07 or gen08 method. How these functions are used in the
orchestra is up to the module's programmer. By default these are
transfered into the orchestra via a global Csound variable in the
form : gkname_of_variable. They can also be used in a
table indexed by a phasor or they can be used to define a waveshape
for an oscillator or an envelope.
- Sliders. These are evaluated at irate or krate with
the current
value of the variable plugged in the orchestra or score in the
via global Csound variables in the form::
gkname_of_variable. Slider can run at init-rate or
control-rate. Real-time interaction is possible with control-rate
sliders.
-
Midi Sliders. This object facilitates the real-time midi
control of Csound variables. It is designed to work with the
JLCooper FaderMaster but will read any kind of channel voice midi
message. A midi slider is evaluated at krate with the current
value of the variable plugged in the orchestra or score in the
form: gkname_of_variable
. This object uses
special Csound instruments to pass data. These instruments are
normally not visible to the user.
- Pop-ups. List of choices. Useful for multiple choices
and "if" control structures. Pop-up object only run at k-rate.
Same form and evaluation as above.
- Toggles.. Useful as a switch. Toggle objects only run
at k-rate. Same form and evaluation as above.
- Filein. These objects are presented in the Main
window of CECILIA. The buttons open a fileselector to choose
sounds and/or analysisfiles. The objects also provide some
information about the files currently loaded. The filein object is
essentially used to plus in any filename anywhere Csound expects a
filename such as the soundin, lpread, pvoc unit generators. The
form is:
asig,asid soundin
"[name_of_variable],[offname_of_variable]"
where [offname_of_variable] is an offset into the soundfile as
specified by the slider included in the filein object. The filein
object can be used for any type of file required by Csound unit
generators, including analysis files.
What happens when you push "Preview" or "Write" in the
Main window.
- The relevant editor pane is read. For
each interface variable, a new invible instrument is
created and its value is passed on via the global name.
- Sampling rate, ksmps and number of channels are read in the
Main window and substituted at the top of the orchestra
section.
- Temporary files are written and Csound is called with all
the selected options and the two temp files.
- The sound is written to the "named" file or previewed in
real-time to DACs.