setAlwaysOnTop not working in live


#1



It seems setAlwaysOntop (true) does not work within Live (it's fine in reaper) :
I got a plugin with a dialog set to be always on top. but if I click on the plugin editor the dialog goes behind it.
any thoughts about what can go wrong within live ?

Here is just what I do in JuceDemoPluginAudioProcessorEditor :


in .h :
    ScopedPointer<DialogWindow> dialog;

in .cpp :
    - in JuceDemoPluginAudioProcessorEditor() :

        dialog = new DialogWindow ("dialog", Colours::red, false);
        dialog->setAlwaysOnTop (true);
        dialog->setVisible (true);

    - in resized() :

        dialog->centreAroundComponent (this, 200, 200);
 


#2

I'd really recommend not creating your own windows with plugins - it's a total crapshoot as to how different hosts will interact with them, and it opens you up to a huge range of edge-case behaviours that could cause problems. Best to keep everything within your plugin's component if poss.


#3


in case it can give any clue : that bad "on top" behaviour is only with VSTs. everything is fine with AUs…


> I'd really recommend not creating your own windows with plugins


hum.. the nice thing with such windows is that (for instance) they allow correct selection and typing in textEditors, which otherwise also have a lot of weird behaviours and need several hacks.
I would prefer/it seems easier to find a simple hack to get the window staying on top.
 


#4

Ok, sure, for temporary windows + popups it's often necessary.

As to the stacking behaving differently in Ableton, I'm afraid I really have no idea, TBH. Must be something to do with the way their own parent window has been set-up.