From c2e956b69564521c32077f57c59676fbad876547 Mon Sep 17 00:00:00 2001 From: Jan Holthuis Date: Mon, 11 Jan 2021 22:35:59 +0100 Subject: [PATCH 1/7] musicbrainz: Rename crc.c to crc.cpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes this build warning: [ 49%] Building C object CMakeFiles/mixxx-lib.dir/src/musicbrainz/crc.c.o cc1: warning: command-line option ‘-Woverloaded-virtual’ is valid for C++/ObjC++ but not for C --- CMakeLists.txt | 2 +- src/musicbrainz/{crc.c => crc.cpp} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/musicbrainz/{crc.c => crc.cpp} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index e9ff9d5b9f0..6f61bba4e08 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -655,7 +655,7 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/mixxx.cpp src/mixxxapplication.cpp src/musicbrainz/chromaprinter.cpp - src/musicbrainz/crc.c + src/musicbrainz/crc.cpp src/musicbrainz/gzip.cpp src/musicbrainz/musicbrainz.cpp src/musicbrainz/musicbrainzxml.cpp diff --git a/src/musicbrainz/crc.c b/src/musicbrainz/crc.cpp similarity index 100% rename from src/musicbrainz/crc.c rename to src/musicbrainz/crc.cpp From 3af6b004ecc1bc6a971cd8bc12fe7c64ea1e8167 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 11 Jan 2021 22:05:04 +0000 Subject: [PATCH 2/7] Fix crash on case sensitive filesystems on Macos Mixxx failed to launch on case-sensitive filesystems on MacOS because it was unable to find its Qt plugins: it looks for `PlugIns` rather than `plugins`, which is what the directory was called. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b6f33d3f6e..757fe26568a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2664,7 +2664,7 @@ if(APPLE AND MACOS_BUNDLE) get_filename_component(_qt_plugin_file "${_qt_plugin_path}" NAME) get_filename_component(_qt_plugin_type "${_qt_plugin_path}" PATH) get_filename_component(_qt_plugin_type "${_qt_plugin_type}" NAME) - set(_qt_plugin_dest "${_prefix}/Contents/plugins/${_qt_plugin_type}") + set(_qt_plugin_dest "${_prefix}/Contents/PlugIns/${_qt_plugin_type}") install(FILES "${_qt_plugin_path}" DESTINATION "${_qt_plugin_dest}") set(${_qt_plugins_var} From b062ec04a47ab064064f0fe8399954db5aa77a7d Mon Sep 17 00:00:00 2001 From: Jan Holthuis Date: Tue, 12 Jan 2021 15:12:53 +0100 Subject: [PATCH 3/7] lp1911196: Do no print a warning if fonts directory is missing On Linux, the `fonts/` directory might not exist if Mixxx was installed via package manager. You might say "this is a hack" and you'd be right. Ideally, a skin should request what font it needs, then we check if that font is available in the Qt Font Database, and if not, we try to load it from the `fonts/` directory. This is just a band-aid. See this for details: - https://bugs.launchpad.net/mixxx/+bug/1911196 - https://github.com/mixxxdj/mixxx/pull/3458#discussion_r545470642 --- src/util/font.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/util/font.h b/src/util/font.h index f5b760e8e1d..d421623842f 100644 --- a/src/util/font.h +++ b/src/util/font.h @@ -12,7 +12,15 @@ class FontUtils { static void initializeFonts(const QString& resourcePath) { QDir fontsDir(resourcePath); if (!fontsDir.cd("fonts")) { - qWarning("FontUtils::initializeFonts: cd fonts failed"); +#ifdef __LINUX__ + // If the fonts already have been installed via the package + // manager, this is okay. We currently have no way to verify that + // though. + qDebug() +#else + qWarning() +#endif + << "No fonts directory found in" << resourcePath; return; } From cd691042c3d121c7190904f3d91206ad5a989259 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 12 Jan 2021 21:53:27 +0000 Subject: [PATCH 4/7] Fix Mac build on case sensitive filesystems Fixes https://bugs.launchpad.net/mixxx/+bug/1911064 Fix suggested by @Be-ing changes to lowercase to match the CMake targets instead of the other way around, so everything is copied to `mixxx.app` (lowercase) but the app still ends up with the correct case once packaged, so this seems simpler. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b6f33d3f6e..bfead079c90 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1062,7 +1062,7 @@ set(MIXXX_INSTALL_DOCDIR "./doc") set(MIXXX_INSTALL_LICENSEDIR "./doc") if (APPLE AND MACOS_BUNDLE) set(MIXXX_INSTALL_BINDIR "${CMAKE_INSTALL_BINDIR}") - set(MACOS_BUNDLE_NAME Mixxx) + set(MACOS_BUNDLE_NAME mixxx) set(MIXXX_INSTALL_PREFIX "${MACOS_BUNDLE_NAME}.app") set(MIXXX_INSTALL_DATADIR "${MIXXX_INSTALL_PREFIX}/Contents/Resources") set(MIXXX_INSTALL_DOCDIR "${MIXXX_INSTALL_DATADIR}") From 1791c63be58e5c560ce9ff001d42e72c7067b230 Mon Sep 17 00:00:00 2001 From: Swiftb0y <12380386+Swiftb0y@users.noreply.github.com> Date: Tue, 12 Jan 2021 23:43:31 +0100 Subject: [PATCH 5/7] changelog.md: merge 2.2.5 fixes into 2.3 section --- CHANGELOG.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 234b037d593..05f7379da5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ * Show when passthrough mode is active on overview waveforms [#2575](https://github.com/mixxxdj/mixxx/pull/2575) [#2616](https://github.com/mixxxdj/mixxx/pull/2616) * Changed format of currently playing track in window title from "artist, title" to "artist - title" [#2807](https://github.com/mixxxdj/mixxx/pull/2807) * Workaround Linux skin change crash [#3144](https://github.com/mixxxdj/mixxx/pull/3144) [lp:1885009](https://bugs.launchpad.net/mixxx/+bug/1885009) +* Fix touch control [lp:1895431](https://bugs.launchpad.net/mixxx/+bug/1895431) ### Music Feature Analysis ### * Multithreaded analysis for much faster batch analysis on multicore CPUs [#1624](https://github.com/mixxxdj/mixxx/pull/1624) [#2142](https://github.com/mixxxdj/mixxx/pull/2142) [lp:1641153](https://bugs.launchpad.net/mixxx/+bug/1641153) @@ -49,6 +50,9 @@ * MusicBrainz: Handle 301 status response [#2510](https://github.com/mixxxdj/mixxx/pull/2510) * MusicBrainz: Add extended metadata support [lp:1581256](https://bugs.launchpad.net/mixxx/+bug/1581256) [#2522](https://github.com/mixxxdj/mixxx/pull/2522) * TagLib: Fix detection of empty or missing file tags [lp:1865957](https://bugs.launchpad.net/mixxx/+bug/1865957) [#2535](https://github.com/mixxxdj/mixxx/pull/2535) +* Fix caching of duplicate tracks that reference the same file [#3027](https://github.com/mixxxdj/mixxx/pull/3027) +* Use 6 instead of only 4 compatible musical keys (major/minor) [#3205](https://github.com/mixxxdj/mixxx/pull/3205) +* Fix possible crash when trying to refocus the tracks table while another Mixxx window has focus [#3201](https://github.com/mixxxdj/mixxx/pull/3201) ### Audio Codecs ### * Add FFmpeg audio decoder, bringing support for ALAC files [#1356](https://github.com/mixxxdj/mixxx/pull/1356) @@ -56,6 +60,11 @@ * Add Opus streaming and recording support. [lp:1338413](https://bugs.launchpad.net/mixxx/+bug/1338413) * Remove support for SoundSource plugins because the code was not well-maintained and could lead to crashes [lp:1792747](https://bugs.launchpad.net/mixxx/+bug/1792747) +### Audio Engine ### +* Fix loss of precision when dealing with floating-point sample positions while setting loop out position and seeking using vinyl control [#3126](https://github.com/mixxxdj/mixxx/pull/3126) [#3127](https://github.com/mixxxdj/mixxx/pull/3127) +* Prevent moving a loop beyond track end [#3117](https://github.com/mixxxdj/mixxx/pull/3117) [lp:1799574](https://bugs.launchpad.net/mixxx/+bug/1799574) +* Fix possible memory corruption using JACK on Linux [#3160](https://github.com/mixxxdj/mixxx/pull/3160) + ### Controllers ### * Improve workflow for configuring controller mappings and editing mappings [#2569](https://github.com/mixxxdj/mixxx/pull/2569) * Improve error reporting from controller scripts [#2588](https://github.com/mixxxdj/mixxx/pull/2588) @@ -66,24 +75,16 @@ * Add controller mapping for Roland DJ-505 [#2111](https://github.com/mixxxdj/mixxx/pull/2111) * Update controller mapping for Allen & Heath Xone K2 to add intro/outro cues [#2236](https://github.com/mixxxdj/mixxx/pull/2236) * Add controller mapping for Numark iDJ Live II [#2818](https://github.com/mixxxdj/mixxx/pull/2818) +* Add controller mapping for Hercules DJControl Inpulse 200 [#2542](https://github.com/mixxxdj/mixxx/pull/2542) +* Add controller mapping for Hercules DJControl Jogvision [#2370](https://github.com/mixxxdj/mixxx/pull/2370) ### Development ### * Add CMake build system with Ccache support for faster compilation time [#2280](https://github.com/mixxxdj/mixxx/pull/2280) * Note: The old SCons build system is still supported for 2.3. We will be removing it for Mixxx 2.4. * Make Mixxx compile even though `QT_NO_OPENGL` or `QT_OPENGL_ES_2` is defined (fixes build on Raspberry Pi) [lp:1863440](https://bugs.launchpad.net/mixxx/+bug/1863440) [#2504](https://github.com/mixxxdj/mixxx/pull/2504) -## [2.2.5](https://launchpad.net/mixxx/+milestone/2.2.5) (Unreleased) - -* Add controller mapping for Hercules DJControl Inpulse 200 [#2542](https://github.com/mixxxdj/mixxx/pull/2542) -* Add controller mapping for Hercules DJControl Jogvision [#2370](https://github.com/mixxxdj/mixxx/pull/2370) +### Packaging ### * Fix missing manual in deb package [lp:1889776](https://bugs.launchpad.net/mixxx/+bug/1889776) -* Fix caching of duplicate tracks that reference the same file [#3027](https://github.com/mixxxdj/mixxx/pull/3027) -* Fix loss of precision when dealing with floating-point sample positions while setting loop out position and seeking using vinyl control [#3126](https://github.com/mixxxdj/mixxx/pull/3126) [#3127](https://github.com/mixxxdj/mixxx/pull/3127) -* Prevent moving a loop beyond track end [#3117](https://github.com/mixxxdj/mixxx/pull/3117) [lp:1799574](https://bugs.launchpad.net/mixxx/+bug/1799574) -* Use 6 instead of only 4 compatible musical keys (major/minor) [#3205](https://github.com/mixxxdj/mixxx/pull/3205) -* Fix possible memory corruption using JACK on Linux [#3160](https://github.com/mixxxdj/mixxx/pull/3160) -* Fix possible crash when trying to refocus the tracks table while another Mixxx window has focus [#3201](https://github.com/mixxxdj/mixxx/pull/3201) -* Fix touch control [lp:1895431](https://bugs.launchpad.net/mixxx/+bug/1895431) ## [2.2.4](https://launchpad.net/mixxx/+milestone/2.2.4) (2020-06-27) From 089aad65790c733d6e782abf317a5c03fd708382 Mon Sep 17 00:00:00 2001 From: Swiftb0y <12380386+Swiftb0y@users.noreply.github.com> Date: Tue, 12 Jan 2021 23:47:16 +0100 Subject: [PATCH 6/7] changelog.md: add #3512 entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05f7379da5e..657ea276d4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ * Changed format of currently playing track in window title from "artist, title" to "artist - title" [#2807](https://github.com/mixxxdj/mixxx/pull/2807) * Workaround Linux skin change crash [#3144](https://github.com/mixxxdj/mixxx/pull/3144) [lp:1885009](https://bugs.launchpad.net/mixxx/+bug/1885009) * Fix touch control [lp:1895431](https://bugs.launchpad.net/mixxx/+bug/1895431) +* Fix broken knob interaction on touchscreens [#3512](https://github.com/mixxxdj/mixxx/pull/3512) ### Music Feature Analysis ### * Multithreaded analysis for much faster batch analysis on multicore CPUs [#1624](https://github.com/mixxxdj/mixxx/pull/1624) [#2142](https://github.com/mixxxdj/mixxx/pull/2142) [lp:1641153](https://bugs.launchpad.net/mixxx/+bug/1641153) From 142c278faac38913bc229b88aefdef80be9eea21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Thu, 14 Jan 2021 08:47:24 +0100 Subject: [PATCH 7/7] set set(THREADS_PREFER_PTHREAD_FLAG ON) as recomendet --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6cde3a0097c..b747eac6161 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2112,6 +2112,7 @@ if(WIN32 AND STATIC_DEPS) endif() # Threads +set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) target_link_libraries(mixxx-lib PUBLIC Threads::Threads)