Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ jobs:
-DMACOS_BUNDLE=ON
-DMODPLUG=ON
-DQT6=ON
-DQML=OFF
-DQML=ON
-DWAVPACK=ON
-DVCPKG_TARGET_TRIPLET=x64-osx-min1100-release
# TODO: Fix this broken test on macOS
Expand Down
40 changes: 37 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1184,6 +1184,7 @@ add_library(
src/controllers/controlpickermenu.cpp
src/controllers/legacycontrollermappingfilehandler.cpp
src/controllers/legacycontrollermapping.cpp
src/controllers/controllershareddata.cpp
src/controllers/delegates/controldelegate.cpp
src/controllers/delegates/midibytedelegate.cpp
src/controllers/delegates/midichanneldelegate.cpp
Expand Down Expand Up @@ -2831,6 +2832,7 @@ if(BUILD_TESTING)
src/test/controller_mapping_settings_test.cpp
src/test/controllers/controller_columnid_regression_test.cpp
src/test/controllerscriptenginelegacy_test.cpp
src/test/controllershareddata_test.cpp
src/test/controlobjecttest.cpp
src/test/controlobjectaliastest.cpp
src/test/controlobjectscripttest.cpp
Expand Down Expand Up @@ -3677,8 +3679,9 @@ else()
find_package(QT 5.12 NAMES Qt5 COMPONENTS Core REQUIRED)
endif()
if(QML)
list(APPEND QT_EXTRA_COMPONENTS "Quick")
list(APPEND QT_EXTRA_COMPONENTS "LabsQmlModels")
list(APPEND QT_EXTRA_COMPONENTS "Multimedia")
list(APPEND QT_EXTRA_COMPONENTS "Quick")
list(APPEND QT_EXTRA_COMPONENTS "QuickControls2")
list(APPEND QT_EXTRA_COMPONENTS "QuickControls2Impl")
list(APPEND QT_EXTRA_COMPONENTS "QuickLayouts")
Expand Down Expand Up @@ -3796,7 +3799,7 @@ if(QML)
OPTIONAL_IMPORTS Mixxx
QML_FILES
res/qml/Mixxx/Controls/Knob.qml
res/qml/Mixxx/Controls/Slider.qml
res/qml/Mixxx/Controls/Fader.qml
res/qml/Mixxx/Controls/Spinny.qml
res/qml/Mixxx/Controls/WaveformOverviewHotcueMarker.qml
res/qml/Mixxx/Controls/WaveformOverviewMarker.qml
Expand Down Expand Up @@ -3837,6 +3840,7 @@ if(QML)
src/qml/qmlsettingparameter.cpp
src/qml/qmltrackproxy.cpp
src/qml/qmlsoundmanagerproxy.cpp
src/qml/qmlpreferencesproxy.cpp
src/waveform/renderers/allshader/digitsrenderer.cpp
src/waveform/renderers/allshader/waveformrenderbeat.cpp
src/waveform/renderers/allshader/waveformrenderer.cpp
Expand Down Expand Up @@ -4149,6 +4153,14 @@ else()
COMPONENT applocal
)

# install qml6-module-qtmultimedia
install(
DIRECTORY
"${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}$<$<CONFIG:Debug>:/debug>/Qt6/qml/QtMultimedia"
DESTINATION "${MIXXX_INSTALL_DATADIR}/Qt6/qml"
COMPONENT applocal
)

# install qml6-module-qtqml-workerscript
install(
DIRECTORY
Expand Down Expand Up @@ -4212,6 +4224,22 @@ else()
DESTINATION "${MIXXX_INSTALL_DATADIR}/Qt6/qml/Qt/labs"
COMPONENT applocal
)

# install qml6-module-qtquick-dialogs
install(
DIRECTORY
"${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}$<$<CONFIG:Debug>:/debug>/Qt6/qml/QtQuick/Dialogs"
DESTINATION "${MIXXX_INSTALL_DATADIR}/Qt6/qml/QtQuick"
COMPONENT applocal
)

# install qml6-module-qt-labs-folderlistmodel
install(
DIRECTORY
"${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}$<$<CONFIG:Debug>:/debug>/Qt6/qml/Qt/labs/folderlistmodel"
DESTINATION "${MIXXX_INSTALL_DATADIR}/Qt6/qml/Qt/labs"
COMPONENT applocal
)
endif()

