Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/2.5' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
daschuer committed Jun 9, 2024
2 parents 6d12418 + a9de31c commit 272fb16
Show file tree
Hide file tree
Showing 274 changed files with 215,029 additions and 146,198 deletions.
1 change: 0 additions & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ Checks: >-
readability-qualified-auto
WarningsAsErrors: ""
HeaderFilterRegex: ""
AnalyzeTemporaryDtors: false
FormatStyle: none
User: user
CheckOptions:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ jobs:
artifacts_path: build/*.deb
artifacts_slug: ubuntu-jammy
qt_qpa_platform: offscreen
- name: macOS 11 x64
os: macos-11
- name: macOS 12 x64
os: macos-12
cmake_args: >-
-DBULK=ON
-DCOREAUDIO=ON
Expand All @@ -63,8 +63,8 @@ jobs:
artifacts_path: build/*.dmg
artifacts_slug: macos-macosintel
qt_qpa_platform: offscreen
- name: macOS 11 arm64
os: macos-11
- name: macOS 12 arm64
os: macos-12
cmake_args: >-
-DBULK=ON
-DCOREAUDIO=ON
Expand Down
281 changes: 174 additions & 107 deletions CHANGELOG.md

Large diffs are not rendered by default.

2,069 changes: 2,069 additions & 0 deletions CHANGELOG.md.backup

Large diffs are not rendered by default.

35 changes: 11 additions & 24 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -968,8 +968,6 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/library/recording/dlgrecording.cpp
src/library/recording/dlgrecording.ui
src/library/recording/recordingfeature.cpp
src/library/rekordbox/kaitaistructs/rekordbox_anlz.cpp
src/library/rekordbox/kaitaistructs/rekordbox_pdb.cpp
src/library/rekordbox/rekordboxfeature.cpp
src/library/rhythmbox/rhythmboxfeature.cpp
src/library/scanner/importfilestask.cpp
Expand Down Expand Up @@ -1269,6 +1267,7 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/widget/weffectchainpresetselector.cpp
src/widget/weffectknobparametername.cpp
src/widget/weffectname.cpp
src/widget/weffectmetaknob.cpp
src/widget/weffectparameterknob.cpp
src/widget/weffectparameterknobcomposed.cpp
src/widget/weffectparameternamebase.cpp
Expand Down Expand Up @@ -1622,26 +1621,6 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
message(STATUS "Enabling QML Debugging! This poses a security risk as Mixxx will open a TCP port for debugging")
endif()

# Disable warnings in generated source files
if(GNU_GCC OR LLVM_CLANG)
set_property(
SOURCE src/library/rekordbox/kaitaistructs/rekordbox_anlz.cpp
APPEND_STRING
PROPERTY COMPILE_OPTIONS -Wno-unused-parameter
)
set_property(
SOURCE src/library/rekordbox/kaitaistructs/rekordbox_pdb.cpp
APPEND_STRING
PROPERTY COMPILE_OPTIONS -Wno-unused-parameter -Wno-switch
)
elseif(MSVC)
set_property(
SOURCE src/library/rekordbox/kaitaistructs/rekordbox_pdb.cpp
APPEND_STRING
PROPERTY COMPILE_OPTIONS /wd4244
)
endif()

option(WARNINGS_PEDANTIC "Let the compiler show even more warnings" OFF)
if(MSVC)
if(WARNINGS_PEDANTIC)
Expand Down Expand Up @@ -2570,12 +2549,20 @@ target_link_libraries(mixxx-lib PRIVATE FpClassify)
find_package(mp3lame REQUIRED)
target_link_libraries(mixxx-lib PRIVATE mp3lame::mp3lame)

add_library(rekordbox_metadata STATIC EXCLUDE_FROM_ALL
lib/rekordbox-metadata/rekordbox_pdb.cpp
lib/rekordbox-metadata/rekordbox_anlz.cpp
)
target_include_directories(rekordbox_metadata SYSTEM PUBLIC lib/rekordbox-metadata)
target_link_libraries(mixxx-lib PRIVATE rekordbox_metadata)

# Kaitai for reading Rekordbox libraries
add_library(Kaitai STATIC EXCLUDE_FROM_ALL
lib/kaitai/kaitaistream.cpp
lib/kaitai/kaitai/kaitaistream.cpp
)
target_include_directories(Kaitai SYSTEM PUBLIC lib/kaitai)
target_compile_definitions(Kaitai PRIVATE KS_STR_ENCODING_NONE)
target_link_libraries(rekordbox_metadata PRIVATE Kaitai)
target_link_libraries(mixxx-lib PRIVATE Kaitai)

# For determining MP3 timing offset cases in Rekordbox library feature
Expand Down Expand Up @@ -3884,7 +3871,7 @@ if (NOT CPACK_DEBIAN_PACKAGE_RELEASE)
set(CPACK_DEBIAN_PACKAGE_RELEASE 1)
endif()

set(CPACK_DEBIAN_DISTRIBUTION_RELEASES jammy lunar mantic noble)
set(CPACK_DEBIAN_DISTRIBUTION_RELEASES jammy mantic noble oracular)
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
52 changes: 52 additions & 0 deletions lib/kaitai/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
cmake_minimum_required (VERSION 3.11)
project (kaitai_struct_cpp_stl_runtime CXX)
enable_testing()

option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
option(BUILD_TESTS "Build tests" ON)

set (CMAKE_INCLUDE_CURRENT_DIR ON)

find_package(ZLIB)
find_package(Iconv)

set (HEADERS
kaitai/kaitaistream.h
kaitai/kaitaistruct.h
kaitai/exceptions.h
)

set (SOURCES
kaitai/kaitaistream.cpp
)

set(STRING_ENCODING_TYPE "ICONV" CACHE STRING "Set the way strings have to be encoded (ICONV|WIN32API|NONE|...)")

set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)

add_library (${PROJECT_NAME} ${HEADERS} ${SOURCES})
set_property(TARGET ${PROJECT_NAME} PROPERTY PUBLIC_HEADER ${HEADERS})
target_include_directories(${PROJECT_NAME} INTERFACE ${PROJECT_SOURCE_DIR})

if (ZLIB_FOUND)
target_link_libraries(${PROJECT_NAME} PRIVATE ZLIB::ZLIB)
target_compile_definitions(${PROJECT_NAME} PRIVATE -DKS_ZLIB)
endif()

if(Iconv_FOUND)
target_link_libraries(${PROJECT_NAME} PRIVATE Iconv::Iconv)
endif()

include(Common.cmake)

install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
PUBLIC_HEADER DESTINATION include/kaitai
)

# Add the tests
if(BUILD_TESTS)
add_subdirectory(tests)
endif()
17 changes: 17 additions & 0 deletions lib/kaitai/Common.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
if (STRING_ENCODING_TYPE STREQUAL "ICONV")
target_compile_definitions(${PROJECT_NAME} PRIVATE -DKS_STR_ENCODING_ICONV)
elseif (STRING_ENCODING_TYPE STREQUAL "WIN32API")
target_compile_definitions(${PROJECT_NAME} PRIVATE -DKS_STR_ENCODING_WIN32API)
elseif (STRING_ENCODING_TYPE STREQUAL "NONE")
target_compile_definitions(${PROJECT_NAME} PRIVATE -DKS_STR_ENCODING_NONE)
else()
# User action requested
endif()

# Maximum warnings emission, treat all warnings as errors
#
# This method was taken from https://www.pragmaticlinux.com/2022/07/enable-compiler-warnings-with-cmake/
target_compile_options(${PROJECT_NAME} PRIVATE
$<$<CXX_COMPILER_ID:MSVC>:/W4 /WX>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wall -Wextra -Wpedantic -Werror>
)
22 changes: 18 additions & 4 deletions lib/kaitai/LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,21 @@
Copyright 2016-2019 Kaitai Project: MIT license
MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Copyright (c) 2016-2022 Kaitai Project

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
File renamed without changes.
Loading

0 comments on commit 272fb16

Please sign in to comment.