A structure for controlling modular processes.
ProcEvents will update the state of another object in a model-view-controller paradigm (see SimpleController). Currently implemented messages are \indexPlaying
and \amp
. See Model-view-controller examples.
procdict | |
tolerance | |
... paths |
events |
An array of events (ProcMods or a function) to play / release in the following format: [ProcMod, ProcMod.id to release]. Both the events to play and release may also be arrays, or nil. If the event is a function, realize that it is best to be a single shot type of thing, you won't be able to access it later (to stop a loop, for instance). So, make sure it is something that you set to run or execute, then can forget about completely. |
amp |
An amplitude scaler for everything running in the ProcEvents instance. |
initmod |
A ProcMod to be evaluated when the first event is called, regardless of event number. Useful for allocating buffers or persistant synths. |
killmod |
A ProcMod to be evaluated when this instance of ProcEvents is killed. Useful for freeing buffers and killing persistant synths. |
id |
A \symbol or "string" to identify this instance of ProcEvents server - an instance of Server to run this ProcMod on. Useful for remote servers. Defaults to Server.default. |
server | |
lag |
Releases all running ProcMods and resets the system to evaluate initmod again.
Releases all running ProcMods EXCEPT the initmod.
rel |
Returns the current time in reference to the starttime of 'id'. 'id' should be a \symbol or "string". If 'id' is nil, the reference will be the ProcEvents starttime itself.
id |
Creates a GUI with basic ProcMod controls and a perfGUI for rehearsal purposes.
idx |
Will play and release the next event in the events array. Starts at 0. If initmod has not been executed, it will be.
timeLineArray |
The next event's index. This is used internally and only when there's no GUI.
nextIdx |
Returns an Integer
of the currently playing index. Will be nil
initially and after resetting.
path |
wait |
newamp | |
newlag |
events | |
argamp | |
arginitmod | |
argkillmod | |
argid | |
argserver | |
arglag |
listens to pedalbus for Amplitude triggers. This is fairly specialized. I use a quater inch keyboard sustain pedal (a ground switch). When pedalTrig is invoked, an OSCresponderNode is started that listens for a noise floor for testdur seconds. An average reading is taken and is stored as a basevalue. When the pedal is pressed, a spike in amplitude is created. If the spike is within basevalue * headroom, the next event is called. Some tuning should be done to find a headroom value that will work reliably. Triggers are limited to one trigger in every trigwindow seconds.
TO DO: create a way to store values from the pracGUI to be re-used for later performances.
pedalbus | |
trigwindow | |
testdur | |
guiBounds | |
addAction | |
target |
Kill this instance of ProcEvents. Frees everything.
timeLineArray | |
timeLineStart |
Plays and releases the events at index in the events array. If initmod has not been executed, it will be.
event |
Creates a GUI with basic ProcEvents controls to perform an instance of ProcEvents.
guiBounds | |
buttonColor | |
parent |
path |
newlag |
path | |
argTimeStamp | |
argHeaderFormat | |
argSampleFormat |
bigNumBounds | |
fontSize |
Returns the starttime of the ProcMod with 'id' in relation to the starttime of ProcEvents' first event. Id should be a \symbol or "string". If 'id' is nil, the time of the first event of this instance of ProcEvents (according to Main.elapsedTime) is returned.
newtime |