Skip to content

Commit

Permalink
Merge remote-tracking branch 'mixxx/2.3' into repeat-offset-buffer-fill
Browse files Browse the repository at this point in the history
  • Loading branch information
ronso0 committed Jun 13, 2023
2 parents 11a0063 + 6385f30 commit 724c019
Show file tree
Hide file tree
Showing 176 changed files with 9,891 additions and 9,204 deletions.
3 changes: 2 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,15 @@ repos:
rev: v4.3.0
hooks:
- id: fix-byte-order-marker
exclude: ^.*(\.cbproj|\.groupproj|\.props|\.sln|\.vcxproj|\.vcxproj.filters)$
exclude: ^.*(\.cbproj|\.groupproj|\.props|\.sln|\.vcxproj|\.vcxproj.filters|UTF-8-BOM.txt)$
- id: check-case-conflict
- id: check-json
- id: check-merge-conflict
- id: check-xml
- id: check-yaml
exclude: ^\.clang-format$
- id: end-of-file-fixer
exclude: ^.*UTF-8-BOM.txt$
- id: mixed-line-ending
- id: trailing-whitespace
exclude: \.(c|cc|cxx|cpp|frag|glsl|h|hpp|hxx|ih|ispc|ipp|java|js|m|mm|proto|vert)$
Expand Down
70 changes: 69 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
# Changelog

## [2.3.5](https://github.com/mixxxdj/mixxx/milestone/39) (unreleased)
## [2.3.6](https://github.com/mixxxdj/mixxx/milestone/40) (unreleased)

