summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--.pre-commit-config.yaml4
-rw-r--r--.travis.yml6
-rw-r--r--CMakeLists.txt132
-rw-r--r--Doxyfile2548
-rw-r--r--appveyor.yml9
-rw-r--r--build/depends.py2
-rw-r--r--build/osx/golden_environment2
-rw-r--r--res/skins/Deere (64 Samplers)/skin.xml4
-rw-r--r--res/skins/Deere/skin.xml4
-rw-r--r--res/skins/Deere/style.qss147
-rw-r--r--res/skins/LateNight/skin.xml2
-rw-r--r--res/skins/LateNight/style.qss142
-rw-r--r--res/skins/LateNight/style_flip.qss20
-rw-r--r--res/skins/Shade/preview_deck.xml507
-rw-r--r--res/skins/Shade/skin.xml37
-rw-r--r--res/skins/Shade/style.qss104
-rw-r--r--res/skins/Shade/style_dark.qss40
-rw-r--r--res/skins/Shade/style_summer_sunset.qss37
-rw-r--r--res/skins/Tango (64 Samplers)/skin.xml4
-rw-r--r--res/skins/Tango/deck_row_overview_left.xml46
-rw-r--r--res/skins/Tango/deck_row_overview_right.xml46
-rw-r--r--res/skins/Tango/deck_row_transport_left.xml32
-rw-r--r--res/skins/Tango/deck_row_transport_right.xml31
-rw-r--r--res/skins/Tango/skin.xml4
-rw-r--r--res/skins/Tango/style.qss93
-rw-r--r--res/skins/default.qss9
-rwxr-xr-xscripts/line_length.py28
-rw-r--r--src/controllers/controller.cpp2
-rw-r--r--src/controllers/dlgprefcontroller.cpp6
-rw-r--r--src/controllers/dlgprefcontroller.h10
-rw-r--r--src/controllers/dlgprefcontrollers.cpp15
-rw-r--r--src/controllers/dlgprefcontrollers.h5
-rw-r--r--src/controllers/engine/controllerengine.cpp192
-rw-r--r--src/controllers/engine/controllerengine.h13
-rw-r--r--src/errordialoghandler.cpp4
-rw-r--r--src/errordialoghandler.h4
-rw-r--r--src/library/autodj/dlgautodj.cpp8
-rw-r--r--src/library/autodj/dlgautodj.ui27
-rw-r--r--src/library/basetracktablemodel.cpp5
-rw-r--r--src/library/basetracktablemodel.h3
-rw-r--r--src/library/dao/trackdao.cpp26
-rw-r--r--src/library/dao/trackdao.h26
-rw-r--r--src/library/dlganalysis.cpp14
-rw-r--r--src/library/dlganalysis.ui15
-rw-r--r--src/library/dlghidden.ui9
-rw-r--r--src/library/dlgmissing.ui6
-rw-r--r--src/library/dlgtagfetcher.cpp50
-rw-r--r--src/library/dlgtagfetcher.h16
-rw-r--r--src/library/dlgtrackinfo.cpp125
-rw-r--r--src/library/dlgtrackinfo.h30
-rw-r--r--src/library/recording/dlgrecording.cpp66
-rw-r--r--src/library/recording/dlgrecording.h6
-rw-r--r--src/library/recording/dlgrecording.ui15
-rw-r--r--src/library/serato/seratofeature.cpp17
-rw-r--r--src/library/trackmodel.h4
-rw-r--r--src/mixer/basetrackplayer.cpp130
-rw-r--r--src/mixer/basetrackplayer.h5
-rw-r--r--src/preferences/dialog/dlgprefcolors.cpp12
-rw-r--r--src/preferences/dialog/dlgprefcolors.h6
-rw-r--r--src/preferences/dialog/dlgprefinterface.cpp24
-rw-r--r--src/preferences/dialog/dlgprefinterface.h1
-rw-r--r--src/preferences/dialog/dlgprefinterfacedlg.ui219
-rw-r--r--src/preferences/dialog/dlgpreflv2.cpp10
-rw-r--r--src/preferences/dialog/dlgpreflv2.h5
-rw-r--r--src/preferences/dialog/dlgprefrecord.h5
-rw-r--r--src/preferences/dlgpreferencepage.h52
-rw-r--r--src/recording/recordingmanager.cpp29
-rw-r--r--src/recording/recordingmanager.h4
-rw-r--r--src/skin/legacyskinparser.cpp10
-rw-r--r--src/skin/legacyskinparser.h2
-rw-r--r--src/skin/skinloader.cpp1
-rw-r--r--src/test/cuecontrol_test.cpp5
-rw-r--r--src/test/seratomarkerstest.cpp6
-rw-r--r--src/test/trackmetadata_test.cpp248
-rw-r--r--src/track/cueinfo.cpp46
-rw-r--r--src/track/cueinfo.h3
-rw-r--r--src/track/serato/markers.cpp158
-rw-r--r--src/track/track.cpp81
-rw-r--r--src/track/track.h7
-rw-r--r--src/track/trackid.h1
-rw-r--r--src/track/trackinfo.h4
-rw-r--r--src/track/trackmetadata.cpp4
-rw-r--r--src/track/trackrecord.cpp158
-rw-r--r--src/track/trackrecord.h13
-rw-r--r--src/util/optional.h4
-rw-r--r--src/util/widgethider.cpp27
-rw-r--r--src/util/widgethider.h23
-rw-r--r--src/waveform/renderers/waveformrendermark.cpp301
-rw-r--r--src/waveform/renderers/waveformsignalcolors.cpp8
-rw-r--r--src/waveform/renderers/waveformsignalcolors.h2
-rw-r--r--src/widget/wcolorpicker.cpp7
-rw-r--r--src/widget/wcolorpickeraction.cpp7
-rw-r--r--src/widget/wcolorpickeraction.h9
-rw-r--r--src/widget/woverview.cpp40
-rw-r--r--src/widget/woverview.h3
-rw-r--r--src/widget/wsearchlineedit.cpp5
-rw-r--r--src/widget/wtrackmenu.cpp1233
-rw-r--r--src/widget/wtrackmenu.h244
-rw-r--r--src/widget/wtrackproperty.cpp32
-rw-r--r--src/widget/wtrackproperty.h17
-rw-r--r--src/widget/wtracktableview.cpp1485
-rw-r--r--src/widget/wtracktableview.h162
-rw-r--r--src/widget/wtracktext.cpp29
-rw-r--r--src/widget/wtracktext.h10
105 files changed, 6592 insertions, 3067 deletions
diff --git a/.gitignore b/.gitignore
index c2eb05fdea..6b294dd1af 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,3 +63,6 @@ lib/*/lib/*.lib
lib/qtscript-bytearray/*.cc
compile_commands.json
+
+# Exclude documentation generated by Doxygen
+/doxygen/
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index ea0f13baca..05fd1f1958 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -113,8 +113,8 @@ repos:
- manual
- repo: local
hooks:
- - id: line_length
- name: line_length
+ - id: line-length
+ name: line-length
description: Check for lines longer 100 and brakes them before 80.
entry: ./scripts/line_length.py
stages:
diff --git a/.travis.yml b/.travis.yml
index 1f773cd501..23a8f3f21d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -91,7 +91,8 @@ jobs:
- name: OSX/clang/SCons build
os: osx
- osx_image: xcode11
+ # The XCode version should match that on the build server!
+ osx_image: xcode9.4
compiler: clang
cache:
directories:
@@ -127,7 +128,8 @@ jobs:
- name: OSX/clang/CMake build
os: osx
- osx_image: xcode11
+ # The XCode version should match that on the build server!
+ osx_image: xcode9.4
compiler: clang
cache:
ccache: true
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8161eb966b..b0d85ca32a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -615,7 +615,6 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/util/timer.cpp
src/util/valuetransformer.cpp
src/util/version.cpp
- src/util/widgethider.cpp
src/util/widgetrendertimer.cpp
src/util/workerthread.cpp
src/util/workerthreadscheduler.cpp
@@ -724,6 +723,7 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/widget/wstarrating.cpp
src/widget/wstatuslight.cpp
src/widget/wtime.cpp
+ src/widget/wtrackmenu.cpp
src/widget/wtrackproperty.cpp
src/widget/wtracktableview.cpp
src/widget/wtracktableviewheader.cpp
@@ -849,123 +849,155 @@ target_link_libraries(mixxx PUBLIC mixxx-lib)
#
# Installation and Packaging
#
-include(GNUInstallDirs)
+set(MIXXX_INSTALL_BINDIR ".")
+set(MIXXX_INSTALL_DATADIR ".")
+set(MIXXX_INSTALL_DOCDIR ".")
+set(MIXXX_INSTALL_LICENSEDIR ".")
+if (UNIX)
+ include(GNUInstallDirs)
+ set(MIXXX_INSTALL_BINDIR "${CMAKE_INSTALL_BINDIR}")
+ set(MIXXX_INSTALL_DATADIR "${CMAKE_INSTALL_DATADIR}/mixxx")
+ set(MIXXX_INSTALL_DOCDIR "${CMAKE_INSTALL_DOCDIR}/mixxx")
+ set(MIXXX_INSTALL_LICENSEDIR "${CMAKE_INSTALL_DATADIR}/licenses/mixxx")
+endif()
+
install(
TARGETS
mixxx
RUNTIME DESTINATION
- ${CMAKE_INSTALL_BINDIR}
+ "${MIXXX_INSTALL_BINDIR}"
)
# Skins
install(
DIRECTORY
- ${CMAKE_CURRENT_SOURCE_DIR}/res/skins
+ "${CMAKE_CURRENT_SOURCE_DIR}/res/skins"
DESTINATION
- ${CMAKE_INSTALL_DATADIR}/mixxx
+ "${MIXXX_INSTALL_DATADIR}"
)
# Controller mappings
install(
DIRECTORY
- ${CMAKE_CURRENT_SOURCE_DIR}/res/controllers
+ "${CMAKE_CURRENT_SOURCE_DIR}/res/controllers"
DESTINATION
- ${CMAKE_INSTALL_DATADIR}/mixxx
+ "${MIXXX_INSTALL_DATADIR}"
)
# Translation files
install(
DIRECTORY
- ${CMAKE_CURRENT_SOURCE_DIR}/res/translations
+ "${CMAKE_CURRENT_SOURCE_DIR}/res/translations"
DESTINATION
- ${CMAKE_INSTALL_DATADIR}/mixxx
+ "${MIXXX_INSTALL_DATADIR}"
FILES_MATCHING PATTERN
"*.qm"
)
# Font files
install(
DIRECTORY
- ${CMAKE_CURRENT_SOURCE_DIR}/res/fonts
- DESTINATION
- ${CMAKE_INSTALL_DATADIR}/mixxx
+ "${CMAKE_CURRENT_SOURCE_DIR}/res/fonts"
+ "DESTINATION"
+ "${MIXXX_INSTALL_DATADIR}"
)
# Keyboard mapping(s)
install(
DIRECTORY
- ${CMAKE_CURRENT_SOURCE_DIR}/res/keyboard
+ "${CMAKE_CURRENT_SOURCE_DIR}/res/keyboard"
DESTINATION
- ${CMAKE_INSTALL_DATADIR}/mixxx
+ "${MIXXX_INSTALL_DATADIR}"
)
# QScriptEngine extensions
install(
DIRECTORY
- ${CMAKE_CURRENT_SOURCE_DIR}/script
+ "${CMAKE_CURRENT_SOURCE_DIR}/script"
DESTINATION
- ${CMAKE_INSTALL_DATADIR}/mixxx
+ "${MIXXX_INSTALL_DATADIR}"
)
# Licenses
install(
FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE
- ${CMAKE_CURRENT_SOURCE_DIR}/COPYING
+ "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE"
+ "${CMAKE_CURRENT_SOURCE_DIR}/COPYING"
DESTINATION
- ${CMAKE_INSTALL_DATADIR}/licenses/mixxx
+ "${MIXXX_INSTALL_LICENSEDIR}"
)
# Documentation
install(
FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/README
- ${CMAKE_CURRENT_SOURCE_DIR}/Mixxx-Manual.pdf
+ "${CMAKE_CURRENT_SOURCE_DIR}/README"
+ "${CMAKE_CURRENT_SOURCE_DIR}/Mixxx-Manual.pdf"
DESTINATION
- ${CMAKE_INSTALL_DOCDIR}
+ "${MIXXX_INSTALL_DOCDIR}"
)
-# .desktop file for KDE/GNOME menu
-install(
- FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx.desktop
- DESTINATION
- ${CMAKE_INSTALL_DATADIR}/applications
-)
+# Additional Linux-only files
+if(UNIX AND NOT APPLE)
+ # .desktop file for KDE/GNOME menu
+ install(
+ FILES
+ "${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx.desktop"
+ DESTINATION
+ "${CMAKE_INSTALL_DATADIR}/applications"
+ )
-# Icon file for menu entry
-install(
- FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/res/images/mixxx_icon.svg
- DESTINATION
- ${CMAKE_INSTALL_DATADIR}/pixmaps
-)
+ # Icon file for menu entry
+ install(
+ FILES
+ "${CMAKE_CURRENT_SOURCE_DIR}/res/images/mixxx_icon.svg"
+ DESTINATION
+ "${CMAKE_INSTALL_DATADIR}/pixmaps"
+ )
-# .appdata.xml file for KDE/GNOME AppStream initiative
-install(
- FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx.appdata.xml
- DESTINATION
- ${CMAKE_INSTALL_DATADIR}/appdata
-)
+ # .appdata.xml file for KDE/GNOME AppStream initiative
+ install(
+ FILES
+ "${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx.appdata.xml"
+ DESTINATION
+ "${CMAKE_INSTALL_DATADIR}/appdata"
+ )
-# udev rule file for USB HID and Bulk controllers
-install(
- FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx-usb-uaccess.rules
- DESTINATION
- ${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d
-)
+ # udev rule file for USB HID and Bulk controllers
+ install(
+ FILES
+ "${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx-usb-uaccess.rules"
+ DESTINATION
+ "${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d"
+ )
+endif()
# Packaging
set(CPACK_PACKAGE_VENDOR "Mixxx Project")
set(CPACK_PACKAGE_CONTACT "RJ Skerry-Ryan <rryan@mixxx.org>")
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cpack_package_description.txt")
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "Mixxx")
+set(CPACK_PACKAGE_EXECUTABLES "mixxx" "Mixxx")
+set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/res/images/mixxx_install_logo.bmp")
+set(CPACK_PACKAGE_HOMEPAGE_URL "https://www.mixxx.org/")
+
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
+set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README")
+set(CPACK_STRIP_FILES ON)
+set(CPACK_CREATE_DESKTOP_LINKS "mixxx")
+
set(CPACK_DEBIAN_PACKAGE_SECTION "sound")