HELP INDEX



CECILIA has two distinct but interdependent user modes:
  1. 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.
  2. 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:

  1. 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.

  2. 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:

  1. 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.
  2. 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.
  3. 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.

  4. 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.
  5. Toggles.. Useful as a switch. Toggle objects only run at k-rate. Same form and evaluation as above.
  6. 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.