I agree -- modal dialog windows in software that is hosted within other software is especially bad practice. That said, this ongoing problem is an unfortunate reality: many plug-ins, including popular ones such as Kontakt 5, do throw up modal dialog windows. The modal dialog windows must not be allowed to be obscured by a plugin's UI window.dRowAudio wrote:Yes, this is precisely why modal dialogs in plugins are evil and should never be used.tonedef71 wrote:Always-on-top windows are not always a good idea in a DAW. A plug-in like Kontakt 5, which likes to pop up dialog confirmation windows (e.g. "Are you sure you want to reset this multi?") that are modal, can effectively freeze up a DAW. While the modal dialog window is active, the always-on-top window cannot be moved or minimized; if the always-on-top window has obscured the plug-in's modal dialog window, it will prevent the user from being able to acknowledge and dismiss the modal dialog window. If the user cannot somehow bring the modal dialog window in front of the always-on-top window, the only recourse he/she has is to forcibly kill the DAW process. No fun!
In the host, we have to set the plugin windows to always on top however, otherwise they constantly fall behind the main UI which makes them very difficult to use.
Is there a z-order value that is one unit away from the value for absolute top that can instead be set for the plugin-editor windows (e.g. maxvalue - 1, or minvalue + 1)?
Can the main UI window be given a z-order value that places it much further away from the absolute top?
As a compromise, what about providing an option in the DAW that allows the user to decide for his/herself whether or not he/she wants the always-on-top functionality enabled for the plugin-editor windows? That way, users who know that they do not have any plug-ins installed which throw up modal dialog windows can have the option enabled, whereas folks who have plugins like Kontakt 5 installed can opt to disable the always-on-top functionality for plugin windows.
Forcibly killing an unresponsive Tracktion/Waveform DAW should not be considered an acceptable solution to this real problem.
