VCA "gate" on juno simulation doesn't work right
dpwe opened this issue · comments
Patch 30 on juno_ui (called A47 Funky I) uses the "VCA gate" option. However, it clearly doesn't stop immediately after key-off, and sometimes it sounds very bad after note off.
I expected BP0 to have no values set for VCA gate, but alles.send(debug=99)
shows that BP0 has nonzero values, possibly left over from the previous patch.
Problem was that setting EGs only sets values that are not UNSET, but the variable-length EG messages terminate with unset values. This was leaving spurious trailing values if an EG was re-written with fewer breakpoints (and, in particular, trying to write a zero-length EG, to get pure keying, as in "VCA gate", did nothing). I added a bp_is_set[bpset] flag to the event structure, and modified the code so that one UNSET value will be copied across to terminate the set.