View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide

the sc server node system

Home   How To   Code Pool   Public Library   Theory   Events
sc server nodes (synths) have an execution order and can read/write from/to busses.


Synths run in the order given by the tree. A node can read the state of the buses as they are when the node is run using the In ugen. A node can change the state of the buses using the output unit generators as follows:


When the first node runs, the input audio buses will have the hardware input signal on them and all other audio buses will be zero.

Now this is the potentially confusing part, but I think it works as one would like: Control buses are left in the state they were in when last touched, they are not newly zero each cycle. Out.kr mixes values from the same output cycle, but will replace stale values (those values remaining on the bus from previous cycles). The difference between handling audio and control buses is actually in the In unit generator. In.ar will read zero if an audio bus contains stale values, but In.kr will read a stale value as the current value. This allows you to run a node that writes an envelope to a control bus and once that node is deallocated, its final value remains on the bus until something else replaces it.
(James McCartney)





some points by Mark Ballora:

These points are illustrated in the pdf file linked below. It is an illustration of some code contained in the Help file "Order-of-execution.help.rtf". It shows how Synths, Environment variables, linked lists and busses fit together.

order-of-execution.pdf






Uploaded Image: scbus-mixdown.gif





case 1
Uploaded Image: sc-bus-case1.gif

case 2(this works only with the InFeedback ugen for audio rate, for control rate it is how the In ugen works)
Uploaded Image: sc-bus-case2.gif





Uploaded Image: sc-groups.gif
this shows where a new node is created relative to a target node, dependant on the add actions

Note that there is addAction 4 now, which means free and replace the target node.

jrh


image data to build these graphics in photoshop: sc-bus-system.psd
(tip: alt-drag copies a layer, with ps6 or 7 you can check 'autoselect layer' on the drag tool to make it more fun)






.

Link to this Page