| @@ -3034,28 +3034,46 @@ public: | |||
| else | |||
| nextBankId = 0; | |||
| // reset iters | |||
| const uint32_t j = fEventsIn.ctrlIndex; | |||
| if (fEventsIn.ctrl->type & CARLA_EVENT_DATA_ATOM) | |||
| { | |||
| lv2_atom_buffer_reset(fEventsIn.data[j].atom, true); | |||
| lv2_atom_buffer_begin(&evInAtomIters[j], fEventsIn.data[j].atom); | |||
| } | |||
| else if (fEventsIn.ctrl->type & CARLA_EVENT_DATA_EVENT) | |||
| for (uint32_t j=0; j < fEventsIn.count; ++j) | |||
| { | |||
| lv2_event_buffer_reset(fEventsIn.data[j].event, LV2_EVENT_AUDIO_STAMP, fEventsIn.data[j].event->data); | |||
| lv2_event_begin(&evInEventIters[j], fEventsIn.data[j].event); | |||
| if (fEventsIn.data[j].type & CARLA_EVENT_DATA_ATOM) | |||
| { | |||
| lv2_atom_buffer_reset(fEventsIn.data[j].atom, true); | |||
| lv2_atom_buffer_begin(&evInAtomIters[j], fEventsIn.data[j].atom); | |||
| } | |||
| else if (fEventsIn.data[j].type & CARLA_EVENT_DATA_EVENT) | |||
| { | |||
| lv2_event_buffer_reset(fEventsIn.data[j].event, LV2_EVENT_AUDIO_STAMP, fEventsIn.data[j].event->data); | |||
| lv2_event_begin(&evInEventIters[j], fEventsIn.data[j].event); | |||
| } | |||
| else if (fEventsIn.data[j].type & CARLA_EVENT_DATA_MIDI_LL) | |||
| { | |||
| fEventsIn.data[j].midi.event_count = 0; | |||
| fEventsIn.data[j].midi.size = 0; | |||
| evInMidiStates[j].position = event.time; | |||
| } | |||
| } | |||
| else if (fEventsIn.ctrl->type & CARLA_EVENT_DATA_MIDI_LL) | |||
| for (uint32_t j=0; j < fEventsOut.count; ++j) | |||
| { | |||
| fEventsIn.data[j].midi.event_count = 0; | |||
| fEventsIn.data[j].midi.size = 0; | |||
| evInMidiStates[j].position = event.time; | |||
| if (fEventsOut.data[j].type & CARLA_EVENT_DATA_ATOM) | |||
| { | |||
| lv2_atom_buffer_reset(fEventsOut.data[j].atom, false); | |||
| } | |||
| else if (fEventsOut.data[j].type & CARLA_EVENT_DATA_EVENT) | |||
| { | |||
| lv2_event_buffer_reset(fEventsOut.data[j].event, LV2_EVENT_AUDIO_STAMP, fEventsOut.data[j].event->data); | |||
| } | |||
| else if (fEventsOut.data[j].type & CARLA_EVENT_DATA_MIDI_LL) | |||
| { | |||
| // not needed | |||
| } | |||
| } | |||
| } | |||
| else | |||
| { | |||
| startTime += timeOffset; | |||
| } | |||
| } | |||
| switch (event.type) | |||