sorry for all the questions ;)
but can please someone explain me what usefixedrate and v.unique are for?
my perception of this is: VST-DSSI stuff doesn't support variable
n_sample values in their process() calls, furthermore there exist
automation messages (that is, control-port-changes) which must be
processed on their own (that is, that may not be overwritten by a
subsequent change of the same port; why?).
this usedfixedrate thingy looks pretty flaky to me, however...
in line 1547ff:
(found && !v.unique && (evframe - sample >= min_per)) has no reference
to usedfixedrate at all. that is, regardless of usefixedrate, the loop
is exited at that location. after the loop, however (line 1584,
"if(found && !usefixedrate) nsamp = frame - sample;" , nsamp is NOT
updated to the shortened number of frames, but kept at the proper fixed
this imho results in _controlFifo events not be processed, even if they
should be processed in that period (indeed, without usefixedrate they
shouldn't because the period should be smaller. but it isn't so they
must be processed).
also, i don't fully understand how "(usefixedrate && found && v.unique
&& v.idx == index))" should work. this leaves the loop (and doesn't
process the event, which is probably intended; still i don't understand
the sense of this). however, it still calls plugin->process() with the
fixed rate, and ignores all subsequent events (which are invalid after
that process period)... wtf?
please help me ;)