The K Desktop Environment

4.4. Busses

Busses are dynamically built connections that transfer audio. Basically, there are some uplinks and some downlinks. All signals from the uplinks are added and send to the downlinks.

Busses as currently implemented operate in stereo, so you can only transfer stereo data over busses. If you want mono data, well, transfer it only over one channel and set the other to zero or whatever. What you need to to, is to create one or more Synth_BUS_UPLINK objects and tell them a bus name, to which they should talk (e.g. "audio" or "drums"). Simply throw the data in there.

Then, you'll need to create one or more Synth_BUS_DOWNLINK objects, and tell them the bus name ("audio" or "drums" ... if it matches, the data will get through), and the mixed data will come out again.

The uplinks and downlinks can reside in different structures, you can even have different Artsbuilders running and start an uplink in one and receive the data from the other with a downlink.

What is nice about busses is, that they are fully dynamic. Clients can plug in and out on the fly. There should be no clicking or noise as this happens.

(Of course, you should not plug out a client playing a signal, since it will probably not be a zero level when plugged out the bus, and then it will click.)