ExtensionA 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 |