barryvan/trackPerformer — Issue #3: Polyphony
Author: barryvan
Created: 2011-10-28 10:01:49+00:00
State: open

The "Oscillator" performer is currently the only one to handle polyphony intelligently -- but it can only do so because it is simple. For more advanced performers, such as the SignalTracker, we'll need a better way to handle polyphony.

I would suggest that:
1. Channel information be brought across from the source track.
2. A Polyphonic Performer Controller be created. This will instantiate as many performers of the specified type as are required to handle the number of concurrent voices, and will pass only the relevant data to each performer.
3. Multiple polyphony-management modes be provided, to handle the case when there are more voices than there are performers. This may include oldest first, most-active first, least-active first, highest first, and lowest first.