lichen-community-systems / Flocking

Flocking - Creative audio synthesis for the Web
GNU General Public License v2.0
697 stars 60 forks source link

The Sequencer unit generator fails when durations and values don't match #136

Closed colinbdclark closed 8 years ago

colinbdclark commented 8 years ago

flock.ugen.sequencer attempts to be helpful to users when its durations and values inputs don't have the same number of items in them; this is undoubtedly an error case. However, since inputs can only be set one at a time in Flocking, this error will be triggered even when a user is trying to update them together.

As an alternative, we should fail during the sample generation process, when these two items genuinely need to match up correctly.

colinbdclark commented 8 years ago

This isn't an issue when setting multiple inputs on a synth using set(), but is visible when using flock.modelSynth due to the way it invokes multiple successive calls to set() for each changed model path (which in turn causes onInputChanged to be called successively for each changed input, rather than at the end of the "transaction").