Note that the API is not complete yet, it's still a draft.<br><br>In the future I want the plugin to have a way to tell the host "recheck my programs now" and "program x:y changed name, please refresh",<br>
which can't be done with MIDI messages.<br><br>There might be are other useful features an extension can do that MIDI cannot.<br><br><div class="gmail_quote">On Fri, May 4, 2012 at 5:16 PM, David Robillard <span dir="ltr"><<a href="mailto:d@drobilla.net" target="_blank">d@drobilla.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Fri, 2012-05-04 at 17:08 +0100, Filipe Lopes wrote:<br>
> hey there everyone,<br>
><br>
> I've been working a new LV2 extension with Rui (a.k.a. rncbc,<br>
> Qtractor's developer) regarding midi-programs.<br>
> The purpose is simple - allow to plugin to tell the host about his<br>
> midi-programs, and the host to change them on the fly.<br>
><br>
> Currently LV2 Presets are managed by the host, and the plugin has no<br>
> control over them.<br>
> Although it is possible to collect all presets related to a plugin and<br>
> map them to ints for this, it's not in any sense pratical.<br>
> (The host would have a lot of work ensuring a session presets 100%<br>
> match another session, as LV2 presets can be changed at anytime by the<br>
> user).<br>
<br>
</div>Programs are not at all like presets.  They are more like an enumeration<br>
control.<br>
<div class="im"><br>
> A simple and easy solution is a C API similar to the DSSI<br>
> get/select_program.<br>
> The plugin tells the host which midi-programs it has available, and<br>
> allows the host to select one.<br>
><br>
> The spec is still in draft and being tested at the moment (although<br>
> already works in it's base form).<br>
> I've reserved a namespace on my page for it (as I don't expect this to<br>
> be fully accepted by we know who...)<br>
><br>
> May I preset you, LV2 Programs extension:<br>
> <a href="http://kxstudio.sourceforge.net/ns/lv2ext/programs/" target="_blank">http://kxstudio.sourceforge.net/ns/lv2ext/programs/</a><br>
<br>
</div>Select program with a function is completely silly.  Use MIDI, then<br>
there is no need for that function, or the UI extension whatsoever,<br>
since hosts already need to implemented the ability to send that from<br>
the UI.<br>
<span class="HOEnZb"><font color="#888888"><br>
-dr<br>
<br>
<br>
</font></span></blockquote></div><br>