Spaghetti v.0.98 - a graphic Csound orchestra
builder
© 1999 Riccardo Bianchini
This is still a prerelease version!!!!
Spaghetti is a shareware tool to build Csound orchestra
by assembling and connecting objects.
Why
"Spaghetti"?
Building an orchestra
Compiling an orchestra
Executing an orchestra
Blocks
Special
UGs
Designing your own Ugs
MENU
File | |
Open File (spa) | |
Save File (spa) | |
New File | |
Insert File | |
Save selected Block | |
Load Block | |
Exit | |
Edit | |
Select | |
Delete UG | |
Add vertical offset | |
Scale vertical | |
Instruments | |
Add Instrument Division | |
Remove Instrument Division | |
Compile Orc | |
Edit Score | |
View | |
Texts | |
MIDI Control | |
Options | |
Autogenerate Variables | |
Autoredraw Connections | |
Straight Line Connections | |
Compile/Save orc at each change | |
Name Block | |
Settings | |
Show UG Properties | |
Show Variables | |
Debug | |
Help | |
Help | |
Quick Hints | |
About | |
Register |
The Author:
Riccardo Bianchini
Professor, School of
Electronic Music
Conservatorio
«S.Cecilia», Rome, Italy
rb@fabaris.it
http://www.fabaris.it/bianchini
http://www.geocities.com/Heartland/Acres/4768
Why "Spaghetti"?
1) Because a complex patch
looks very much like a dish of spaghetti with tomato sauce, with
all its intertwining red lines;
2) Because with this name
it should be clear enough where this program comes from!
Building an Orchestra
Building an orchestra
consists of three steps:
1. Choosing an UG;
2. Assigning variables to
its inputs and to its outputs;
3. Connecting UGs outputs
to UGs inputs.
UG appearence: input pads
are red, while ouput pads are blue.
Choosing an UG: simply
choose an UG in the list box on the left double-clicking on it,
or selecting it with the mouse or arrow keys and hitting
<Enter>. Its icon will appear in the working area (upper
left). To move it, click once to select it, then drag it in its
new position. Alternately, once selected an UG, instead of
dragging, click on one of the four spin buttons over the writing
Move selected UG.
Assigning variables:
Shift-click on one of the input or output pad of the UG. A yellow
text box will appear, in which you can write the name of a
variable or an expression. To close the text box, hit
<Enter>.
Connecting two Ugs:
Control-click on an output pad; the mouse pointer will change to
a vertical arrow, allowing you to click (NOT Control-click) on an
input pad, completing the connection.
To disconnect two
UGs, simply Control-click with the right button on the input pad
you want to disconnect.
Compiling an orchestra
To compile an orchestra,
choose Compile to Window from menu Compile Orc . This will
display your orchestra in a window, so that you can view, edit
and save it.
Executing an Orchestra
If you are sure that your
orchestra does not contain errors. you can click on Execute
button, to open the Perf window. In this window you can choose
the Csound executable, the orchestra, the score, the name of
resultimg audio file, and the flags to Csound command line. These
parameters will be saved in a configuration file, so that you
will find them unchanged in your next session with Spaghetti.
File Menu
Top of page
Open File
Open an existing file
(extension SPA)
Top of page
Save File
Save current setting in a
SPA file
Top of page
New File
Clear workspace so that you
can build a new orchestra from scratch
Top of page
Insert File
Insert an existing SPA file
in your current workspace, without deleting anything. You will be
prompted to click in workspace to determine the vertical position
at which the file will be inserted.
Top of page
Save selected block
Once loaded and edited a
block, you can save it (as a file with extension .BLK).
Top of page
Load Block
Load a BLK file from disk.
You will be prompted to click in workspace to determine the
position at which the block will be inserted.
Top
of page
Exit
Exit Spaghetti
Edit Menu
Top of page
Select
Allow selecting multiple
UGs by clicking and dragging
Top of page
Delete UG
Delete selected UG
Top of page
Add Vertical Offset
You will be prompted to
enter a vertical offset by which ALL Ugs will be moved (positive
to move down, negative to move up).
Top of page
Scale Vertical
You will be prompted to
enter a multiplication factor, by which all vertical positions
will be multiplied. It is useful to vertical compress/enlarge
your orchestra.
Instrument Menu
Top of page
Add Instrument Division
Add a vertical line to
separate different instruments in the same orchestra
Top of page
Remove Instrument Division
Remove selected vertical
instrument division
Compile Menu
Top of page
Compile to Window
Compile and display your
orchestra in a window, so that you can view and edit it. You can
also save this orchestra to a file, or directly to the default
file «csgraph.orc», for fast executing.
Edit Score Menu
Top of page
Edit Score
Open a simple text editor
to edit an orchestra. You can also open and save a score with
default name «csgraph.sco» for fast executing.
View Menu
Top of page
Texts
Display variable names in
workspaces, close to each pad
Top of page
MIDI Control
Open a window with 12 MIDI controllers a MIDI channel selector and an Note ON/Note OFF button, which allows MIDI control of a Csound orchestra.
To use this feature, you'll need a software MIDI intergace, like, foe example, Hubis MIDI Loopback.
Options Menu
Top of page
Autogenerate Variables
When this option is
checked, each time you insert an UG, output variables will be
automatically generated and assigned.
Top of page
Autoredraw Connections
When this option is
checked, each time you ask to redraw the orchestra, connections
too will be redrawn. This could be a lengthy process, depending
on orchestra complexity and on your computer speed.
Top of page
Straight Line Connections
By default, Spaghetti
connects UGs by horizontal/vertical lines; if this option is
selected, Spaghetti simply connects UGs by straight lines.
Top of page
Save orc at each change
If this option is
activated, your orchestra will be compiled and saved as
«csgraph.orc» at each change.
Top of page
Autodisplay Texts
When this option is
checked, each time you ask to redraw the orchestra, texts too
will be displayed. This could be a lengthy process, depending on
orchestra complexity and on your computer speed.
Top of page
Name block
You can assign a name to a
block, which will be displayed on the UG.
Top of page
Show UG properties
In a separate window you
can see:
UG Name
Generated code
Number of inputs
Top of page
Settings
The required settings are:
Csound executable path and
name;
Csound flags;
Real time flag;
Orchestra path;
Score path;
Wave file path;
Default Browser (to display
this help)
Top of page
Show Variables
List all used variables
Top of page
Debug
This is for debugging
purposes only, and will disappear in the release version
Top of page
Redraw Button
Redraw entire orchestra. If
Autocompile/Save check box is selected, your orchestra will be
immediately compiled and saves as «csgraph.orc», allowing you
to run Csound by clicking button GO.
Top of page
Execute Button
Open the Perf Window, that
allows you to set orchestra, score and Wave file, to run Csound
and to listen to generated Wave file.
Top of page
GO Button
If your orchestra has been
saved (the LED is green), this button is enabled, and
clicking it will immediately run Csound with «csgraph.orc» and
«csgraph.sco».
Top of page
Blocks
«Blocks» can consist of
more than one UG, and can generate more than one line of
orchestra. You can think of a block as a macro. For example, a
block can consist of:
a1 oscil p4, p5, 1
a2 tone a1, p5*6
Such a block will have
two inputs (p4, p5) and one output (a2).
When you ALT-click a block
to edit it, a multiline text-box will appear, allowing you to
enter more than one line. To insert a new line, type
<CTRL-ENTER>. You are not allowed to insert TABs in a block
text.
Top of page
Special UGs
There are some special Ugs,
that do not have a corresponding opcode in Csound:
dummy and dummyx are
connections with one input and one output. The output simply
repeats the input. These UGs do not generate any code. Their use
is to simplify connections. dummyx is identical to dummy, but its
input is on its lower side, while output is on its upper side.
Top of page
Designing your own UGs
You can design your own UGs
following these simple instructions:
1. Draw your UG and save it
as a Windows bitmap (for example, with Paint)
2. Run CSGDETECT.EXE
program, and:
a. click on input pads
b. select
Output radio button and click in turn on output pads
c. specify the type of
output variable(s) (i, k, or a)
d. add to file UGS.TXT the
definition generated by CSGDETECT.EXE
3. If you want to put
multiline code in it, separate each line with <|>. Example:
a1 oscil iamp,ifreq,ifno|a2
reson a1,icf,ibw