On 07/08/2016 05:26 PM, Mark D. McCurry wrote:
Last time I counted the total possible parameters
given the default
number of parts/kits/voices/etc there's a bit over 6,000,000 parameters.
Think about how big of a .ttl that would be :p
The way that MIDI learn works is:
1. you select one of these many parameters
(Middle click or CTRL+right click in the fltk/ntk UI)
(if you're in a version where this doesn't lauch correctly use
zynaddsubfx-ext-gui osc.udp://localhost:PORT)
2. you send zyn an unbound MIDI CC
3. zyn creates an internal mapping from MIDI CC -> internal parameter
This isn't visible as a standard lv2/vst/etc parameter, so it's quite
non-standard in that sense, but IMO it's a reasonable solution given the
scope of zyn.
So, remove your doubt and enjoy the non-standard solution to this problem.
+1
setBfree uses exactly the same approach, with a slight difference is
step 2: it does not have to be unbound: one can re-assign in one step.
setbfree is nowhere near 6M parameters, but similarly large.
There was some idea floating around to expose plugin parameter bindings
to a host via LV2 Patch::Set/Get
IMHO that makes sense for effects which otherwise don't parse midi
itself, nor have any synth related concepts of programs or banks.
Note: Any parameter that can be automated on a timeline (exposed as
normal control-port) should never ever be set by a plugin itself via
midi-bindings of otherwise. That'll lead to inconsistent parameters.
ciao,
robin