-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Make QML UI compatible with Qt 6 #4649
Conversation
9dda616
to
158d60a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's too bad we lose QML on qt5, but if they are that incompatible then I agree it's the right thing to do. One small change requested.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor suggestions for improvements, mostly C++ stuff.
src/qml/qmlconfigproxy.h
Outdated
Q_UNUSED(pQmlEngine); | ||
|
||
// The instance has to exist before it is used. We cannot replace it. | ||
Q_ASSERT(s_pInstance); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you use Q_ASSERT instead of the custom DEBUG_ASSERT?
The definition of this function should be moved from the header into the .cpp file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you use Q_ASSERT instead of the custom DEBUG_ASSERT?
It's the code taken from last example in https://doc.qt.io/qt-6/qqmlengine.html#QML_SINGLETON .
The definition of this function should be moved from the header into the .cpp file.
I'd like to deduplicate the code anyway. I tried with a template class and it compiled, but didn't work properly. Do you have an idea?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No idea. I didn't need singletons for a long time.
Templates should work for singletons, because each instantiated template becomes a distinct type. Similar to monomorphization in Rust.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a comment regarding the source of this code, and replaced Q_ASSERT with DEBUG_ASSERT.
What am I missing?
|
Hmm, I'll just checked if I can build with Ninja on my machine, and for me there are 878 tasks, not 908?! I used these commands: $ mkdir build-qt6 && cmake -G Ninja -DQT6=ON -DWARNINGS_FATAL=ON -DDEBUG_ASSERTIONS_FATAL=ON .. && cmake --build . && ctest -j $(nproc) What commands did you use? What Qt version (I'm using Qt 6.2.2)? |
Qt 6.2.2. The number of tasks may vary due to some code (aoide, ...). I am using an absolute path to reference the build directory! |
Neither using
|
Building this branch directly works. I have to check what else did change in the mean time that my code doesn't build anymore. |
@Holzhaus Qt6 Automoc fails for source files with equal names that are found in different namespaces/directories. Adding a directory prefix to include the _moc.cpp files doesn't work either. The only workaround is renaming the source files. Some source files without any Qt macros need to be renamed even though automoc then outputs "No relevant classes found. No output generated." I wonder why this worked for Qt 5 but now fails for Qt 6. Conflict example: library/libraryfeature.h/.cpp and aoide/libraryfeature.h/.cpp. |
@uklotzde Is this issue related to your changes or is this an issue with this PR specifically? If so, which files do I need to rename? |
Not related to this PR, fails for Qt 6 in general, that's why I mentioned it. My previous comments are therefore not relevant for this PR. |
I have just finished my PPA with Qt 6.2.2 backports: https://launchpad.net/~daschuer/+archive/ubuntu/qt6-backports/+packages It build with this branch, but unfortunately Mixxx stops with:
I have a /home/daniel/workspace/mixxxqt6/build/Debug/qml/Mixxx/libmixxx-libplugin.a but it is probably not found. |
Works for me. I run it directly from the build dir. The plugin is linked here: https://github.com/mixxxdj/mixxx/pull/4649/files#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20aR2173 |
I can confirm that the link call for mixxx contains mixxx-libplugin.a But when I start Mixxx I still see the complaining line pasted above. Is there a registration or something missing? |
Did you try with a completely clean build dir? These are the commands I used: $ mkdir build-qt6 // does not exist yet
$ cmake -G Ninja -DQT6=ON -DWARNINGS_FATAL=ON -DDEBUG_ASSERTIONS_FATAL=ON .. && cmake --build . && ctest -j $(nproc)
$ ./mixxx |
I have applied the suggested command, but the result is exactly the same. |
@uklotzde Did you try to run it on Fedora?
As I said, it works on Arch. If it also works on Fedora, I suppose your qt6 packages might be broken or something? |
@Swiftb0y Is this the problem you mentioned with the Fedora packaging? |
@Holzhaus is there a way to debug this? The qml statement is
so the code already knows to look at "mixxx-libplugin". How does it know that? |
@daschuer I have started Mixxx directly from the build directory with |
I can reproduce you log with my issue appears with ./mixxx --resourcePath ../../res and just ./mixxx all from my build directory. |
Yes. I worked around it by building the Qt module from source and the installing it to |
# QTBUG-87221. We should figure out a better way to fix this. | ||
# See: https://bugreports.qt.io/browse/QTBUG-87221 | ||
target_include_directories(mixxx-lib PRIVATE src/control src/qml) | ||
target_link_libraries(mixxx-lib PRIVATE mixxx-libplugin) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where does mixxx-libplugin come from? Interestingly it is linked directly to mixxx in my case and appears two times in the link command line:
qml/Mixxx/libmixxx-libplugin.a libmixxx-lib.a qml/Mixxx/libmixxx-libplugin.a
here the whole line
usr/bin/c++ -fdiagnostics-color=auto -g CMakeFiles/mixxx.dir/src/main.cpp.o CMakeFiles/mixxx.dir/mixxx_autogen/PNK5WDWK6L/qrc_mixxx.cpp.o CMakeFiles/mixxx-lib_resources_1.dir/build/Debug/.rcc/qrc_qmake_Mixxx.cpp.o CMakeFiles/mixxx-lib_qmlcache.dir/build/Debug/.rcc/qmlcache/mixxx-lib_qmlcache_loader.cpp.o CMakeFiles/mixxx-lib_resources_2.dir/build/Debug/.rcc/qrc_mixxx-lib_raw_qml_0.cpp.o -o mixxx -Wl,-rpath,/usr/local/lib: libmixxx-lib.a libmixxx-gitinfostore.a qml/Mixxx/libmixxx-libplugin.a libmixxx-lib.a qml/Mixxx/libmixxx-libplugin.a /usr/lib/x86_64-linux-gnu/libchromaprint.so /usr/lib/x86_64-linux-gnu/libsqlite3.so lib/libdjinterop-install/lib/libdjinterop.a /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libebur128.so libfidlib.a lib/keyfinder-install/lib/libkeyfinder.a /usr/lib/x86_64-linux-gnu/libfftw3.so /usr/lib/x86_64-linux-gnu/libFLAC.so libFpClassify.a /usr/lib/x86_64-linux-gnu/libmp3lame.so libKaitai.a libMP3GuessEnc.a /usr/lib/x86_64-linux-gnu/libvorbisfile.so /usr/local/lib/libportaudio.so libPortAudioRingBuffer.a /usr/lib/x86_64-linux-gnu/libportmidi.so /usr/lib/x86_64-linux-gnu/libporttime.so /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so /usr/lib/x86_64-linux-gnu/libQt6Concurrent.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6PrintSupport.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6QuickWidgets.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6Quick.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6QmlModels.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6OpenGL.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6Sql.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6Test.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6Xml.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6SvgWidgets.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6Svg.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6.2.2 /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so /usr/lib/x86_64-linux-gnu/libQt6Core5Compat.so.6.2.2 qml/Mixxx/Controls/libmixxx-qml-mixxxcontrolsplugin.a libmixxx-qml-mixxxcontrols.a /usr/lib/x86_64-linux-gnu/libSM.so /usr/lib/x86_64-linux-gnu/libICE.so /usr/lib/x86_64-linux-gnu/libX11.so /usr/lib/x86_64-linux-gnu/libXext.so /usr/lib/x86_64-linux-gnu/libQt6DBus.so.6.2.2 libQueenMaryDsp.a libReplayGain.a libReverb.a /usr/lib/x86_64-linux-gnu/librubberband.so /usr/lib/x86_64-linux-gnu/libsndfile.so /usr/lib/x86_64-linux-gnu/libSoundTouch.so /usr/lib/x86_64-linux-gnu/libtag.so /usr/lib/x86_64-linux-gnu/libupower-glib.so /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libavcodec.so /usr/lib/x86_64-linux-gnu/libavformat.so /usr/lib/x86_64-linux-gnu/libavutil.so /usr/lib/x86_64-linux-gnu/libswresample.so /usr/lib/x86_64-linux-gnu/liblilv-0.so lib/libshout-idjc/libshout_mixxx.a /usr/lib/x86_64-linux-gnu/libogg.so /usr/lib/x86_64-linux-gnu/libvorbis.so /usr/lib/x86_64-linux-gnu/libvorbisenc.so /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/x86_64-linux-gnu/libcrypto.so /usr/lib/libopusfile.so /usr/lib/x86_64-linux-gnu/libopus.so /usr/lib/x86_64-linux-gnu/libmad.so /usr/lib/x86_64-linux-gnu/libid3tag.so /usr/lib/x86_64-linux-gnu/libmodplug.so /usr/lib/x86_64-linux-gnu/libqt6keychain.so.0.13.2 libmixxx-hidapi.a /usr/lib/x86_64-linux-gnu/libudev.so /usr/lib/x86_64-linux-gnu/libusb-1.0.so libmixxx-xwax.a /usr/lib/x86_64-linux-gnu/libwavpack.so /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6Network.so.6.2.2 /usr/lib/x86_64-linux-gnu/libQt6Core.so.6.2.2 -pthread
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is described in https://www.qt.io/blog/qml-modules-in-qt-6.2 in "Multiple modules in one binary". Please see the commit message of 88320b2 for more links about the Qt 6 QML module system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is also part of libmixxx-lib.a see below. Is target_link_libraries(mixxx-lib PRIVATE mixxx-libplugin)
redundant?
/usr/bin/ar qc libmixxx-lib.a CMakeFiles/mixxx-lib.dir/mixxx-lib_autogen/mocs_compilation.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/analyzerbeats.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/analyzerebur128.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/analyzergain.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/analyzerkey.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/analyzersilence.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/analyzerthread.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/analyzerwaveform.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/plugins/analyzerqueenmarybeats.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/plugins/analyzerqueenmarykey.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/plugins/analyzersoundtouchbeats.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/plugins/buffering_utils.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/trackanalysisscheduler.cpp.o CMakeFiles/mixxx-lib.dir/src/audio/frame.cpp.o CMakeFiles/mixxx-lib.dir/src/audio/types.cpp.o CMakeFiles/mixxx-lib.dir/src/audio/signalinfo.cpp.o CMakeFiles/mixxx-lib.dir/src/audio/streaminfo.cpp.o CMakeFiles/mixxx-lib.dir/src/control/control.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlaudiotaperpot.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlbehavior.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlcompressingproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controleffectknob.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlencoder.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlindicator.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlindicatortimer.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controllinpotmeter.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controllogpotmeter.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlsortfiltermodel.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlobject.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlobjectscript.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlpotmeter.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlpushbutton.cpp.o CMakeFiles/mixxx-lib.dir/src/control/controlttrotary.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/controller.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/controllerenumerator.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/controllerinputmappingtablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/controllerlearningeventfilter.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/controllermanager.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/controllermappingtablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/controllermappinginfo.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/controllermappinginfoenumerator.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/controlleroutputmappingtablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/controlpickermenu.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/legacycontrollermappingfilehandler.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/delegates/controldelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/delegates/midibytedelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/delegates/midichanneldelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/delegates/midiopcodedelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/delegates/midioptionsdelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/dlgcontrollerlearning.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/dlgprefcontroller.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/dlgprefcontrollers.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/scripting/controllerscriptenginebase.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/scripting/controllerscriptmoduleengine.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/scripting/colormapper.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/scripting/colormapperjsproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/scripting/legacy/controllerscriptenginelegacy.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/scripting/legacy/controllerscriptinterfacelegacy.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/scripting/legacy/scriptconnection.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/scripting/legacy/scriptconnectionjsproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/keyboard/keyboardeventfilter.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/learningutils.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/midi/legacymidicontrollermapping.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/midi/legacymidicontrollermappingfilehandler.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/midi/midicontroller.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/midi/midienumerator.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/midi/midimessage.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/midi/midioutputhandler.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/midi/midiutils.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/midi/portmidicontroller.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/midi/portmidienumerator.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/softtakeover.cpp.o CMakeFiles/mixxx-lib.dir/src/database/mixxxdb.cpp.o CMakeFiles/mixxx-lib.dir/src/database/schemamanager.cpp.o CMakeFiles/mixxx-lib.dir/src/dialog/dlgabout.cpp.o CMakeFiles/mixxx-lib.dir/src/dialog/dlgdevelopertools.cpp.o CMakeFiles/mixxx-lib.dir/src/dialog/dlgkeywheel.cpp.o CMakeFiles/mixxx-lib.dir/src/dialog/dlgreplacecuecolor.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/effectbuttonparameterslot.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/effectchain.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/effectchainmixmode.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/effectparameter.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/effectknobparameterslot.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/effectparameterslotbase.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/effectslot.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/effectsmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/effectsmessenger.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/visibleeffectslist.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/effectsbackend.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/effectmanifest.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/effectmanifestparameter.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/autopaneffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/balanceeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/bessel4lvmixeqeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/bessel8lvmixeqeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/biquadfullkilleqeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/bitcrushereffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/builtinbackend.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/echoeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/filtereffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/flangereffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/graphiceqeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/linkwitzriley8eqeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/loudnesscontoureffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/metronomeeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/moogladder4filtereffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/parametriceqeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/phasereffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/reverbeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/threebandbiquadeqeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/tremoloeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/builtin/whitenoiseeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/effectsbackendmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/chains/equalizereffectchain.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/chains/outputeffectchain.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/chains/pergroupeffectchain.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/chains/quickeffectchain.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/chains/standardeffectchain.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/presets/effectchainpreset.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/presets/effectchainpresetmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/presets/effectparameterpreset.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/presets/effectpreset.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/presets/effectpresetmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encoder.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encoderfdkaac.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encoderfdkaacsettings.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encoderflacsettings.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encodermp3.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encodermp3settings.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encodersndfileflac.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encodervorbis.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encodervorbissettings.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encoderwave.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encoderwavesettings.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/bufferscalers/enginebufferscale.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/bufferscalers/enginebufferscalelinear.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/bufferscalers/enginebufferscalerubberband.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/bufferscalers/enginebufferscalest.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/cachingreader/cachingreader.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/cachingreader/cachingreaderchunk.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/cachingreader/cachingreaderworker.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/channelmixer.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/channels/engineaux.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/channels/enginechannel.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/channels/enginedeck.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/channels/enginemicrophone.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/controls/bpmcontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/controls/clockcontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/controls/cuecontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/controls/enginecontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/controls/keycontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/controls/loopingcontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/controls/quantizecontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/controls/ratecontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/effects/engineeffect.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/effects/engineeffectchain.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/effects/engineeffectsmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/enginebuffer.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/enginedelay.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/enginemaster.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/engineobject.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/enginepregain.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/enginesidechaincompressor.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/enginetalkoverducking.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/enginevumeter.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/engineworker.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/engineworkerscheduler.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/enginexfader.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/filters/enginefilter.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/filters/enginefilterbessel4.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/filters/enginefilterbessel8.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/filters/enginefilterbiquad1.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/filters/enginefilterbutterworth4.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/filters/enginefilterbutterworth8.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/filters/enginefilterlinkwitzriley2.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/filters/enginefilterlinkwitzriley4.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/filters/enginefilterlinkwitzriley8.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/filters/enginefiltermoogladder4.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/positionscratchcontroller.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/readaheadmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/sidechain/enginenetworkstream.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/sidechain/enginerecord.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/sidechain/enginesidechain.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/sidechain/networkinputstreamworker.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/sidechain/networkoutputstreamworker.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/sync/enginesync.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/sync/internalclock.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/sync/synccontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/errordialoghandler.cpp.o CMakeFiles/mixxx-lib.dir/src/library/analysisfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/analysislibrarytablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/autodj/autodjfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/autodj/autodjprocessor.cpp.o CMakeFiles/mixxx-lib.dir/src/library/autodj/dlgautodj.cpp.o CMakeFiles/mixxx-lib.dir/src/library/banshee/bansheedbconnection.cpp.o CMakeFiles/mixxx-lib.dir/src/library/banshee/bansheefeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/banshee/bansheeplaylistmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/baseexternallibraryfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/baseexternalplaylistmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/baseexternaltrackmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/basesqltablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/basetrackcache.cpp.o CMakeFiles/mixxx-lib.dir/src/library/basetracktablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/bpmdelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/library/browse/browsefeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/browse/browsetablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/browse/browsethread.cpp.o CMakeFiles/mixxx-lib.dir/src/library/browse/foldertreemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/colordelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/library/columncache.cpp.o CMakeFiles/mixxx-lib.dir/src/library/coverart.cpp.o CMakeFiles/mixxx-lib.dir/src/library/coverartcache.cpp.o CMakeFiles/mixxx-lib.dir/src/library/coverartdelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/library/coverartutils.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dao/analysisdao.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dao/autodjcratesdao.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dao/cuedao.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dao/directorydao.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dao/libraryhashdao.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dao/playlistdao.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dao/settingsdao.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dao/trackdao.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dao/trackschema.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dlganalysis.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dlgcoverartfullsize.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dlghidden.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dlgmissing.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dlgtagfetcher.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dlgtrackinfo.cpp.o CMakeFiles/mixxx-lib.dir/src/library/dlgtrackmetadataexport.cpp.o CMakeFiles/mixxx-lib.dir/src/library/export/trackexportdlg.cpp.o CMakeFiles/mixxx-lib.dir/src/library/export/trackexportwizard.cpp.o CMakeFiles/mixxx-lib.dir/src/library/export/trackexportworker.cpp.o CMakeFiles/mixxx-lib.dir/src/library/externaltrackcollection.cpp.o CMakeFiles/mixxx-lib.dir/src/library/hiddentablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/itunes/itunesfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/library_prefs.cpp.o CMakeFiles/mixxx-lib.dir/src/library/library.cpp.o CMakeFiles/mixxx-lib.dir/src/library/librarycontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/library/libraryfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/librarytablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/locationdelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/library/missingtablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/mixxxlibraryfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/parser.cpp.o CMakeFiles/mixxx-lib.dir/src/library/parsercsv.cpp.o CMakeFiles/mixxx-lib.dir/src/library/parserm3u.cpp.o CMakeFiles/mixxx-lib.dir/src/library/parserpls.cpp.o CMakeFiles/mixxx-lib.dir/src/library/playlisttablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/previewbuttondelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/library/proxytrackmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/recording/dlgrecording.cpp.o CMakeFiles/mixxx-lib.dir/src/library/recording/recordingfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/rekordbox/rekordbox_anlz.cpp.o CMakeFiles/mixxx-lib.dir/src/library/rekordbox/rekordbox_pdb.cpp.o CMakeFiles/mixxx-lib.dir/src/library/rekordbox/rekordboxfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/rhythmbox/rhythmboxfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/scanner/importfilestask.cpp.o CMakeFiles/mixxx-lib.dir/src/library/scanner/libraryscanner.cpp.o CMakeFiles/mixxx-lib.dir/src/library/scanner/libraryscannerdlg.cpp.o CMakeFiles/mixxx-lib.dir/src/library/scanner/recursivescandirectorytask.cpp.o CMakeFiles/mixxx-lib.dir/src/library/scanner/scannertask.cpp.o CMakeFiles/mixxx-lib.dir/src/library/searchquery.cpp.o CMakeFiles/mixxx-lib.dir/src/library/searchqueryparser.cpp.o CMakeFiles/mixxx-lib.dir/src/library/serato/seratofeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/serato/seratoplaylistmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/sidebarmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/stardelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/library/stareditor.cpp.o CMakeFiles/mixxx-lib.dir/src/library/starrating.cpp.o CMakeFiles/mixxx-lib.dir/src/library/tableitemdelegate.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackcollection.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackcollectioniterator.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackcollectionmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackloader.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackmodeliterator.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackprocessing.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackset/baseplaylistfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackset/basetracksetfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackset/crate/cratefeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackset/crate/cratefeaturehelper.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackset/crate/cratestorage.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackset/crate/cratetablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackset/playlistfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackset/setlogfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/trackset/tracksettablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/library/traktor/traktorfeature.cpp.o CMakeFiles/mixxx-lib.dir/src/library/treeitem.cpp.o CMakeFiles/mixxx-lib.dir/src/library/treeitemmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/mixer/auxiliary.cpp.o CMakeFiles/mixxx-lib.dir/src/mixer/baseplayer.cpp.o CMakeFiles/mixxx-lib.dir/src/mixer/basetrackplayer.cpp.o CMakeFiles/mixxx-lib.dir/src/mixer/deck.cpp.o CMakeFiles/mixxx-lib.dir/src/mixer/microphone.cpp.o CMakeFiles/mixxx-lib.dir/src/mixer/playerinfo.cpp.o CMakeFiles/mixxx-lib.dir/src/mixer/playermanager.cpp.o CMakeFiles/mixxx-lib.dir/src/mixer/previewdeck.cpp.o CMakeFiles/mixxx-lib.dir/src/mixer/sampler.cpp.o CMakeFiles/mixxx-lib.dir/src/mixer/samplerbank.cpp.o CMakeFiles/mixxx-lib.dir/src/coreservices.cpp.o CMakeFiles/mixxx-lib.dir/src/mixxxapplication.cpp.o CMakeFiles/mixxx-lib.dir/src/musicbrainz/chromaprinter.cpp.o CMakeFiles/mixxx-lib.dir/src/musicbrainz/crc.cpp.o CMakeFiles/mixxx-lib.dir/src/musicbrainz/gzip.cpp.o CMakeFiles/mixxx-lib.dir/src/musicbrainz/musicbrainz.cpp.o CMakeFiles/mixxx-lib.dir/src/musicbrainz/musicbrainzxml.cpp.o CMakeFiles/mixxx-lib.dir/src/musicbrainz/tagfetcher.cpp.o CMakeFiles/mixxx-lib.dir/src/musicbrainz/web/acoustidlookuptask.cpp.o CMakeFiles/mixxx-lib.dir/src/musicbrainz/web/musicbrainzrecordingstask.cpp.o CMakeFiles/mixxx-lib.dir/src/network/jsonwebtask.cpp.o CMakeFiles/mixxx-lib.dir/src/network/networktask.cpp.o CMakeFiles/mixxx-lib.dir/src/network/webtask.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/colorpaletteeditor.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/colorpaletteeditormodel.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/colorpalettesettings.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/configobject.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefautodj.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefbeats.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefcolors.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefcrossfader.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefdeck.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefeffects.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefeq.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgpreferencepage.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgpreferences.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefinterface.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefkey.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgpreflibrary.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefrecord.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefreplaygain.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefsound.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefsounditem.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefwaveform.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/effectchainpresetlistmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/effectmanifesttablemodel.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/replaygainsettings.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/settingsmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/upgrade.cpp.o CMakeFiles/mixxx-lib.dir/src/recording/recordingmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/skin/legacy/colorschemeparser.cpp.o CMakeFiles/mixxx-lib.dir/src/skin/legacy/imgcolor.cpp.o CMakeFiles/mixxx-lib.dir/src/skin/legacy/imginvert.cpp.o CMakeFiles/mixxx-lib.dir/src/skin/legacy/imgloader.cpp.o CMakeFiles/mixxx-lib.dir/src/skin/legacy/launchimage.cpp.o CMakeFiles/mixxx-lib.dir/src/skin/legacy/legacyskin.cpp.o CMakeFiles/mixxx-lib.dir/src/skin/legacy/legacyskinparser.cpp.o CMakeFiles/mixxx-lib.dir/src/skin/legacy/pixmapsource.cpp.o CMakeFiles/mixxx-lib.dir/src/skin/legacy/skincontext.cpp.o CMakeFiles/mixxx-lib.dir/src/skin/legacy/tooltips.cpp.o CMakeFiles/mixxx-lib.dir/src/skin/skinloader.cpp.o CMakeFiles/mixxx-lib.dir/src/soundio/sounddevice.cpp.o CMakeFiles/mixxx-lib.dir/src/soundio/sounddevicenetwork.cpp.o CMakeFiles/mixxx-lib.dir/src/soundio/sounddeviceportaudio.cpp.o CMakeFiles/mixxx-lib.dir/src/soundio/soundmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/soundio/soundmanagerconfig.cpp.o CMakeFiles/mixxx-lib.dir/src/soundio/soundmanagerutil.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/audiosource.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/audiosourcestereoproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/metadatasource.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/metadatasourcetaglib.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/readaheadframebuffer.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsource.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsourceflac.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsourceoggvorbis.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsourceprovider.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsourceproviderregistry.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsourceproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsourcesndfile.cpp.o CMakeFiles/mixxx-lib.dir/src/track/albuminfo.cpp.o CMakeFiles/mixxx-lib.dir/src/track/beatfactory.cpp.o CMakeFiles/mixxx-lib.dir/src/track/beats.cpp.o CMakeFiles/mixxx-lib.dir/src/track/beatutils.cpp.o CMakeFiles/mixxx-lib.dir/src/track/bpm.cpp.o CMakeFiles/mixxx-lib.dir/src/track/cue.cpp.o CMakeFiles/mixxx-lib.dir/src/track/cueinfo.cpp.o CMakeFiles/mixxx-lib.dir/src/track/cueinfoimporter.cpp.o CMakeFiles/mixxx-lib.dir/src/track/globaltrackcache.cpp.o CMakeFiles/mixxx-lib.dir/src/track/keyfactory.cpp.o CMakeFiles/mixxx-lib.dir/src/track/keys.cpp.o CMakeFiles/mixxx-lib.dir/src/track/keyutils.cpp.o CMakeFiles/mixxx-lib.dir/src/track/playcounter.cpp.o CMakeFiles/mixxx-lib.dir/src/track/replaygain.cpp.o CMakeFiles/mixxx-lib.dir/src/track/serato/beatgrid.cpp.o CMakeFiles/mixxx-lib.dir/src/track/serato/beatsimporter.cpp.o CMakeFiles/mixxx-lib.dir/src/track/serato/cueinfoimporter.cpp.o CMakeFiles/mixxx-lib.dir/src/track/serato/markers.cpp.o CMakeFiles/mixxx-lib.dir/src/track/serato/markers2.cpp.o CMakeFiles/mixxx-lib.dir/src/track/serato/tags.cpp.o CMakeFiles/mixxx-lib.dir/src/track/track.cpp.o CMakeFiles/mixxx-lib.dir/src/track/trackinfo.cpp.o CMakeFiles/mixxx-lib.dir/src/track/trackmetadata.cpp.o CMakeFiles/mixxx-lib.dir/src/track/tracknumbers.cpp.o CMakeFiles/mixxx-lib.dir/src/track/trackrecord.cpp.o CMakeFiles/mixxx-lib.dir/src/track/trackref.cpp.o CMakeFiles/mixxx-lib.dir/src/track/taglib/trackmetadata_ape.cpp.o CMakeFiles/mixxx-lib.dir/src/track/taglib/trackmetadata_common.cpp.o CMakeFiles/mixxx-lib.dir/src/track/taglib/trackmetadata_file.cpp.o CMakeFiles/mixxx-lib.dir/src/track/taglib/trackmetadata_id3v2.cpp.o CMakeFiles/mixxx-lib.dir/src/track/taglib/trackmetadata_mp4.cpp.o CMakeFiles/mixxx-lib.dir/src/track/taglib/trackmetadata_riff.cpp.o CMakeFiles/mixxx-lib.dir/src/track/taglib/trackmetadata_xiph.cpp.o CMakeFiles/mixxx-lib.dir/src/util/battery/battery.cpp.o CMakeFiles/mixxx-lib.dir/src/util/cache.cpp.o CMakeFiles/mixxx-lib.dir/src/util/cmdlineargs.cpp.o CMakeFiles/mixxx-lib.dir/src/util/color/color.cpp.o CMakeFiles/mixxx-lib.dir/src/util/color/colorpalette.cpp.o CMakeFiles/mixxx-lib.dir/src/util/color/predefinedcolorpalettes.cpp.o CMakeFiles/mixxx-lib.dir/src/util/console.cpp.o CMakeFiles/mixxx-lib.dir/src/util/db/dbconnection.cpp.o CMakeFiles/mixxx-lib.dir/src/util/db/dbconnectionpool.cpp.o CMakeFiles/mixxx-lib.dir/src/util/db/dbconnectionpooled.cpp.o CMakeFiles/mixxx-lib.dir/src/util/db/dbconnectionpooler.cpp.o CMakeFiles/mixxx-lib.dir/src/util/db/dbid.cpp.o CMakeFiles/mixxx-lib.dir/src/util/db/fwdsqlquery.cpp.o CMakeFiles/mixxx-lib.dir/src/util/db/fwdsqlqueryselectresult.cpp.o CMakeFiles/mixxx-lib.dir/src/util/db/sqlite.cpp.o CMakeFiles/mixxx-lib.dir/src/util/db/sqlqueryfinisher.cpp.o CMakeFiles/mixxx-lib.dir/src/util/db/sqlstringformatter.cpp.o CMakeFiles/mixxx-lib.dir/src/util/db/sqltransaction.cpp.o CMakeFiles/mixxx-lib.dir/src/util/desktophelper.cpp.o CMakeFiles/mixxx-lib.dir/src/util/dnd.cpp.o CMakeFiles/mixxx-lib.dir/src/util/duration.cpp.o CMakeFiles/mixxx-lib.dir/src/util/experiment.cpp.o CMakeFiles/mixxx-lib.dir/src/util/file.cpp.o CMakeFiles/mixxx-lib.dir/src/util/fileaccess.cpp.o CMakeFiles/mixxx-lib.dir/src/util/fileinfo.cpp.o CMakeFiles/mixxx-lib.dir/src/util/filename.cpp.o CMakeFiles/mixxx-lib.dir/src/util/imageutils.cpp.o CMakeFiles/mixxx-lib.dir/src/util/indexrange.cpp.o CMakeFiles/mixxx-lib.dir/src/util/logger.cpp.o CMakeFiles/mixxx-lib.dir/src/util/logging.cpp.o CMakeFiles/mixxx-lib.dir/src/util/mac.cpp.o CMakeFiles/mixxx-lib.dir/src/util/movinginterquartilemean.cpp.o CMakeFiles/mixxx-lib.dir/src/util/performancetimer.cpp.o CMakeFiles/mixxx-lib.dir/src/util/rangelist.cpp.o CMakeFiles/mixxx-lib.dir/src/util/readaheadsamplebuffer.cpp.o CMakeFiles/mixxx-lib.dir/src/util/rlimit.cpp.o CMakeFiles/mixxx-lib.dir/src/util/rotary.cpp.o CMakeFiles/mixxx-lib.dir/src/util/runtimeloggingcategory.cpp.o CMakeFiles/mixxx-lib.dir/src/util/sample.cpp.o CMakeFiles/mixxx-lib.dir/src/util/samplebuffer.cpp.o CMakeFiles/mixxx-lib.dir/src/util/sandbox.cpp.o CMakeFiles/mixxx-lib.dir/src/util/semanticversion.cpp.o CMakeFiles/mixxx-lib.dir/src/util/screensaver.cpp.o CMakeFiles/mixxx-lib.dir/src/util/screensavermanager.cpp.o CMakeFiles/mixxx-lib.dir/src/util/stat.cpp.o CMakeFiles/mixxx-lib.dir/src/util/statmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/util/statsmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/util/tapfilter.cpp.o CMakeFiles/mixxx-lib.dir/src/util/task.cpp.o CMakeFiles/mixxx-lib.dir/src/util/taskmonitor.cpp.o CMakeFiles/mixxx-lib.dir/src/util/threadcputimer.cpp.o CMakeFiles/mixxx-lib.dir/src/util/time.cpp.o CMakeFiles/mixxx-lib.dir/src/util/timer.cpp.o CMakeFiles/mixxx-lib.dir/src/util/valuetransformer.cpp.o CMakeFiles/mixxx-lib.dir/src/util/versionstore.cpp.o CMakeFiles/mixxx-lib.dir/src/util/widgethelper.cpp.o CMakeFiles/mixxx-lib.dir/src/util/widgetrendertimer.cpp.o CMakeFiles/mixxx-lib.dir/src/util/workerthread.cpp.o CMakeFiles/mixxx-lib.dir/src/util/workerthreadscheduler.cpp.o CMakeFiles/mixxx-lib.dir/src/util/xml.cpp.o CMakeFiles/mixxx-lib.dir/src/waveform/visualplayposition.cpp.o CMakeFiles/mixxx-lib.dir/src/waveform/waveform.cpp.o CMakeFiles/mixxx-lib.dir/src/waveform/waveformfactory.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/controlwidgetconnection.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/hexspinbox.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/paintable.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wanalysislibrarytableview.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wbasewidget.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wbattery.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wbeatspinbox.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wcolorpicker.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wcolorpickeraction.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wcombobox.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wcoverart.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wcoverartlabel.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wcoverartmenu.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wcuemenupopup.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wdisplay.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/weffectbuttonparametername.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/weffectchain.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/weffectchainpresetbutton.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/weffectchainpresetselector.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/weffectknobparametername.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/weffectname.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/weffectparameterknob.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/weffectparameterknobcomposed.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/weffectparameternamebase.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/weffectpushbutton.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/weffectselector.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/whotcuebutton.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wimagestore.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wkey.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wknob.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wknobcomposed.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wlabel.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wlibrary.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wlibrarysidebar.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wlibrarytableview.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wlibrarytextbrowser.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wmainmenubar.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wnumber.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wnumberdb.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wnumberpos.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wnumberrate.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wpixmapstore.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wpushbutton.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wraterange.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wrecordingduration.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wscrollable.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wsearchlineedit.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wsearchrelatedtracksmenu.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wsingletoncontainer.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wsizeawarestack.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wskincolor.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wslidercomposed.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wsplitter.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wstarrating.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wstatuslight.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wtime.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wtrackmenu.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wtrackproperty.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wtracktableview.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wtracktableviewheader.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wtracktext.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wtrackwidgetgroup.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wvumeter.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wwidget.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wwidgetgroup.cpp.o CMakeFiles/mixxx-lib.dir/src/widget/wwidgetstack.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/asyncimageprovider.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmlapplication.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmlcontrolproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmlconfigproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmldlgpreferencesproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmleffectmanifestparametersmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmleffectsmanagerproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmleffectslotproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmllibraryproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmllibrarytracklistmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmlplayermanagerproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmlplayerproxy.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmlvisibleeffectsmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/qml/qmlwaveformoverview.cpp.o CMakeFiles/mixxx-lib.dir/src/library/export/dlglibraryexport.cpp.o CMakeFiles/mixxx-lib.dir/src/library/export/engineprimeexportjob.cpp.o CMakeFiles/mixxx-lib.dir/src/library/export/libraryexporter.cpp.o CMakeFiles/mixxx-lib.dir/src/analyzer/plugins/analyzerkeyfinder.cpp.o CMakeFiles/mixxx-lib.dir/mixxx-lib_qmltyperegistrations.cpp.o CMakeFiles/mixxx-lib.dir/build/Debug/.rcc/qmlcache/mixxx-lib_res/qml/Mixxx/MathUtils_mjs.cpp.o CMakeFiles/mixxx-lib.dir/build/Debug/.rcc/qmlcache/mixxx-lib_res/qml/Mixxx/PlayerDropArea_qml.cpp.o CMakeFiles/mixxx-lib.dir/src/util/battery/batterylinux.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsourceffmpeg.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/lv2/lv2backend.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/lv2/lv2effectprocessor.cpp.o CMakeFiles/mixxx-lib.dir/src/effects/backends/lv2/lv2manifest.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefbroadcast.cpp.o CMakeFiles/mixxx-lib.dir/src/broadcast/broadcastmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/sidechain/shoutconnection.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/broadcastprofile.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/broadcastsettings.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/broadcastsettings_legacy.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/broadcastsettingsmodel.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encoderbroadcastsettings.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsourceopus.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encoderopus.cpp.o CMakeFiles/mixxx-lib.dir/src/encoder/encoderopussettings.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsourcemp3.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsourcemodplug.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefmodplug.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/hid/hidcontroller.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/hid/hiddevice.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/hid/hidenumerator.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/hid/legacyhidcontrollermapping.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/hid/legacyhidcontrollermappingfilehandler.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/bulk/bulkcontroller.cpp.o CMakeFiles/mixxx-lib.dir/src/controllers/bulk/bulkenumerator.cpp.o CMakeFiles/mixxx-lib.dir/src/vinylcontrol/vinylcontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/vinylcontrol/vinylcontrolxwax.cpp.o CMakeFiles/mixxx-lib.dir/src/preferences/dialog/dlgprefvinyl.cpp.o CMakeFiles/mixxx-lib.dir/src/vinylcontrol/vinylcontrolsignalwidget.cpp.o CMakeFiles/mixxx-lib.dir/src/vinylcontrol/vinylcontrolmanager.cpp.o CMakeFiles/mixxx-lib.dir/src/vinylcontrol/vinylcontrolprocessor.cpp.o CMakeFiles/mixxx-lib.dir/src/vinylcontrol/steadypitch.cpp.o CMakeFiles/mixxx-lib.dir/src/engine/controls/vinylcontrolcontrol.cpp.o CMakeFiles/mixxx-lib.dir/src/sources/soundsourcewv.cpp.o src/proto/CMakeFiles/mixxx-proto.dir/beats.pb.cc.o src/proto/CMakeFiles/mixxx-proto.dir/headers.pb.cc.o src/proto/CMakeFiles/mixxx-proto.dir/keys.pb.cc.o src/proto/CMakeFiles/mixxx-proto.dir/skin.pb.cc.o src/proto/CMakeFiles/mixxx-proto.dir/waveform.pb.cc.o
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in https://www.qt.io/blog/qml-modules-in-qt-6.2 they have
target_link_libraries(main_program PRIVATE extra_moduleplugin)
where main_program is the the binary, mixxx in our case.
Maybe there is something messed when linking to a library.
Related / possibly helpful: https://doc.qt.io/qt-5/qtquick-debugging.html#debugging-module-imports |
If I remove the line res/qml/main.qml:2 I get:
Maybe I am missing a private package? |
Looks like your Qt6 install is broken. |
I have now added the Qt5Compat.GraphicalEffects.private. |
When I change it to PUBLIC, it works. Now it complains about
|
Okay, I changed it to public, please retry: https://github.com/mixxxdj/mixxx/compare/88320b2684a89fbedbc149528a4b6dbbc4a7a4c6..f3bfd9e434d656c78fdac4bf1bc572421e77e053 |
That was already the output with the PUBLIC linking. |
Both modules? I thought you only changed the first one. |
Yes, that was for both. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With this patch I could build and run Mixxx on Fedora:
https://src.fedoraproject.org/rpms/qt6-qt5compat/pull-request/1
Update: Merged!
Why do we need PUBLIC linking? Fedora also works fine with PRIVATE linking, just tested it. I suppose the custom-built and untested Qt 6 libraries cause issues here. We should not introduce any workarounds for a broken environment. Therefore I recommend to undo these changes until we know the actual cause for the failures. |
I was able to successfully build on fedora. However I encountered a bunch of runtime issues. Most of which come from the fact that some players don't seem to get created:
The first few players and samplers work fine, but the "optional" ones don't work. |
This commit replaces the legacy way to register C++ QML types with the new "declarative" API using `QML_ELEMENT`/`QML_NAMED_ELEMENT(<name>)` that was first introduced in Qt 5.15 [1]. As of Qt 6.2, this is now the recommended way to set up proper QML modules and also takes care of generating `qmldir`/`qmltypes` files that are necessary when linting QML files using `qmllint` [2]. We now make use of the new CMake functions [3] to take care of this. [1]: https://www.qt.io/blog/qml-type-registration-in-qt-5.15 [2]: https://www.qt.io/blog/qml-modules-in-qt-6.2 [3]: https://doc.qt.io/qt-6/qt-add-qml-module.html
|
Yes, that issue probably already happend with Qt 5 I guess. And there are some other problems too, for example the JavaScript import is not working. I opened a Qt upstream bug: https://bugreports.qt.io/browse/QTBUG-100326 I think we can resolve them in follow-up PRs. |
Merge as a first baseline? Everything else could be done later. |
Yes, I agree. |
Please see the individual commit messages for details.
Note: This makes QML Qt6-only because the qml type registration changed considerably since Qt 5.12.