Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add QML #93

Closed
wants to merge 1 commit into from
Closed

feat: add QML #93

wants to merge 1 commit into from

Conversation

acolombier
Copy link
Member

This is a shout in the dark to try to get QML to work on WIndows and Mac

@acolombier acolombier force-pushed the feat/add-qml branch 2 times, most recently from a10d2db to 85993f8 Compare October 29, 2023 21:15
qtbase
qtdeclarative
qtsvg
qttranslations
qtkeychain-qt6
qt3d[qml]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we only need the QML feature? Than qt3d[core,qml] could be used instead, which doesn't build the optional default-features of this VCPKG port.
The build time of qt3d was 39 minutes in the last Windows CI run.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not entirely sure we do, I need to test without it, but I suspected this could be related to QtQuick.Scene3D used there but I haven't been able to test on Windows as I seem to get a crash when I try to open a device (could be my VM)

@@ -3,7 +3,7 @@ vcpkg_from_github(
GITHUB_HOST https://codeberg.org
REPO soundtouch/soundtouch
REF 2.3.1
SHA512 c9d110b06cafb79968c94c4d206360b9ea9673d63eaf1470b097a39acf18b5b9cd53759f2656ff8963c6eee6a36fecdf1ea9aa7dc014fbf8bbee0dcfb8e4e438
SHA512 016717c9539acf8f59b74dc1e70a4ffe628f923db2d23a7d71d9544a6b23b5aa602d2cf3f18f990647d996b2ab46e53756e4eddee9e2e6539e1704e8fa5f3519
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have updated upstream so that this is no longer necessary if you rebase on 2.5

@daschuer
Copy link
Member

daschuer commented Nov 3, 2023

We have now a recent 2.5 branch in our cache. Maybe It works now without a timeout on windows.

What is the error message we receive on windows and we are trying to solve?

@JoergAtGithub
Copy link
Member

It fails to load main.qml due to missing qml plugins.

@daschuer
Copy link
Member

daschuer commented Nov 4, 2023

Is there something about it in the mixxx.log?

@JoergAtGithub
Copy link
Member

I had copied the subdirectories from mixxx\buildenv\mixxx-deps-rel-2.5-x64-windows-xxxxxxx\installed\x64-windows\Qt6\qml manually to my build directory. This solved several errors.
But what remained, was that it failed with loading workerscriptplugin.dll

@acolombier
Copy link
Member Author

@JoergAtGithub I managed to get it working by adding <PathToVcpkg>\installed\x64-windows\bin my PATH so I assume all the dependencies are there now, just not properly installed in the build folder. workerscriptplugin.dll is there, but I suspect it has further dynamic dependencies that are not copied from Qt's bin folder into the local bin. I was hoping to get something working with the applocal target before making that branch ready to merge, bur arguably I appreciate I have been slow so happy to get that merged ASAP if you would like to get it working!

@JoergAtGithub
Copy link
Member

Could you please merge upstream/2.5 to get CI using the cached version Daniel mentioned above.

@JoergAtGithub
Copy link
Member

The original message (without modifying PATH or copying DLLs) was:

warning [Main] QQmlApplicationEngine failed to load component
warning [Main] file:///C:/Users/Joerg.WORLDWARTWEB/source/repos/JoergAtGithub/mixxx/res/qml/main.qml:4:1: module "QtQuick.Controls" is not installed
warning [Main] file:///C:/Users/Joerg.WORLDWARTWEB/source/repos/JoergAtGithub/mixxx/res/qml/main.qml: module "QtQml.WorkerScript" is not installed
warning [Main] file:///C:/Users/Joerg.WORLDWARTWEB/source/repos/JoergAtGithub/mixxx/res/qml/main.qml: module "QtQml.WorkerScript" is not installed
warning [Main] file:///C:/Users/Joerg.WORLDWARTWEB/source/repos/JoergAtGithub/mixxx/res/qml/main.qml:4:1: module "QtQuick.Controls" is not installed
warning [Main] file:///C:/Users/Joerg.WORLDWARTWEB/source/repos/JoergAtGithub/mixxx/res/qml/main.qml: module "QtQml.WorkerScript" is not installed
warning [Main] file:///C:/Users/Joerg.WORLDWARTWEB/source/repos/JoergAtGithub/mixxx/res/qml/main.qml: module "QtQml.WorkerScript" is not installed
warning [Main] file:///C:/Users/Joerg.WORLDWARTWEB/source/repos/JoergAtGithub/mixxx/res/qml/main.qml:4:1: module "QtQuick.Controls" is not installed
warning [Main] file:///C:/Users/Joerg.WORLDWARTWEB/source/repos/JoergAtGithub/mixxx/res/qml/main.qml: module "QtQml.WorkerScript" is not installed
warning [Main] file:///C:/Users/Joerg.WORLDWARTWEB/source/repos/JoergAtGithub/mixxx/res/qml/main.qml: module "QtQml.WorkerScript" is not installed
critical [Main] Failed to load QML file "C:/Users/Joerg.WORLDWARTWEB/source/repos/JoergAtGithub/mixxx/res/qml/main.qml"

@JoergAtGithub
Copy link
Member

JoergAtGithub commented Nov 5, 2023

I got the QML UI working on Windows, by using the buildenv from this PR and copying the following files


.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\bin\Qt6LabsQmlModels.dll
.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\bin\Qt6QmlWorkerScript.dll
.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\bin\Qt6QuickControls2.dll
.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\bin\Qt6QuickControls2Impl.dll
.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\bin\Qt6QuickLayouts.dll
.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\bin\Qt6QuickShapes.dll
.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\bin\Qt6QuickTemplates2.dll
.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\bin\Qt6ShaderTools.dll

and directories

.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\Qt6\qml\Qt
.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\Qt6\qml\Qt5Compat
.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\Qt6\qml\QtQml
.\mixxx-deps-2.5-x64-windows-32f6f03\installed\x64-windows\Qt6\qml\QtQuick

to my build directory.

Copy link
Member

@JoergAtGithub JoergAtGithub left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All these files listed above are also in the existing 2.5 buildenv. I did the same copy operation with the Mixxx Main branch and the current 2.5 buildenv and QML UI came up as well.
Therefore the changes of this PR are not necesarry!

@acolombier acolombier closed this Nov 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants