[LV2] Idle interface and Plugin => UI ringbuffer overflow
Harry van Haaren
harryhaaren at gmail.com
Mon Jun 24 18:54:02 PDT 2013
Hey,
I've been developing a plugin which pops up a "Load" dialog to the user.
This dialog runs "modal" above the main UI: the main interface thread gets
held up.
This is ok for a while, but becomes an issue if constant updates are sent
trough the ringbuffer from the plugin to the UI. The held-up UI thread
can't empty the ringbuffer, and events can get lost.
I'm not sure if this issue has been encountered before?
Possible solution:
Write the plugin so that when the dialog opens, the stream of data is
temporarily halted: no data is written to the ringbuffer => no overflow.
This would fix the problem, with the main disadvantage being that every
plugin must have the data-transmission logic.
This is achievable trough quite easily, but is this the cleanest solution?
GTK & FLTK both have this type of "thread-halting" dialog boxes, and I
presume its the same in QT / other toolkits, so I feel its worth discussing
before attempting the fix mentioned above.
What opinions are out there? Cheers, -Harry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lv2plug.in/pipermail/devel-lv2plug.in/attachments/20130625/432b2446/attachment.htm>
More information about the Devel
mailing list