[LV2] Killing the event extension

hermann meyer brummer- at web.de
Fri Jan 31 23:03:49 PST 2014

Am 01.02.2014 05:50, schrieb David Robillard:
> On Thu, 2014-01-30 at 17:43 +0100, hermann meyer wrote:
>> Am 29.01.2014 16:49, schrieb David Robillard:
>>> Well... deliberately using the deprecated extension*after*  trying the
>>> new one was a bad decision.  Sorry.
>> Maybe it helps if you write the DEPRECATED note as well in the header
>> itself.
> The next LV2 release will have all event stuff tagged as deprecated, so
> GCC will generate warnings on their use.
>> To help me understand your intentions, would you explain me please, what
>> is the bad with the event extension.
> The short answer, of course, is that it has been replaced and
> deprecated, but the main reasons why that happened are:
> 1) A container for data that isn't always inside an event buffer was
> needed
> 2) Different contexts for mapped URIs proved to be a
> broken/complicated/error-prone idea.  At the same time, uri-map was
> dropped for urid, and atoms use a straight (32-bit) URID for a type.

Just as a side note,  the plug checks anyway if the event extension is 
supported, otherwise, it will simply disable the midi out.
But, . .

With the event extension I could write midi events comparable to 
What I do is the following
void Gxtuner::send_midi_data(int count, uint8_t controller,
                              uint8_t note, uint8_t velocity)
   midi_data[0] = controller; // note on/off
   midi_data[1] = note; // note
   midi_data[2] = velocity; // velocity
   if(! MidiOut) return;
     if(!lv2_event_write(&out_iter, count, 0, midi_event, 3, midi_data)) {
         printf("Error! midi event fail!\n");

Could I and How,  set up a atom message, to use it in a comparable manner?


More information about the Devel mailing list