Get rid of embedding completely#7837
Conversation
|
What I did here is mostly reverting a major chunk of #3786 |
|
|
||
| FIND_PACKAGE(Qt5 5.9.0 COMPONENTS Core Gui Widgets Xml Svg REQUIRED) | ||
| IF(LMMS_BUILD_LINUX) | ||
| FIND_PACKAGE(Qt5 REQUIRED COMPONENTS Core Gui Widgets Xml Svg X11Extras REQUIRED) |
There was a problem hiding this comment.
I would appreciate if we find a way to push the x11extras stuff to the vst cmake scripts
There was a problem hiding this comment.
I would appreciate if we find a way to push the x11extras stuff to the vst cmake scripts
If you're removing embedding in this PR, why would you still need them?
There was a problem hiding this comment.
@Rossmaxx on second thought, maybe we keep this... QtX11Info seems to mentioned in this migration guide: https://doc.qt.io/qt-6/extras-changes-qt6.html. (Also we can patch this on qt6 branch)
With regards to where this code belongs, we'll likely need this logic for other plugin types (e.g. LV2) so it's most likely in the right place. We could guard it with a LINUX + VST check if we wanted to be more explicit.
There was a problem hiding this comment.
x11extras isn't related to the qt5-x11embed submodule we ship right? It should be fine to leave it alone if my understanding is correct.
|
Self note: i need to tweak the "keep the vst window on top when not embedded" text. |
sakertooth
left a comment
There was a problem hiding this comment.
Left an outstanding comment on the x11extras situation, but LGTM. I can actually build LMMS again. This was also long overdue for a removal.
If you're spearheading this change, you should know EXACTLY how much testing is needed. At a bare minimum:
Some criticisms of this PR:
So, although this PR is likely in the direction that the project is moving, I'm not sure if it will get my approval in current form without some more due diligence and supporting conversation around this topic. |
|
Sorry for the late reply @tresf was caught up
I admit I don't know the exact details, that's why I left it vague, and don't really have much time to mess around as of now. I thought I could submit the PR now and get back once I get more clarity on the topic.
Ahh, sorry. I will update the description.
Disabling it by default is one way to go about it, but wouldn't older installs, from the old lmmsrc override it in that case? That's the reason I haven't attempted that way instead. I'll draft this PR for now, as I'm not clear about the direction i should take this change to myself. |
Yes, this was contextualized in my initial reply:
|
If the feature is disabled by default, it's less code changes (so less likely to break even more stuff with open PRs) and can even go as far as to provide a warning when devicePixelRatio > 1 to help people trying this feature against issues like #7683. To be clear, I too want this feature gone, but only because it's broken, not because it's a bad feature. Embedding external plugins is a great idea in principle. Furthemore, setting the icon may be adjacent to this task, but once embedding is off by default, we have to make sure that the default experience is sane. |
|
I don't use VSTs so I haven't tested this. However, it seems like @sakertooth approved. I'd just do another review, test from @Rossmaxx and merge. I could test it when I find some VSTs and time, though. Maybe another review from @szeli1 would be in order, if they find time. |
|
It's been a while since I've done lmms work and I don't think I will for some more time. I did run some brief tests at the time of writing the PR and it seems to look good. However, my testing was very short and I ain't confident with it. Also, there's some comments from tresf which I haven't addressed because I don't really know what's the correct course of action. I have to think about the problem in more detail. |
szeli1
left a comment
There was a problem hiding this comment.
I did not find any problems with the code, although I may not be the best one to review it. I have tested vestige on windows msvc 64 bit, and it worked fine.
| VstPlugin::createUI( nullptr ); | ||
| } | ||
|
|
||
| VstPlugin::createUI( nullptr ); |
There was a problem hiding this comment.
| VstPlugin::createUI( nullptr ); | |
| VstPlugin::createUI(nullptr); |
| { | ||
| if (! EMBED) | ||
|
|
||
| switch( _m.id ) |
There was a problem hiding this comment.
| switch( _m.id ) | |
| switch (_m.id) |
I did run a few vsts for 2 mins and things look fine, on linux mint. More testing might be needed.
cc: @tresf @messmerd @bratpeki @DomClark