if(WIN32)
Expand Down Expand Up @@ -4523,6 +4551,7 @@ if(RUBBERBAND)
target_link_libraries(mixxx-lib PRIVATE rubberband::rubberband)
target_compile_definitions(mixxx-lib PUBLIC __RUBBERBAND__)
if(QML)
target_link_libraries(mixxx-qml-lib PRIVATE rubberband::rubberband)
target_compile_definitions(mixxx-qml-lib PUBLIC __RUBBERBAND__)
endif()
target_sources(
Expand Down Expand Up @@ -5225,7 +5254,12 @@ if(QT6)
list(
APPEND
CPACK_DEBIAN_PACKAGE_DEPENDS
"qml6-module-qt5compat-graphicaleffects"
"libqt6sql6-sqlite, fonts-open-sans, fonts-ubuntu, qt6-qpa-plugins, qml6-module-qt5compat-graphicaleffects, qml6-module-qtquick-controls, qml6-module-qtquick-layouts, qml6-module-qtquick-nativestyle, qml6-module-qtquick-templates, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qt-labs-qmlmodels, qml6-module-qt-labs-folderlistmodel, qml6-module-qtquick-shapes, qml6-module-qtmultimedia, qml6-module-qtqml-workerscript"
)
else()
set(
CPACK_DEBIAN_PACKAGE_DEPENDS
"libqt6sql6-sqlite, fonts-open-sans, fonts-ubuntu, qt6-qpa-plugins"
)
list(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS "qml6-module-qtquick-controls")
list(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS "qml6-module-qtquick-layouts")
Expand Down
6 changes: 3 additions & 3 deletions packaging/android/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@
android:allowBackup="true"
android:fullBackupOnly="false">
<activity
android:name="org.qtproject.qt.android.bindings.QtActivity"
android:name="org.mixxx.MainActivity"
android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density"
android:launchMode="singleTop"
android:screenOrientation="landscape"
android:screenOrientation="sensorLandscape"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
Expand All @@ -52,7 +52,7 @@

<meta-data
android:name="android.app.arguments"
android:value="--qml --log-level debug --developer" />
android:value="--qml --log-level debug --developer --log-max-file-size 10000000000" />
</activity>

<provider
Expand Down
27 changes: 27 additions & 0 deletions packaging/android/src/org/mixxx/MainActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package org.mixxx;

import android.os.Bundle;
import android.view.WindowManager;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.core.view.WindowInsetsControllerCompat;
import org.qtproject.qt.android.QtActivityBase;

public class MainActivity extends QtActivityBase {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Disable drawing over cutout - isn't working
WindowManager.LayoutParams lp = this.getWindow().getAttributes();
lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER;

// Disable system and navigation bar to prevent accidental back or app switch
WindowInsetsControllerCompat windowInsetsController =
WindowCompat.getInsetsController(getWindow(), getWindow().getDecorView());
windowInsetsController.setSystemBarsBehavior(
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);
windowInsetsController.hide(WindowInsetsCompat.Type.navigationBars());
}
}
5 changes: 5 additions & 0 deletions packaging/debian/control.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,20 @@ Build-Depends: debhelper (>= 11),
qt6-base-private-dev,
qt6-qpa-plugins,
qml6-module-qt5compat-graphicaleffects,
qml6-module-qtmultimedia,
qml6-module-qtqml-workerscript,
qml6-module-qtquick-controls,
qml6-module-qtquick-layouts,
qml6-module-qtquick-shapes,
qml6-module-qtquick-templates,
qml6-module-qtquick-window,
qml6-module-qtquick-dialogs,
qml6-module-qt-labs-qmlmodels,
qml6-module-qt-labs-folderlistmodel,
libqt6core5compat6-dev,
libqt6opengl6-dev,
libqt6multimedia6,
libqt6multimediaquick6,
libqt6sql6-sqlite,
libqt6svg6-dev,
cmake (>= 3.13),
Expand Down
8 changes: 8 additions & 0 deletions res/controllers/Dummy Device Screen.hid.xml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,14 @@
<value color="#FFFFFF" label="White">white</value>
</option>
</row>
<option
variable="intValue"
type="integer"
min="20"
max="500"
step="2"
default="50"
label="Int value"/>
</group>
</settings>
<controller id="DummyDevice">
Expand Down
Loading
Loading