Closed sadko4u closed 1 year ago
The plugin is the one inserting events into the event list, in which events must be sorted by time. Ergo, the plugin is the one who should be inserting sorted events into the list. This is the same for every plugin format. (other than the mandatory merge+sort in VST3 if you need to combine both the event queue and the parameter queues)
The clap-validator also verifies that all events output by the plugin are in a monotonically increasing order of time.
I agree we should update the documentation though.
The host is responsible for ordering the input queue, the plugin is responsible for ordering the output queue.
I think it is perfectly clear. Given the interfaces, the plugin can't re-order the events. I'm not sure how one can possibly understand it wrong.
“Input event list. The host will deliver these sorted in sample order. Output event list. The plugin must insert events in sample sorted order when inserting events”
In the description of both
clap_input_events
andclap_output_events
, there are remarks:The description is missing the side that is responsible for providing sorted events. When we talk about the input event list, then probably the host is responsible for sorting out the events. When we talk about the output event list, then it is not clear who is responsible - the host or the plugin? Should the plugin care about sorting the events or is the host responble for sorting the events that come from the plugin?
I think this clarification should be added to the comments.