View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002682||ardour||bugs||public||2009-05-17 20:57||2021-01-28 06:26|
|Summary||0002682: VST plug-in editors are not really closed when closed.|
|Description||I'm working on an Spectrum Analyzer VST plug-in. It uses lots of CPU when analyzing, so it automatically deactivates analyzing when editor window is closed. It works OK everywhere except Ardour, where editor window isn't destroyed when user closes the window. Editor window probably just remain hidden, still using resources. It is evident with my plug-in, but not so evident with other plug-ins. Still, having multiple VST plug-ins updating their invisible GUI's might seriously affect overall performance of DAW.|
|Steps To Reproduce||1) Open a session|
2) Add a VST plug-in
3) Open it's editor - effEditOpen is sent to the plug-in
4) Close editor - nothing is send to the plug-in
5) Remove VST plug-in - now effEditClose is actually send
|Tags||No tags attached.|
Other hosts, like Bitwig, call effEditClose / effEditOpen whenever the GUI is opened/closed.
I believe that would be the right behavior, just because you opened a plugin once, you don't want it's GUI
to linger around for the rest of the session.
Especially OpenGL plugins (of which there are many, and more to come) usually redraw the GUI many times per second.
So keeping around the window is very wasteful.
||Another data point I got from #lad (IRC freenode) is, that not only does Bitwig do this, also REAPER and Renoise call effEditClose properly.|
The problem you mention cannot be solved simply by destroying the Window.
Plugins should not render their UI when they're not mapped on the screen, regardless of the window being realized or not. A window that is off-screen or on a different desktop should not render itself unless it is mapped and visible. Most professional plugins heed that. Force closing the window is just a poor workaround.
I expect you come from the windows world where the window "X" button is often misinterpreted to mean "exit/quit", rather than close/hide on other OS.
The main motivation behind Ardour keeping windows around is to be able to show them again instantly, without requiring to reload resources.
And in some cases also so that the plugin GUI already has accumulated history in case it features analyzers or meters. As opposed to Bitwig, Renoise etc. Ardour is focused on live audio realtime signal processing
where the mixer runs constantly and does not freeze or idle.
Thanks for your reply, I'll look into the toolkit I'm using then to stop drawing.
btw.: I do not come from the "windows world", but I did not encounter that interpretation yet.
I guess it kind of makes sense when you view the plugin as being a dialog window of the host application,
instead of a separate application UI.
|2009-05-17 20:57||agorka||New Issue|
|2010-04-24 10:28||cth103||Category||bugs => bugs2|
|2010-04-24 10:31||cth103||Category||bugs2 => bugs|
|2021-01-27 07:22||weirdconstructor||Note Added: 0025472|
|2021-01-27 11:10||weirdconstructor||Note Added: 0025474|
|2021-01-27 19:58||x42||Note Added: 0025475|
|2021-01-28 06:26||weirdconstructor||Note Added: 0025477|