The use of internet socket protocols in RTcmix greatly extends the capabilities of the package. RTcmix can be used on a single host or across a network, separating asynchronous interface events from the synchronous, compute-intensive operation of RTcmix instruments. These member functions must be coded by the instrument designer. Each time this function is called, it produces up to one buffer's worth of audio samples. These samples are then combined with buffers from all other currently sounding instruments and sent to the D-A convertors to produce sound.
Every note then has an independent state, allowing the note to sound as intended.
The constructor for each instrument can be used to establish a socket connection for the instrument, thus allowing independent external paramenter control of every note. This allows users to trade-off note latency with compute time for different performance circumstances. The only invariant that needs to be maintained in this approach is that every child be indexed by its parent. This guarantees logarithmic time insertion and deletion, necessary for extensive real-time operation. The index used for heap members is time, expressed as samples.