* Numark DJ2GO2 Touch: Add missing loop_out mapping for the right deck
[#11595](https://github.com/mixxxdj/mixxx/pull/11595)
* No longer stop a track with an active loop at the very end.
[#11558](https://github.com/mixxxdj/mixxx/pull/11558)
[#11557](https://github.com/mixxxdj/mixxx/issues/11557)
* Shade: Fixed VU-Meter and other minor issues
[#11598](https://github.com/mixxxdj/mixxx/pull/11598)
* Fixed possible crash when closing Mixxx while browsing the file system
[#11593](https://github.com/mixxxdj/mixxx/pull/11593)
[#11589](https://github.com/mixxxdj/mixxx/issues/11589)
* Fixed resyncing when moving an active loop
[#11152](https://github.com/mixxxdj/mixxx/pull/11152)
[#11381](https://github.com/mixxxdj/mixxx/issues/11381)

## [2.3.5](https://github.com/mixxxdj/mixxx/milestone/39) (2023-05-10)

* Fix empty waveform overview after loading a track (Mixxx 2.3.4 regression)
Fixed by [#11333](https://github.com/mixxxdj/mixxx/pull/11333)
Expand Down Expand Up @@ -35,6 +51,58 @@
* Tango: Remove VU peak indicators from stacked layout. This fixes a visual regression in Mixxx 2.3.4.
[#11430](https://github.com/mixxxdj/mixxx/pull/11430)
[#11362](https://github.com/mixxxdj/mixxx/issues/11362)
* Hercules P32: Allow optional using pregain instead of dry/wet knob
[#3538](https://github.com/mixxxdj/mixxx/pull/3538)
* Improve Color Picker dialog
[#11439](https://github.com/mixxxdj/mixxx/pull/11439)
* Fix blank Waveform overview after changing Skin with a track loaded
[#11453](https://github.com/mixxxdj/mixxx/pull/11453)
* Linux: Log a warning when the audio thread is not scheduled with real-time policy
[#11472](https://github.com/mixxxdj/mixxx/pull/11472)
[#11465](https://github.com/mixxxdj/mixxx/issues/11465)
* Auto DJ: Fixes stop due to tracks with changed length
[#11479](https://github.com/mixxxdj/mixxx/pull/11479)
[#11492](https://github.com/mixxxdj/mixxx/pull/11492)
[#11448](https://github.com/mixxxdj/mixxx/issues/11448)
* Auto DJ: Fix Auto DJ indicator state when controlling it via shortcut (SHIFT+F12)
[#11494](https://github.com/mixxxdj/mixxx/issues/11494)
[#11495](https://github.com/mixxxdj/mixxx/pull/11495)
* Fix building with Clang 15/16
[#11490](https://github.com/mixxxdj/mixxx/pull/11490)
[#11485](https://github.com/mixxxdj/mixxx/pull/11485)
* Fix EQ and waveforms analysis when compiling with GCC 13
[#11501](https://github.com/mixxxdj/mixxx/pull/11501)
[#11483](https://github.com/mixxxdj/mixxx/issues/11483)
[#11502](https://github.com/mixxxdj/mixxx/pull/11502)
[#11480](https://github.com/mixxxdj/mixxx/pull/11480)
[#11488](https://github.com/mixxxdj/mixxx/pull/11488)
* Numark Mixtrack Pro FX: Fix sound output via WDM-KS on Windows
[#11393](https://github.com/mixxxdj/mixxx/issues/11393)
* Fix crash on startup caused by faulty ASIO driver like FlexASIO 1.4 or Music Maker
[#11426](https://github.com/mixxxdj/mixxx/issues/11426)
[#10081](https://github.com/mixxxdj/mixxx/issues/10081)
* Windows: Show a loopback device that allows to mix in system sound
[#11427](https://github.com/mixxxdj/mixxx/issues/11427)
[#11451](https://github.com/mixxxdj/mixxx/issues/11451)
* Fix sorting via column header in external library features
[#11491](https://github.com/mixxxdj/mixxx/issues/11491)
[#11499](https://github.com/mixxxdj/mixxx/pull/11499)
* Fix wrong waveform background color on recent Linux distributions like Fedora 37
[#11164](https://github.com/mixxxdj/mixxx/issues/11164)
[#11523](https://github.com/mixxxdj/mixxx/pull/11523)
* Serato Metadata: Don't import empty (black) cue points
[#11534](https://github.com/mixxxdj/mixxx/pull/11534)
[#11530](https://github.com/mixxxdj/mixxx/issues/11530)
[#11467](https://github.com/mixxxdj/mixxx/pull/11467)
[#11466](https://github.com/mixxxdj/mixxx/pull/11466)
[#11283](https://github.com/mixxxdj/mixxx/issues/11283)
* Track context menu: Immediately adopt new position when resetting cues
[#11482](https://github.com/mixxxdj/mixxx/pull/11482)
* Windows: Fix possible crash with faulty mp3 files
[#11535](https://github.com/mixxxdj/mixxx/pull/11535)
[#11531](https://github.com/mixxxdj/mixxx/issues/11531)
[#11528](https://github.com/mixxxdj/mixxx/pull/11528)
[#11521](https://github.com/mixxxdj/mixxx/issues/11521)

## [2.3.4](https://launchpad.net/mixxx/+milestone/2.3.4) (2023-03-03)

Expand Down
48 changes: 34 additions & 14 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ if(NOT CMAKE_CONFIGURATION_TYPES)
endif()
endif()

project(mixxx VERSION 2.3.4)
project(mixxx VERSION 2.3.5)
# Work around missing version suffixes support https://gitlab.kitware.com/cmake/cmake/-/issues/16716
set(MIXXX_VERSION_PRERELEASE "") # set to "alpha-pre" "beta" or ""

Expand Down Expand Up @@ -167,6 +167,13 @@ endif()
#######################################################################

set(CMAKE_CXX_STANDARD 17)
if(MSVC)
# Ensure MSVC populates __cplusplus correctly.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:__cplusplus")
# Remove unreferenced code and data
# Since c++11 they can safely be removed to speed up linking.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:inline")
endif()

# Speed up builds on HDDs and prevent wearing of SDDs
#
Expand Down Expand Up @@ -259,6 +266,11 @@ if(MSVC)
string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "/RTC1" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
# For some reasons cmake uses /Ob1 in RelWithDebInfo https://gitlab.kitware.com/cmake/cmake/-/issues/20812
# /O2 is applied by CMake and this implies /Od2
string(REPLACE "/Ob1" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
string(REPLACE "/Ob1" "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")

# Reduce the size of the binary in RelWithDebInfo builds
# Do not use /OPT:ICF because it has no effect.
# https://github.com/mixxxdj/mixxx/pull/3660#pullrequestreview-600137258
Expand Down Expand Up @@ -325,8 +337,9 @@ if(MSVC)
#Remove optimize flags set by cmake defaults
string(REPLACE "/O2" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
string(REPLACE "/O2" "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
string(REPLACE "/Ob2" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
string(REPLACE "/Ob2" "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
# For some reasons cmake uses /Ob1 in RelWithDebInfo https://gitlab.kitware.com/cmake/cmake/-/issues/20812
string(REPLACE "/Ob1" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
string(REPLACE "/Ob1" "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
add_compile_options(/Od) # this implies /Ob0
add_compile_options(/RTC1)
endif()
Expand Down Expand Up @@ -936,6 +949,7 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/waveform/guitick.cpp
src/waveform/renderers/glslwaveformrenderersignal.cpp
src/waveform/renderers/glvsynctestrenderer.cpp
src/waveform/renderers/glwaveformrenderbackground.cpp
src/waveform/renderers/glwaveformrendererfilteredsignal.cpp
src/waveform/renderers/glwaveformrendererrgb.cpp
src/waveform/renderers/glwaveformrenderersimplesignal.cpp
Expand Down Expand Up @@ -1131,10 +1145,6 @@ target_compile_definitions(mixxx-lib PUBLIC
$<$<CONFIG:Debug>:MIXXX_BUILD_DEBUG>
$<$<CONFIG:Debug>:MIXXX_DEBUG_ASSERTIONS_ENABLED>
$<$<NOT:$<CONFIG:Debug>>:MIXXX_BUILD_RELEASE>
# Disable assert.h assertions in release mode. Some libraries use
# this as a signal for when to enable code that should be disabled
# in release mode.
$<$<NOT:$<CONFIG:Debug>>:NDEBUG>
)

# Mac-specific options
Expand Down Expand Up @@ -1863,11 +1873,17 @@ endif()
target_include_directories(mixxx-lib SYSTEM PUBLIC lib/fidlib)
target_link_libraries(mixxx-lib PRIVATE fidlib)

# Create a list from CMAKE_PREFIX_PATH with an alternate separator
# This is required to forward CMAKE_PREFIX_PATH in ExternalProject_Add()
# using the LIST_SEPARATOR option
string(REPLACE ";" "|" CMAKE_PREFIX_PATH_ALT_SEP "${CMAKE_PREFIX_PATH}")

# KeyFinder
option(KEYFINDER "KeyFinder support" ON)
if(KEYFINDER)
set(LIBKEYFINDER_VERSION 2.2.6)
find_package(KeyFinder ${LIBKEYFINDER_VERSION})
set(MIN_LIBKEYFINDER_VERSION 2.2.4)
set(FETCH_LIBKEYFINDER_VERSION 2.2.6)
find_package(KeyFinder ${MIN_LIBKEYFINDER_VERSION})
if (KeyFinder_FOUND)
target_link_libraries(mixxx-lib PRIVATE KeyFinder::KeyFinder)
else()
Expand All @@ -1879,7 +1895,7 @@ if(KEYFINDER)
# copy it into DOWNLOAD_DIR under DOWNLOAD_NAME prior to starting
# the configuration.
ExternalProject_Add(libkeyfinder
URL "https://github.com/mixxxdj/libkeyfinder/archive/refs/tags/v${LIBKEYFINDER_VERSION}.zip"
URL "https://github.com/mixxxdj/libkeyfinder/archive/refs/tags/v${FETCH_LIBKEYFINDER_VERSION}.zip"
URL_HASH SHA256=f15deb56c2dcaa6b10dc3717a7d2f42a8407c04ad550f694de42118be998d256
DOWNLOAD_DIR "${CMAKE_CURRENT_BINARY_DIR}/downloads"
DOWNLOAD_NAME "libkeyfinder-${LIBKEYFINDER_VERSION}.zip"
Expand All @@ -1889,12 +1905,14 @@ if(KEYFINDER)
-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DCMAKE_PREFIX_PATH:PATH="${CMAKE_PREFIX_PATH}"
-DCMAKE_PREFIX_PATH:PATH=${CMAKE_PREFIX_PATH_ALT_SEP}
-DCMAKE_TOOLCHAIN_FILE:PATH=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
-DBUILD_TESTING=OFF
BUILD_COMMAND ${CMAKE_COMMAND} --build .
BUILD_BYPRODUCTS <INSTALL_DIR>/${KeyFinder_LIBRARY}
EXCLUDE_FROM_ALL TRUE
LIST_SEPARATOR |
)

# This is a bit of a hack to make sure that the include directory actually
Expand Down Expand Up @@ -2002,12 +2020,14 @@ else()
-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DCMAKE_PREFIX_PATH=${PIPE_DELIMITED_CMAKE_PREFIX_PATH}
-DCMAKE_PREFIX_PATH:PATH=${CMAKE_PREFIX_PATH_ALT_SEP}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
-DBUILD_TESTING=OFF
BUILD_COMMAND ${CMAKE_COMMAND} --build .
BUILD_BYPRODUCTS <INSTALL_DIR>/${PortAudio_LIBRARIES}
EXCLUDE_FROM_ALL TRUE
LIST_SEPARATOR |
)
add_dependencies(mixxx-lib portaudio)
target_link_libraries(mixxx-lib PRIVATE
Expand Down Expand Up @@ -2749,7 +2769,7 @@ if(HID)
endif()

# USB Bulk controller support
default_option(BULK "USB Bulk controller support" "LibUSB_FOUND")
default_option(BULK "USB Bulk controller support" "LibUSB_FOUND;NOT WIN32")
if(BULK)
if(NOT LibUSB_FOUND)
message(FATAL_ERROR "USB Bulk controller support requires libusb 1.0 and its development headers.")
Expand Down Expand Up @@ -2865,7 +2885,7 @@ if (NOT CPACK_DEBIAN_PACKAGE_RELEASE)
set(CPACK_DEBIAN_PACKAGE_RELEASE 1)
endif()

set(CPACK_DEBIAN_DISTRIBUTION_RELEASES bionic focal impish jammy kinetic lunar)
set(CPACK_DEBIAN_DISTRIBUTION_RELEASES bionic focal jammy kinetic lunar mantic)
set(CPACK_DEBIAN_SOURCE_DIR ${CMAKE_SOURCE_DIR})
set(CPACK_DEBIAN_UPLOAD_PPA_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/packaging/CPackDebUploadPPA.cmake")
set(CPACK_DEBIAN_INSTALL_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/packaging/CPackDebInstall.cmake")
Expand Down
9 changes: 6 additions & 3 deletions cmake/modules/FindChromaprint.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,15 @@ find_library(Chromaprint_LIBRARY
)
mark_as_advanced(Chromaprint_LIBRARY)

if(DEFINED PC_Chromaprint_VERSION AND NOT PC_Chromaprint_VERSION STREQUAL "")
set(Chromaprint_VERSION "${PC_Chromaprint_VERSION}")
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
Chromaprint
DEFAULT_MSG
Chromaprint_LIBRARY
Chromaprint_INCLUDE_DIR
REQUIRED_VARS Chromaprint_LIBRARY Chromaprint_INCLUDE_DIR
VERSION_VAR Chromaprint_VERSION
)

if(Chromaprint_FOUND)
Expand Down
9 changes: 6 additions & 3 deletions cmake/modules/FindEbur128.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,15 @@ find_library(Ebur128_LIBRARY
)
mark_as_advanced(Ebur128_LIBRARY)

if(DEFINED PC_Ebur128_VERSION AND NOT PC_Ebur128_VERSION STREQUAL "")
set(Ebur128_VERSION "${PC_Ebur128_VERSION}")
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
Ebur128
DEFAULT_MSG
Ebur128_LIBRARY
Ebur128_INCLUDE_DIR
REQUIRED_VARS Ebur128_LIBRARY Ebur128_INCLUDE_DIR
VERSION_VAR Ebur128_VERSION
)

if(Ebur128_FOUND)
Expand Down
9 changes: 6 additions & 3 deletions cmake/modules/FindFLAC.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,15 @@ find_library(FLAC_LIBRARY
)
mark_as_advanced(FLAC_LIBRARY)

if(DEFINED PC_FLAC_VERSION AND NOT PC_FLAC_VERSION STREQUAL "")
set(FLAC_VERSION "${PC_FLAC_VERSION}")
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
FLAC
DEFAULT_MSG
FLAC_LIBRARY
FLAC_INCLUDE_DIR
REQUIRED_VARS FLAC_LIBRARY FLAC_INCLUDE_DIR
VERSION_VAR FLAC_VERSION
)

if(FLAC_FOUND)
Expand Down
9 changes: 6 additions & 3 deletions cmake/modules/FindID3Tag.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,15 @@ find_library(ID3Tag_LIBRARY
)
mark_as_advanced(ID3Tag_LIBRARY)

if(DEFINED PC_ID3Tag_VERSION AND NOT PC_ID3Tag_VERSION STREQUAL "")
set(ID3Tag_VERSION "${PC_ID3Tag_VERSION}")
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
ID3Tag
DEFAULT_MSG
ID3Tag_LIBRARY
ID3Tag_INCLUDE_DIR
REQUIRED_VARS ID3Tag_LIBRARY ID3Tag_INCLUDE_DIR
VERSION_VAR ID3Tag_VERSION
)

if(ID3Tag_FOUND)
Expand Down
9 changes: 6 additions & 3 deletions cmake/modules/FindKeyFinder.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,15 @@ find_library(KeyFinder_LIBRARY
)
mark_as_advanced(KeyFinder_LIBRARY)

if(DEFINED PC_KeyFinder_VERSION AND NOT PC_KeyFinder_VERSION STREQUAL "")
set(KeyFinder_VERSION "${PC_KeyFinder_VERSION}")
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
KeyFinder
DEFAULT_MSG
KeyFinder_LIBRARY
KeyFinder_INCLUDE_DIR
REQUIRED_VARS KeyFinder_LIBRARY KeyFinder_INCLUDE_DIR
VERSION_VAR KeyFinder_VERSION
)

if(KeyFinder_FOUND)
Expand Down
9 changes: 6 additions & 3 deletions cmake/modules/FindLibUSB.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,15 @@ find_library(LibUSB_LIBRARY
)
mark_as_advanced(LibUSB_LIBRARY)

if(DEFINED PC_LibUSB_VERSION AND NOT PC_LibUSB_VERSION STREQUAL "")
set(LibUSB_VERSION "${PC_LibUSB_VERSION}")
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
LibUSB
DEFAULT_MSG
LibUSB_LIBRARY
LibUSB_INCLUDE_DIR
REQUIRED_VARS LibUSB_LIBRARY LibUSB_INCLUDE_DIR
VERSION_VAR LibUSB_VERSION
)

if(LibUSB_FOUND)
Expand Down
9 changes: 6 additions & 3 deletions cmake/modules/FindMAD.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,15 @@ find_library(MAD_LIBRARY
)
mark_as_advanced(MAD_LIBRARY)

if(DEFINED PC_MAD_VERSION AND NOT PC_MAD_VERSION STREQUAL "")
set(MAD_VERSION "${PC_MAD_VERSION}")
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
MAD
DEFAULT_MSG
MAD_LIBRARY
MAD_INCLUDE_DIR
REQUIRED_VARS MAD_LIBRARY MAD_INCLUDE_DIR
VERSION_VAR MAD_VERSION
)

if(MAD_FOUND)
Expand Down
9 changes: 6 additions & 3 deletions cmake/modules/FindMP4.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,15 @@ find_library(MP4_LIBRARY
)
mark_as_advanced(MP4_LIBRARY)

if(DEFINED PC_MP4_VERSION AND NOT PC_MP4_VERSION STREQUAL "")
set(MP4_VERSION "${PC_MP4_VERSION}")
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
MP4
DEFAULT_MSG
MP4_LIBRARY
MP4_INCLUDE_DIR
REQUIRED_VARS MP4_LIBRARY MP4_INCLUDE_DIR
VERSION_VAR MP4_VERSION
)

if(MP4_FOUND)
Expand Down

0 comments on commit 724c019

Please sign in to comment.