diff --git a/CHANGELOG.md b/CHANGELOG.md index 63e3fd38cda..1b8cc79f0cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * Prevent wrong cover art display due to hash conflicts [#2524](https://github.com/mixxxdj/mixxx/pull/2524) [#4904](https://github.com/mixxxdj/mixxx/pull/4904) * Add background color for quick cover art preview [#2524](https://github.com/mixxxdj/mixxx/pull/2524) +* Fix coverart tooltip if cover is not cached [#12087](https://github.com/mixxxdj/mixxx/pull/12087) * Add cover art fetcher to the Musicbrainz dialog [#10908](https://github.com/mixxxdj/mixxx/pull/10908) [#4871](https://github.com/mixxxdj/mixxx/pull/4871) @@ -13,6 +14,8 @@ [#10796](https://github.com/mixxxdj/mixxx/issues/10796) [#10902](https://github.com/mixxxdj/mixxx/pull/10902) [#4851](https://github.com/mixxxdj/mixxx/pull/4851) + [#11938](https://github.com/mixxxdj/mixxx/pull/11938) [#11086](https://github.com/mixxxdj/mixxx/issues/11086) [#12041](https://github.com/mixxxdj/mixxx/pull/12041) [#12300](https://github.com/mixxxdj/mixxx/pull/12300) +* CoverArtCache refactoring + Fix scrolling lag after updating Mixxx [#12009](https://github.com/mixxxdj/mixxx/pull/12009) ### Music Library @@ -32,7 +35,19 @@ [#4102](https://github.com/mixxxdj/mixxx/pull/4102) [#4143](https://github.com/mixxxdj/mixxx/pull/4143) [#4463](https://github.com/mixxxdj/mixxx/pull/4463) + [#11815](https://github.com/mixxxdj/mixxx/pull/11815) + [#12309](https://github.com/mixxxdj/mixxx/pull/12309) + [#12005](https://github.com/mixxxdj/mixxx/pull/12005) + [#11816](https://github.com/mixxxdj/mixxx/pull/11816) + [#11720](https://github.com/mixxxdj/mixxx/pull/11720) + [#11834](https://github.com/mixxxdj/mixxx/pull/11834) + [#12452](https://github.com/mixxxdj/mixxx/pull/12452) + [#11979](https://github.com/mixxxdj/mixxx/pull/11979) * Rekordbox: Save all loops and correct AAC timing offset for CoreAudio [#2779](https://github.com/mixxxdj/mixxx/pull/2779) +* Rekordbox: Fix missing playlists due to invalid child ID [#10955](https://github.com/mixxxdj/mixxx/pull/10955) +* Rekordbox: Fix unhandled exception when parsing corrupt PDB files + [#10452](https://github.com/mixxxdj/mixxx/issues/10452) + [#4040](https://github.com/mixxxdj/mixxx/pull/4040) * Improve log messages during schema migration [#2979](https://github.com/mixxxdj/mixxx/pull/2979) * Search related tracks in collection [#3181](https://github.com/mixxxdj/mixxx/pull/3181) @@ -66,6 +81,7 @@ [#11207](https://github.com/mixxxdj/mixxx/pull/11207) [#11289](https://github.com/mixxxdj/mixxx/pull/11289) [#11287](https://github.com/mixxxdj/mixxx/issues/11287) +* Search: Allow to use := and quotes to find exact matches [#12063](https://github.com/mixxxdj/mixxx/pull/12063) [#10699](https://github.com/mixxxdj/mixxx/issues/10699) * Add new "[AutoDJ],add_random_track" to make this feature accessible from controllers [#3076](https://github.com/mixxxdj/mixxx/pull/3076) * Add new library column that shows the last time a track was played [#3140](https://github.com/mixxxdj/mixxx/pull/3140) @@ -73,9 +89,13 @@ [#3494](https://github.com/mixxxdj/mixxx/pull/3494) [#3596](https://github.com/mixxxdj/mixxx/pull/3596) [#3740](https://github.com/mixxxdj/mixxx/pull/3740) -* Improve presentation of the history library tree +* Improve presentation of the History library tree [#2996](https://github.com/mixxxdj/mixxx/pull/2996) [#4298](https://github.com/mixxxdj/mixxx/pull/4298) [#10533](https://github.com/mixxxdj/mixxx/issues/10533) +* History: Fix sidebar context menu actions [#4384](https://github.com/mixxxdj/mixxx/pull/4384) +* Fix assertion when navigating History playlists [#4297](https://github.com/mixxxdj/mixxx/pull/4297) [#10529](https://github.com/mixxxdj/mixxx/issues/10529) +* Add History cleanup options [#4726](https://github.com/mixxxdj/mixxx/pull/4726) [#9259](https://github.com/mixxxdj/mixxx/issues/9259) [#10714](https://github.com/mixxxdj/mixxx/issues/10714) +* Fix update of play count after removing tracks from history playlist [#12258](https://github.com/mixxxdj/mixxx/pull/12258) [#12046](https://github.com/mixxxdj/mixxx/issues/12046) [#12256](https://github.com/mixxxdj/mixxx/issues/12256) * Don't store or update metadata of missing tracks in the Mixxx database to prevent inconsistencies with file tags [#3811](https://github.com/mixxxdj/mixxx/pull/3811) * Code improvements and minor bug fixes when importing track metadata [#3851](https://github.com/mixxxdj/mixxx/pull/3851) @@ -106,7 +126,6 @@ [#4154](https://github.com/mixxxdj/mixxx/pull/4154) [#4165](https://github.com/mixxxdj/mixxx/pull/4165) [#4168](https://github.com/mixxxdj/mixxx/pull/4168) -* Add support for m4v files [#4088](https://github.com/mixxxdj/mixxx/pull/4088) * Adjust ReplayGain: Allow user to update the replaygain value based on a deck pregain value [#4031](https://github.com/mixxxdj/mixxx/pull/4031) * Automatic analyze and optimize database [#4199](https://github.com/mixxxdj/mixxx/pull/4199) * Re-import and update metadata after files have been modified when loading tracks [#4218](https://github.com/mixxxdj/mixxx/pull/4218) @@ -116,10 +135,10 @@ * Library sidebar: add F2 and Del/Backspace shortcuts for renaming & deleting playlists and crates [#11172](https://github.com/mixxxdj/mixxx/pull/11172) [#11235](https://github.com/mixxxdj/mixxx/pull/11235) -* History: Fix sidebar context menu actions [#4384](https://github.com/mixxxdj/mixxx/pull/4384) -* Fix assertion when navigating history playlists [#4297](https://github.com/mixxxdj/mixxx/pull/4297) [#10529](https://github.com/mixxxdj/mixxx/issues/10529) -* Track table: Add keyboard shortcut Ctrl+Enter to open track properties [#4347](https://github.com/mixxxdj/mixxx/pull/4347) -* Track table: Home/End keys jump to first/last row [#4850](https://github.com/mixxxdj/mixxx/pull/4850) +* Tracks table: Add keyboard shortcut Ctrl+Enter to open track properties [#4347](https://github.com/mixxxdj/mixxx/pull/4347) +* Tracks table: Home/End keys jump to first/last row [#4850](https://github.com/mixxxdj/mixxx/pull/4850) +* Tracks table: dont wrap around if Shift is pressed [#12391](https://github.com/mixxxdj/mixxx/pull/12391) +* Tracks table: avoid wrong pre-selection with no tracks selected previously [#12321](https://github.com/mixxxdj/mixxx/pull/12321) [#12064](https://github.com/mixxxdj/mixxx/issues/12064) * Re-enable shortcuts after editing controls [#4360](https://github.com/mixxxdj/mixxx/pull/4360) [#10184](https://github.com/mixxxdj/mixxx/issues/10184) @@ -137,9 +156,11 @@ * Add popup before deletion playlist and crates [#4697](https://github.com/mixxxdj/mixxx/pull/4697) [#4700](https://github.com/mixxxdj/mixxx/pull/4700) [#10294](https://github.com/mixxxdj/mixxx/issues/10294) * Experimental: Fix writing of undefined MusicBrainz Recording ID [#4694](https://github.com/mixxxdj/mixxx/pull/4694) * Traktor library: fix importing track key [#4701](https://github.com/mixxxdj/mixxx/pull/4701) -* Add History cleanup options [#4726](https://github.com/mixxxdj/mixxx/pull/4726) [#9259](https://github.com/mixxxdj/mixxx/issues/9259) [#10714](https://github.com/mixxxdj/mixxx/issues/10714) * Track Menu: Add action to select loaded track in library [#4740](https://github.com/mixxxdj/mixxx/pull/4740) -* Track Menu: Add menu for Analyze and Reanalyze [#4806](https://github.com/mixxxdj/mixxx/pull/4806) +* Track Menu: Add menu for Analyze and Reanalyze + [#4806](https://github.com/mixxxdj/mixxx/pull/4806) + [#11873](https://github.com/mixxxdj/mixxx/pull/11873) + [#11872](https://github.com/mixxxdj/mixxx/issues/11872) * Track Menu: Add support for overriding analyzis settings about variable/constant BPM on a per-track basis [#10931](https://github.com/mixxxdj/mixxx/pull/10931) * Track Menu: Add menu for looking up track metadata at Discogs, Soundcoud and LastFM [#4772](https://github.com/mixxxdj/mixxx/pull/4772) [#4836](https://github.com/mixxxdj/mixxx/pull/4836) * Track Menu: Add Remove from disk and fix undeleted message and progress dialog @@ -150,18 +171,38 @@ [#11577](https://github.com/mixxxdj/mixxx/issues/11577) [#11583](https://github.com/mixxxdj/mixxx/pull/11583) * Track Menu: Allow to clear the comment field [#4722](https://github.com/mixxxdj/mixxx/pull/4722) [#10615](https://github.com/mixxxdj/mixxx/issues/10615) -* Track Menu: Allow to reset loops and also via "[ChannelN], loop_remove" control object [#4802](https://github.com/mixxxdj/mixxx/pull/4802) [#10748](https://github.com/mixxxdj/mixxx/issues/10748) +* Track Menu: Allow to reset loops and also via "[ChannelN], loop_remove" control object + [#4802](https://github.com/mixxxdj/mixxx/pull/4802) + [#10748](https://github.com/mixxxdj/mixxx/issues/10748) + [#12392](https://github.com/mixxxdj/mixxx/pull/12392) + [#12521](https://github.com/mixxxdj/mixxx/pull/12521) * Track Menu: Show 'Update ReplayGain' only in decks' menus [#4719](https://github.com/mixxxdj/mixxx/pull/4719) * Track Menu: Fix showing wrong Remove hotkey [#11171](https://github.com/mixxxdj/mixxx/pull/11171) [#10761](https://github.com/mixxxdj/mixxx/issues/10761) +* Track Menu: Restore "Remove from playlist" in History [#11591](https://github.com/mixxxdj/mixxx/pull/11591) [#10974](https://github.com/mixxxdj/mixxx/issues/10974) +* Track menu: Enable Lock BPM action if any selected track BPM is unlocked [#12385](https://github.com/mixxxdj/mixxx/pull/12385) +* Track menu: Add "Delete Track Files" entry as move to trash with Qt >= 5.15 [#3212](https://github.com/mixxxdj/mixxx/pull/3212) [#11842](https://github.com/mixxxdj/mixxx/pull/11842) +* Tracks table: Fix initial track selection with BackTab [#11130](https://github.com/mixxxdj/mixxx/pull/11130) +* Tracks table: Try to restore selection position after track removal [#11196](https://github.com/mixxxdj/mixxx/pull/11196) +* Tracks table: Remove parenthesis from play counter display [#11357](https://github.com/mixxxdj/mixxx/pull/11357) * Remove/hide tracks dialog: Add 'Don't ask again' checkbox [#11239](https://github.com/mixxxdj/mixxx/pull/11239) * Fix exporting m3u files with tracks and special characters by using the URL format [#4752](https://github.com/mixxxdj/mixxx/pull/4752) * Library Scanner: Sort files before adding them [#10919](https://github.com/mixxxdj/mixxx/pull/10919) +* Library Scanner: Fix track relocation query [#12462](https://github.com/mixxxdj/mixxx/pull/12462) * Show time in addition to the date in the timestamp column [#4900](https://github.com/mixxxdj/mixxx/pull/4900) [#10726](https://github.com/mixxxdj/mixxx/issues/10726) [#11020](https://github.com/mixxxdj/mixxx/pull/11020) * Wrap selection around at the bottom/top of the library's tracks list [#11090](https://github.com/mixxxdj/mixxx/pull/11090) [#11100](https://github.com/mixxxdj/mixxx/pull/11100) * MenuBar: Add shortcut for rescanning library [#11136](https://github.com/mixxxdj/mixxx/pull/11136) -* Tracks table: Fix initial track selection with BackTab [#11130](https://github.com/mixxxdj/mixxx/pull/11130) -* Tracks table: Try to restore selection position after track removal [#11196](https://github.com/mixxxdj/mixxx/pull/11196) -* Tracks table: Remove parenthesis from play counter display [#11357](https://github.com/mixxxdj/mixxx/pull/11357) +* macOS scrollbar: Make sure last track is shown in library [#11669](https://github.com/mixxxdj/mixxx/pull/11669) [#9495](https://github.com/mixxxdj/mixxx/issues/9495) +* library: right align BPM, duration & bitrate values [#11634](https://github.com/mixxxdj/mixxx/pull/11634) [#11668](https://github.com/mixxxdj/mixxx/pull/11668) [#11657](https://github.com/mixxxdj/mixxx/issues/11657) +* Lib sidebar: right click selection fixes + [#11574](https://github.com/mixxxdj/mixxx/pull/11574) + [#11208](https://github.com/mixxxdj/mixxx/pull/11208) + [#11712](https://github.com/mixxxdj/mixxx/pull/11712) +* Refocus library, after editing skin controls [#11767](https://github.com/mixxxdj/mixxx/pull/11767) +* Crates: only store or activate sibling crate if it's valid [#11770](https://github.com/mixxxdj/mixxx/pull/11770) [#11769](https://github.com/mixxxdj/mixxx/issues/11769) +* Library: fix performance with large playlists [#11851](https://github.com/mixxxdj/mixxx/pull/11851) [#11724](https://github.com/mixxxdj/mixxx/issues/11724) +* Playlists: simplify import function, add whitespace before the # suffix [#12246](https://github.com/mixxxdj/mixxx/pull/12246) +* Library: add multi-line editor delegate for comment column [#11752](https://github.com/mixxxdj/mixxx/pull/11752) +* Destroy PlayerInfo after EngineRecord is stopped to fix a debug assertion [#12341](https://github.com/mixxxdj/mixxx/pull/12341) [#12242](https://github.com/mixxxdj/mixxx/issues/12242) * iTunes: Modularize importer and use `iTunesLibrary` on macOS for compatibility with `Music.app` [#11353](https://github.com/mixxxdj/mixxx/pull/11353) [#11256](https://github.com/mixxxdj/mixxx/issues/11256) @@ -170,6 +211,15 @@ [#11503](https://github.com/mixxxdj/mixxx/pull/11503) [#11500](https://github.com/mixxxdj/mixxx/pull/11500) [#11509](https://github.com/mixxxdj/mixxx/pull/11509) +* iTunes: Fix sporadic crash during unit tests due to a not initialized reference. [#11666](https://github.com/mixxxdj/mixxx/pull/11666) +* iTunes: Permit duplicate playlist names by identifying playlists by id (rather than name) [#11794](https://github.com/mixxxdj/mixxx/pull/11794) +* iTunes: Re-enable test and add `composer`, `playCount`, `lastPlayedAt` and `dateAdded` to model [#11948](https://github.com/mixxxdj/mixxx/pull/11948) +* Track Properties: Don't clear unsaved properties when updating star rating [#11565](https://github.com/mixxxdj/mixxx/pull/11565) [#11540](https://github.com/mixxxdj/mixxx/issues/11540) +* Track Properties: Focus Double-clicked property field for edit + [#11764](https://github.com/mixxxdj/mixxx/pull/11764) + [#11804](https://github.com/mixxxdj/mixxx/pull/11804) + [#11802](https://github.com/mixxxdj/mixxx/issues/11802) +* Track Properties: Display the samplerate [#12418](https://github.com/mixxxdj/mixxx/pull/12418) * Refactoring of library code [#2756](https://github.com/mixxxdj/mixxx/pull/2756) [#2717](https://github.com/mixxxdj/mixxx/pull/2717) @@ -196,6 +246,7 @@ [#4893](https://github.com/mixxxdj/mixxx/pull/4893) [#10861](https://github.com/mixxxdj/mixxx/pull/10861) [#10871](https://github.com/mixxxdj/mixxx/pull/10871) + [#12082](https://github.com/mixxxdj/mixxx/pull/12082) ### Sync @@ -213,6 +264,13 @@ [#4149](https://github.com/mixxxdj/mixxx/pull/4149) [#4276](https://github.com/mixxxdj/mixxx/pull/4276) [#3944](https://github.com/mixxxdj/mixxx/pull/3944) + [#11828](https://github.com/mixxxdj/mixxx/pull/11828) + [#11831](https://github.com/mixxxdj/mixxx/pull/11831) + [#11829](https://github.com/mixxxdj/mixxx/issues/11829) + [#12431](https://github.com/mixxxdj/mixxx/pull/12431) + [#11788](https://github.com/mixxxdj/mixxx/issues/11788) + [#12234](https://github.com/mixxxdj/mixxx/pull/12234) + [#12499](https://github.com/mixxxdj/mixxx/pull/12499) * Fix issue with half/double BPM calculation when using sync [#3899](https://github.com/mixxxdj/mixxx/pull/3899) [#3706](https://github.com/mixxxdj/mixxx/pull/3706) @@ -226,22 +284,34 @@ ### Audio Codecs +* Add support for m4v files [#4088](https://github.com/mixxxdj/mixxx/pull/4088) * Fix recovering from FAAD2 decoding issues [#2850](https://github.com/mixxxdj/mixxx/pull/2850) -* SoundSourceMP3: Log recoverable errors as info instead of warning [#4365](https://github.com/mixxxdj/mixxx/pull/4365) -* Fix type detection of AIFF files [#4364](https://github.com/mixxxdj/mixxx/pull/4364) +* MP3: Log recoverable errors as info instead of warning [#4365](https://github.com/mixxxdj/mixxx/pull/4365) +* MP3: Garbage detection fix [#12464](https://github.com/mixxxdj/mixxx/pull/12464) +* MP3: Improve decoding precision on Windows [#11911](https://github.com/mixxxdj/mixxx/pull/11911) [#11888](https://github.com/mixxxdj/mixxx/issues/11888) * AAC encoder: Fixed a memory leak [#4386](https://github.com/mixxxdj/mixxx/pull/4386) [#4408](https://github.com/mixxxdj/mixxx/pull/4408) * Improve robustness of file type detection by considering the actual MIME type of the content. [#7970](https://github.com/mixxxdj/mixxx/issues/7970) [#4356](https://github.com/mixxxdj/mixxx/pull/4356) [#4357](https://github.com/mixxxdj/mixxx/pull/4357) -* Fix file type detection when file has wrong file extension by determining the MIME type from content [#4602](https://github.com/mixxxdj/mixxx/pull/4602) [#4600](https://github.com/mixxxdj/mixxx/pull/4600) -* Fix handling of files with wrong suffix +* Fix file type detection when file has wrong file extension by determining the MIME type from content + [#4602](https://github.com/mixxxdj/mixxx/pull/4602) + [#4600](https://github.com/mixxxdj/mixxx/pull/4600) [#4615](https://github.com/mixxxdj/mixxx/pull/4615) [#7970](https://github.com/mixxxdj/mixxx/issues/7970) [#10624](https://github.com/mixxxdj/mixxx/issues/10624) [#4683](https://github.com/mixxxdj/mixxx/pull/4683) [#10669](https://github.com/mixxxdj/mixxx/issues/10669) +* Fix type detection of AIFF files [#4364](https://github.com/mixxxdj/mixxx/pull/4364) * Fix synchronization time stamps of ModPlug files [#4826](https://github.com/mixxxdj/mixxx/pull/4826) [#10758](https://github.com/mixxxdj/mixxx/issues/10758) * ID3v2 parsing: Improve log warnings [#4610](https://github.com/mixxxdj/mixxx/pull/4610) * ID3v2 parsing: Fix inconsistent import of comment field [#11249](https://github.com/mixxxdj/mixxx/pull/11249) * Enable Modpug and Wavpack Support on macOS [#11182](https://github.com/mixxxdj/mixxx/pull/11182) [#11119](https://github.com/mixxxdj/mixxx/issues/11119) +* Fix missing file name in file metadata error message [#11965](https://github.com/mixxxdj/mixxx/pull/11965) [#11964](https://github.com/mixxxdj/mixxx/issues/11964) +* Verify the "first sound" of as an analysis sanity check + [#4773](https://github.com/mixxxdj/mixxx/pull/4773) + [#11887](https://github.com/mixxxdj/mixxx/pull/11887) + [#11946](https://github.com/mixxxdj/mixxx/pull/11946) + [#11940](https://github.com/mixxxdj/mixxx/issues/11940) +* Fix zeros in the first m4a chunk on Linux [#11879](https://github.com/mixxxdj/mixxx/pull/11879) +* Fix overlapping buffers when decoding m4a files using ffmpeg [#11760](https://github.com/mixxxdj/mixxx/pull/11760) [#11545](https://github.com/mixxxdj/mixxx/issues/11545) ### Audio Engine @@ -270,10 +340,22 @@ [#11047](https://github.com/mixxxdj/mixxx/pull/11047) * Rubberband: Add missing padding, preventing it from eating the initial transient [#11120](https://github.com/mixxxdj/mixxx/pull/11120) * Rubberband: Improve mono-compatibility for R3 "finer" [#11418](https://github.com/mixxxdj/mixxx/pull/11418) -* Verify the "first sound" of as an analysis sanity check [#4773](https://github.com/mixxxdj/mixxx/pull/4773) * Fix a possible crash when ejecting a track [#11334](https://github.com/mixxxdj/mixxx/pull/11334) [#11257](https://github.com/mixxxdj/mixxx/issues/11257) * Add a range limits for beatjump_size of 512 [#11248](https://github.com/mixxxdj/mixxx/pull/11248) [#11203](https://github.com/mixxxdj/mixxx/issues/11203) * Slip Mode: Preserve active (regular) loop when leaving Slip Mode [#11435](https://github.com/mixxxdj/mixxx/pull/11435) [#6993](https://github.com/mixxxdj/mixxx/issues/6993) +* Auto DJ: Fix sharp cut transition after cueing a track without a defined intro [#11629](https://github.com/mixxxdj/mixxx/pull/11629) [#11621](https://github.com/mixxxdj/mixxx/issues/11621) +* Auto DJ: Don't use removed Intro end and outro start makers, use transition time instead [#11830](https://github.com/mixxxdj/mixxx/pull/11830) +* Auto DJ: Fix GUI freeze when updating duration for many selected tracks + [#12530](https://github.com/mixxxdj/mixxx/pull/12530) + [#12520](https://github.com/mixxxdj/mixxx/issues/12520) + [#12537](https://github.com/mixxxdj/mixxx/pull/12537) +* Fix: possible cash when ejecting track from a controller [#11884](https://github.com/mixxxdj/mixxx/pull/11884) [#11819](https://github.com/mixxxdj/mixxx/issues/11819) +* KeyControl: fix keylock/unlock bugs, reset pitch_adjust [4710](https://github.com/mixxxdj/mixxx/pull/4710) +* Looping: fix asserts for loop move [#11735](https://github.com/mixxxdj/mixxx/pull/11735) +* ReadAheadManager: fix loop wraparound reader condition [#11717](https://github.com/mixxxdj/mixxx/pull/11717) +* Fix wrong visual play position when inside loop [#11840](https://github.com/mixxxdj/mixxx/pull/11840) [#11836](https://github.com/mixxxdj/mixxx/issues/11836) +* Slip mode: consider loop for background position only if it was enabled before slip [#11848](https://github.com/mixxxdj/mixxx/pull/11848) [#11844](https://github.com/mixxxdj/mixxx/issues/11844) +* Looping: reset loop_end_pos on eject [#12224](https://github.com/mixxxdj/mixxx/pull/12224) [#12223](https://github.com/mixxxdj/mixxx/issues/12223) * Refactoring of beatgrid/beatmap code [#4044](https://github.com/mixxxdj/mixxx/pull/4044) [#4048](https://github.com/mixxxdj/mixxx/pull/4048) @@ -299,7 +381,6 @@ [#4336](https://github.com/mixxxdj/mixxx/pull/4336) [#4409](https://github.com/mixxxdj/mixxx/pull/4409) [#4361](https://github.com/mixxxdj/mixxx/pull/4361) - [#4255](https://github.com/mixxxdj/mixxx/pull/4455) [#4488](https://github.com/mixxxdj/mixxx/pull/4488) [#4411](https://github.com/mixxxdj/mixxx/pull/4411) [#4498](https://github.com/mixxxdj/mixxx/pull/4498) @@ -308,6 +389,10 @@ [#4510](https://github.com/mixxxdj/mixxx/pull/4510) [#4607](https://github.com/mixxxdj/mixxx/pull/4607) [#11263](https://github.com/mixxxdj/mixxx/pull/11263) + [#12368](https://github.com/mixxxdj/mixxx/pull/12368) + [#12349](https://github.com/mixxxdj/mixxx/pull/12349) + [#12071](https://github.com/mixxxdj/mixxx/issues/12071) + [#12016](https://github.com/mixxxdj/mixxx/pull/12016) * Refactoring of audio engine code [#2762](https://github.com/mixxxdj/mixxx/pull/2762) [#2801](https://github.com/mixxxdj/mixxx/pull/2801) @@ -360,26 +445,48 @@ ### Controller Mappings -* Novation Launchpad: Update controller scripts [#2600](https://github.com/mixxxdj/mixxx/pull/2600) -* Roland DJ-505: Make blinking lights blink in sync and other improvements [#4159](https://github.com/mixxxdj/mixxx/pull/4159) [#4517](https://github.com/mixxxdj/mixxx/pull/4517) * Behringer DDM4000 mixer: Update controller mapping [#4262](https://github.com/mixxxdj/mixxx/pull/4262) [#4799](https://github.com/mixxxdj/mixxx/pull/4799) -* Numark DJ2GO2 Touch: Fix sampler, hotcue, beatloop buttons [#4287](https://github.com/mixxxdj/mixxx/pull/4287) -* Denon MC6000MK2: Improve mapping code [#4385](https://github.com/mixxxdj/mixxx/pull/4385) +* Hercules DJControl MIX: New mapping [#11279](https://github.com/mixxxdj/mixxx/pull/11279) +* Hercules DJ Console RMX: Replace not defined CO name pitch_reset by pitch_set_default [#12441](https://github.com/mixxxdj/mixxx/pull/12441) +* Korg nanoKONTROL2: Removed Mixco scripts [#2682](https://github.com/mixxxdj/mixxx/pull/2682) +* Korg nanoKONTROL2: Don't try to configure more than 4 main decks [#12322](https://github.com/mixxxdj/mixxx/pull/12322) [#12317](https://github.com/mixxxdj/mixxx/issues/12317) +* MAudio Xponent: Removed along with Mixco scripts [#2682](https://github.com/mixxxdj/mixxx/pull/2682) +* MIDI4lights: Give beginTimer callbacks the anonymous function expression form [#12048](https://github.com/mixxxdj/mixxx/pull/12048) +* Novation Twitch: Removed along with Mixco scripts [#2682](https://github.com/mixxxdj/mixxx/pull/2682) +* Novation Launchpad: Update controller scripts [#2600](https://github.com/mixxxdj/mixxx/pull/2600) [#11914](https://github.com/mixxxdj/mixxx/pull/11914) +* Numark DJ2GO2 Touch: Fix sampler, hotcue, beatloop buttons [#4287](https://github.com/mixxxdj/mixxx/pull/4287) [#11595](https://github.com/mixxxdj/mixxx/pull/11595) +* Numark MixTrack Pro 3: Fix beginTimer callback syntax [#12401](https://github.com/mixxxdj/mixxx/pull/12401) [#12369](https://github.com/mixxxdj/mixxx/issues/12369) +* Pioneer DDJ-FLX4: New mapping base on DDJ-400 [#11245](https://github.com/mixxxdj/mixxx/pull/11245) +* Roland DJ-505: Make blinking lights blink in sync and other improvements [#4159](https://github.com/mixxxdj/mixxx/pull/4159) [#4517](https://github.com/mixxxdj/mixxx/pull/4517) +* Traktor Kontrol S2 MK1: Add calibration and refactor [#11237](https://github.com/mixxxdj/mixxx/pull/11237) +* Traktor Kontrol S2 MK2 fix loaded chain preset CO [#11823](https://github.com/mixxxdj/mixxx/pull/11823) [#10667](https://github.com/mixxxdj/mixxx/issues/10667) +* Traktor Kontrol S2 MK3: Use FX select buttons to set quick effect presets + [#11702](https://github.com/mixxxdj/mixxx/pull/11702) +* Traktor Kontrol S3: script improvements, vanilla-like FX behavior, control initialization, better scratching, and more + [#11199](https://github.com/mixxxdj/mixxx/pull/11199) + [#10645](https://github.com/mixxxdj/mixxx/issues/10645) + [#12409](https://github.com/mixxxdj/mixxx/pull/12409) + [#12510](https://github.com/mixxxdj/mixxx/pull/12510) +* Traktor Kontrol S4 Mk3: add controller mapping [#11284](https://github.com/mixxxdj/mixxx/pull/11284) +* Traktor Kontrol Z1: Add new HID mapping [#12366](https://github.com/mixxxdj/mixxx/pull/12366) [#12426](https://github.com/mixxxdj/mixxx/pull/12426) * Yaeltex MiniMixxx: Add controller mapping [#4350](https://github.com/mixxxdj/mixxx/pull/4350) -* Traktor S3: Fix timedelta calculation bugs [#4646](https://github.com/mixxxdj/mixxx/pull/4646) [#10645](https://github.com/mixxxdj/mixxx/issues/10645) -* Novation Twitch: Removed along with Mixco Scripts [#2682](https://github.com/mixxxdj/mixxx/pull/2682) -* Korg Nanokontrol 2: Removed along with Mixco Scripts [#2682](https://github.com/mixxxdj/mixxx/pull/2682) -* MAudio Xponent: Removed along with Mixco Scripts [#2682](https://github.com/mixxxdj/mixxx/pull/2682) +* Various mappings: Fix `waveform_zoom` ranges [#12393](https://github.com/mixxxdj/mixxx/pull/12393) ### Controller Backend * Never raise a fatal error if a controller mapping tries access a non-existent control object [#2947](https://github.com/mixxxdj/mixxx/pull/2947) -* Add support to access HID FeatureReports [#3051](https://github.com/mixxxdj/mixxx/pull/3051) +* Add support to access HID FeatureReports + [#11326](https://github.com/mixxxdj/mixxx/pull/11326) + [#10828](https://github.com/mixxxdj/mixxx/issues/10828) + [#11664](https://github.com/mixxxdj/mixxx/pull/11664) * Add function to request HID InputReports, to determine controller state at startup [#3317](https://github.com/mixxxdj/mixxx/pull/3317) * Exclude HID device: ELAN touch screen [#11324](https://github.com/mixxxdj/mixxx/pull/11324) [#11323](https://github.com/mixxxdj/mixxx/issues/11323) * Show otherwise hidden HID devices in developer mode [#11317](https://github.com/mixxxdj/mixxx/pull/11317) * Use hidapi's hidraw backend instead of libusb on Linux [#4054](https://github.com/mixxxdj/mixxx/pull/4054) * Fix broken HID controller mappings Traktor Kontrol S2 MK3 and others [#11470](https://github.com/mixxxdj/mixxx/pull/11470) [#11461](https://github.com/mixxxdj/mixxx/issues/11461) +* HID mappings: Modernize and document common-hid-packet-parser.js [#4718](https://github.com/mixxxdj/mixxx/pull/4718) [#4894](https://github.com/mixxxdj/mixxx/pull/4894) +* HID mappings: Small fixes for common-hid-packet-parser.js [#11925](https://github.com/mixxxdj/mixxx/pull/11925) +* HID mappings: Add [Main] to the list of valid groups [#12102](https://github.com/mixxxdj/mixxx/pull/12102) [#12406](https://github.com/mixxxdj/mixxx/pull/12406) * Consistently use "mapping" instead of "preset" to refer to controller mappings [#3472](https://github.com/mixxxdj/mixxx/pull/3472) * Library: Add control object `[Library],show_track_menu` to open/close the track menu [#4465](https://github.com/mixxxdj/mixxx/pull/4465) * Library: Add control object `[Library],sort_focused_column` [#4749](https://github.com/mixxxdj/mixxx/pull/4749) [#4763](https://github.com/mixxxdj/mixxx/pull/4763) [#10719](https://github.com/mixxxdj/mixxx/issues/10719) @@ -394,9 +501,8 @@ * Fix segfault during Mixxx shutdown due to a stale controller connection [#4476](https://github.com/mixxxdj/mixxx/pull/4476) [#10553](https://github.com/mixxxdj/mixxx/issues/10553) * Components JS: Fix syncbutton [#4329](https://github.com/mixxxdj/mixxx/pull/4329) * Components JS: Add script.posMod for euclidean modulo [#11415](https://github.com/mixxxdj/mixxx/pull/11415) +* Components JS: make JogWheelBasic correctly switch which deck it controls [#11913](https://github.com/mixxxdj/mixxx/pull/11913) [#11867](https://github.com/mixxxdj/mixxx/issues/11867) * Added Trace for the mapping connections, to allow JS profiling [#4766](https://github.com/mixxxdj/mixxx/pull/4766) -* Fix crash when using `midi.sendShortMsg` and platform vnc [#4635](https://github.com/mixxxdj/mixxx/pull/4635) -* HID mappings: Modernize and document common-hid-packet-parser.js [#4718](https://github.com/mixxxdj/mixxx/pull/4718) [#4894](https://github.com/mixxxdj/mixxx/pull/4894) * Controller preferences: Allow creating a new mapping with 'No Mapping' selected [#4905](https://github.com/mixxxdj/mixxx/pull/4905) [#10540](https://github.com/mixxxdj/mixxx/issues/10540) @@ -404,12 +510,14 @@ * Controller preferences: add search bars to mapping tables [#11165](https://github.com/mixxxdj/mixxx/pull/11165) * Added TypeScript declarations for engine and controller scripting API to improve IDE code completion during mapping developent [#4759](https://github.com/mixxxdj/mixxx/pull/4759) * Retire Mixco Scripts [#2682](https://github.com/mixxxdj/mixxx/pull/2682) +* Relax strictness of `ControllerScriptInterfaceLegacy` methods. [#11474](https://github.com/mixxxdj/mixxx/pull/11474) [#11473](https://github.com/mixxxdj/mixxx/issues/11473) * Prepare code for upcoming ES6 based controller mapping system with module support [#2682](https://github.com/mixxxdj/mixxx/pull/2682) [#2868](https://github.com/mixxxdj/mixxx/pull/2868) [#2875](https://github.com/mixxxdj/mixxx/pull/2875) [#2936](https://github.com/mixxxdj/mixxx/pull/2936) [#2946](https://github.com/mixxxdj/mixxx/pull/2946) + [#11953](https://github.com/mixxxdj/mixxx/pull/11953) * Other refactorings of controller code [#2904](https://github.com/mixxxdj/mixxx/pull/2904) [#3308](https://github.com/mixxxdj/mixxx/pull/3308) @@ -431,6 +539,27 @@ [#4627](https://github.com/mixxxdj/mixxx/pull/4627) [#4738](https://github.com/mixxxdj/mixxx/pull/4738) [#11160](https://github.com/mixxxdj/mixxx/pull/11160) + [#11662](https://github.com/mixxxdj/mixxx/pull/11662) + [#11622](https://github.com/mixxxdj/mixxx/pull/11622) + [#12400](https://github.com/mixxxdj/mixxx/pull/12400) + [#12468](https://github.com/mixxxdj/mixxx/pull/12468) +* feat(control): Do not show CO aliases in developer tools window [#12265](https://github.com/mixxxdj/mixxx/pull/12265) +* Do not use deprecated COs in C++ code/Keyboard Mapping/Skins [#11990](https://github.com/mixxxdj/mixxx/pull/11990) +* Fix creation of Sampler "end_of_track" CO [#12305](https://github.com/mixxxdj/mixxx/pull/12305) [#12304](https://github.com/mixxxdj/mixxx/issues/12304) +* Adds a test SoftTakeoverTest.CatchOutOfBounds [#12114](https://github.com/mixxxdj/mixxx/pull/12114) [#12011](https://github.com/mixxxdj/mixxx/issues/12011) +* make WHotcueButton learnable with the MIDI Wizard [#12252](https://github.com/mixxxdj/mixxx/pull/12252) +* Control picker menu: add 'waveform_zoom_set_default' [#12247](https://github.com/mixxxdj/mixxx/pull/12247) +* CO Renaming + [#12022](https://github.com/mixxxdj/mixxx/pull/12022) + [#12021](https://github.com/mixxxdj/mixxx/pull/12021) + [#11998](https://github.com/mixxxdj/mixxx/pull/11998) + [#11996](https://github.com/mixxxdj/mixxx/pull/11996) + [#11980](https://github.com/mixxxdj/mixxx/pull/11980) + [#12007](https://github.com/mixxxdj/mixxx/pull/12007) +* Fix use of deprecated COs in Skins [#12030](https://github.com/mixxxdj/mixxx/pull/12030) +* Log warning if deprecated control is used [#11972](https://github.com/mixxxdj/mixxx/pull/11972) +* ControlObject alias improvements [#11973](https://github.com/mixxxdj/mixxx/pull/11973) +* Repeat certain control actions if keyboard key is held [#12474](https://github.com/mixxxdj/mixxx/pull/12474) ### Skins @@ -488,14 +617,17 @@ [#4680](https://github.com/mixxxdj/mixxx/pull/4680) [#4681](https://github.com/mixxxdj/mixxx/pull/4681) [#4736](https://github.com/mixxxdj/mixxx/pull/4736) -* Add new "RGB Stacked" waveform [#3153](https://github.com/mixxxdj/mixxx/pull/3153) * Add harmonic keywheel window [#1695](https://github.com/mixxxdj/mixxx/pull/1695) [#3622](https://github.com/mixxxdj/mixxx/pull/3622) [#3624](https://github.com/mixxxdj/mixxx/pull/3624) * Make beat indicator control behaviour more natural [#3608](https://github.com/mixxxdj/mixxx/pull/3608) -* Allow skin scaling from preferences [#3960](https://github.com/mixxxdj/mixxx/pull/3960) -* Invert scroll wheel waveform zoom direction to mach other applications [#4195](https://github.com/mixxxdj/mixxx/pull/4195) +* Allow skin scaling from preferences + [#3960](https://github.com/mixxxdj/mixxx/pull/3960) + [#11588](https://github.com/mixxxdj/mixxx/pull/11588) + [#11586](https://github.com/mixxxdj/mixxx/issues/11586) +* Increased pixmapCache size limit and made it dependent on devicePixelRatio (for HiDPI/Retina displays) [#12416](https://github.com/mixxxdj/mixxx/pull/12416) +* Fix Icon rendering on HiDPI/retina screens [#12407](https://github.com/mixxxdj/mixxx/pull/12407) [#12361](https://github.com/mixxxdj/mixxx/issues/12361) * Fix crash if no skin is available [#3918](https://github.com/mixxxdj/mixxx/pull/3918) [#3939](https://github.com/mixxxdj/mixxx/pull/3939) @@ -511,14 +643,36 @@ * Fix crash when starting without a valid skin directory [#4575](https://github.com/mixxxdj/mixxx/pull/4575) [#10461](https://github.com/mixxxdj/mixxx/issues/10461) * Knob: Hide cursor on wheel event for .8s [#11077](https://github.com/mixxxdj/mixxx/pull/11077) * Effect parameter label: set hand cursor to make dragability more discoverable [#11062](https://github.com/mixxxdj/mixxx/pull/11062) -* Skins: move skin control hack to c++ (spinny/cover controls, mic/ducking controls) [#11183](https://github.com/mixxxdj/mixxx/pull/11183) +* Move skin control hack to c++ (spinny/cover controls, mic/ducking controls) [#11183](https://github.com/mixxxdj/mixxx/pull/11183) * Show effect parameter units in parameter name label [#11041](https://github.com/mixxxdj/mixxx/pull/11041) [#11194](https://github.com/mixxxdj/mixxx/pull/11194) * LateNight: Move logo to the right [#4677](https://github.com/mixxxdj/mixxx/pull/4677) * LateNight: Use correct tooltip for key control toggle [#4696](https://github.com/mixxxdj/mixxx/pull/4696) * LateNight: Add toggles to show loop and beatjump controls [#4713](https://github.com/mixxxdj/mixxx/pull/4713) * LateNight: Remove blinking play indicator from mini samplers [#4807](https://github.com/mixxxdj/mixxx/pull/4807) -* LateNight: add buffer underflow indicator [#4906](https://github.com/mixxxdj/mixxx/pull/4906) [#10978](https://github.com/mixxxdj/mixxx/pull/10978) -* Fix outdated tooltips [#11387](https://github.com/mixxxdj/mixxx/pull/11387) [#11384](https://github.com/mixxxdj/mixxx/issues/11384) +* LateNight: Add buffer underflow indicator [#4906](https://github.com/mixxxdj/mixxx/pull/4906) [#10978](https://github.com/mixxxdj/mixxx/pull/10978) +* LateNight: Fix xfader icons in samplers and aux units [#12477](https://github.com/mixxxdj/mixxx/pull/12477) +* Add LateNight (64 Samplers) [#11715](https://github.com/mixxxdj/mixxx/pull/11715) +* Fix outdated tooltips + [#11387](https://github.com/mixxxdj/mixxx/pull/11387) + [#11384](https://github.com/mixxxdj/mixxx/issues/11384) + [#11860](https://github.com/mixxxdj/mixxx/pull/11860) +* Add settings directory link to Help menu [#11670](https://github.com/mixxxdj/mixxx/pull/11670) [#11667](https://github.com/mixxxdj/mixxx/issues/11667) +* Deere: fix skin/library layout (library missing in default view with Qt6) [#11912](https://github.com/mixxxdj/mixxx/pull/11912) +* Deere: use decks' waveform colors for sliders (Vol + pitch) [#12129](https://github.com/mixxxdj/mixxx/pull/12129) [#10240](https://github.com/mixxxdj/mixxx/issues/10240) +* Fix sidebar item styling + [#11975](https://github.com/mixxxdj/mixxx/pull/11975) + [#11957](https://github.com/mixxxdj/mixxx/issues/11957) +* Shade: Audio Latency meter fix [#11601](https://github.com/mixxxdj/mixxx/pull/11601) +* Fix 500ms blocking of the whole event loop, when holding mouse down on title bar on Windows [#12359](https://github.com/mixxxdj/mixxx/pull/12359) [#12358](https://github.com/mixxxdj/mixxx/issues/12358) [#12433](https://github.com/mixxxdj/mixxx/pull/12433) [#12458](https://github.com/mixxxdj/mixxx/pull/12458) +* change SKIN_WARNING to show the skin file:line first, then c++ context [#12253](https://github.com/mixxxdj/mixxx/pull/12253) +* Fix style of selected QComboBox items on Windows [#12339](https://github.com/mixxxdj/mixxx/pull/12339) [#12323](https://github.com/mixxxdj/mixxx/issues/12323) +* Fix reading the Spinny cover on Windows [#12103](https://github.com/mixxxdj/mixxx/pull/12103) [#11131](https://github.com/mixxxdj/mixxx/issues/11131) +* Fix inconsistent/wrong musical keys in the UI [#12051](https://github.com/mixxxdj/mixxx/pull/12051) [#12044](https://github.com/mixxxdj/mixxx/issues/12044) +* Add `skins:` path alias [#12463](https://github.com/mixxxdj/mixxx/pull/12463) +* Remove `Text`, use `TrackProperty` or `Label` [#12004](https://github.com/mixxxdj/mixxx/pull/12004) + +### Waveforms and GL Widgets + * Waveform overhaul based on QOpenGlWindow and introduce full GLSL shader based waveforms, vumeters and spinnies. This fixes a couple of performance issues mainly on macOS. [#10989](https://github.com/mixxxdj/mixxx/pull/10989) [#10416](https://github.com/mixxxdj/mixxx/issues/10416) @@ -526,6 +680,42 @@ [#11556](https://github.com/mixxxdj/mixxx/issues/11556) [#11450](https://github.com/mixxxdj/mixxx/issues/11450) [#10416](https://github.com/mixxxdj/mixxx/issues/10416) + [#11734](https://github.com/mixxxdj/mixxx/issues/11734) + [#12466](https://github.com/mixxxdj/mixxx/pull/12466) +* Default to 60 Hz waveform refresh rate [#11918](https://github.com/mixxxdj/mixxx/pull/11918) +* vsyncthread mode for qopenglwindow frameswapped driven phase locked loop [#12469](https://github.com/mixxxdj/mixxx/pull/12469) +* Fix micro jitter from clamping position offset to vsync interval [#12470](https://github.com/mixxxdj/mixxx/pull/12470) +* Avoid flickering when resizing [#12487](https://github.com/mixxxdj/mixxx/pull/12487) +* Use WaveformWidgetType::AllShaderRGBWaveform as autoChooseWidgetType [#11822](https://github.com/mixxxdj/mixxx/pull/11822) +* Add new "RGB Stacked" waveform [#3153](https://github.com/mixxxdj/mixxx/pull/3153) +* Invert scroll wheel waveform zoom direction to mach other applications [#4195](https://github.com/mixxxdj/mixxx/pull/4195) +* Waveform scrolling: Use set interval setting to fix performance degradation for AMD graphics adapters [#11681](https://github.com/mixxxdj/mixxx/pull/11681) [#11617](https://github.com/mixxxdj/mixxx/issues/11617) +* Fix waveform zooming [#11650](https://github.com/mixxxdj/mixxx/pull/11650) [#11626](https://github.com/mixxxdj/mixxx/issues/11626) +* Fix OpenGL version detection [#11673](https://github.com/mixxxdj/mixxx/pull/11673) +* Fix crash when no GL context is available [#11963](https://github.com/mixxxdj/mixxx/pull/11963) [#11929](https://github.com/mixxxdj/mixxx/issues/11929) +* Fix stopped waveform rendering in case of vinyl control [#11977](https://github.com/mixxxdj/mixxx/pull/11977) [#10764](https://github.com/mixxxdj/mixxx/issues/10764) +* Spinny: Fix drawing of non-square cover arts [#11971](https://github.com/mixxxdj/mixxx/pull/11971) [#11967](https://github.com/mixxxdj/mixxx/issues/11967) +* Spinny/VU-Meter: Fix drawing [#12010](https://github.com/mixxxdj/mixxx/pull/12010) [#11930](https://github.com/mixxxdj/mixxx/issues/11930) +* Don't use OpenGL for the VU-Meters by default [#11722](https://github.com/mixxxdj/mixxx/pull/11722) +* Improve GLSL pre-roll triangles [#12100](https://github.com/mixxxdj/mixxx/pull/12100) [#12015](https://github.com/mixxxdj/mixxx/issues/12015) +* Make scaling of GLSL RGB and RGB L/R waveform amplitudes consistent with simple waveform [#12205](https://github.com/mixxxdj/mixxx/pull/12205) [#12356](https://github.com/mixxxdj/mixxx/pull/12356) +* Improve rendering of waveform marks [#12203](https://github.com/mixxxdj/mixxx/pull/12203) [#12237](https://github.com/mixxxdj/mixxx/pull/12237) +* Fix for visual waveform position while scratching outside of an activated loop [#12281](https://github.com/mixxxdj/mixxx/pull/12281) [#12274](https://github.com/mixxxdj/mixxx/issues/12274) +* avoid overlapping marks [#12273](https://github.com/mixxxdj/mixxx/pull/12273) +* gradually "compact" the markers if the waveform height is reduced [#12501](https://github.com/mixxxdj/mixxx/pull/12501) +* fix clamping of the index for drawing the waveform left of zero position [#12411](https://github.com/mixxxdj/mixxx/pull/12411) +* Fix possible crash when closing Mixxx [#12314](https://github.com/mixxxdj/mixxx/pull/12314) [#11737](https://github.com/mixxxdj/mixxx/issues/11737) +* Fix EGL support + [#11982](https://github.com/mixxxdj/mixxx/pull/11982) + [#11641](https://github.com/mixxxdj/mixxx/issues/11641) + [#11935](https://github.com/mixxxdj/mixxx/pull/11935) + [#11985](https://github.com/mixxxdj/mixxx/pull/11985) + [#11982](https://github.com/mixxxdj/mixxx/pull/11982) + [#11995](https://github.com/mixxxdj/mixxx/pull/11995) + [#11994](https://github.com/mixxxdj/mixxx/pull/11994) +* Preferences waveforms: recall correct waveform type when selecting an overview type + [#12231](https://github.com/mixxxdj/mixxx/pull/12231) + [#12226](https://github.com/mixxxdj/mixxx/issues/12226) ### Effects @@ -548,7 +738,16 @@ [#9022](https://github.com/mixxxdj/mixxx/issues/9022) [#11034](https://github.com/mixxxdj/mixxx/pull/11034) * Effect parameter knobs: implement ValueScaler::Integral, snap value to int [#11061](https://github.com/mixxxdj/mixxx/pull/11061) -* Effects: allow clearing chains with empty '---' preset [#10859](https://github.com/mixxxdj/mixxx/pull/10859) [#10777](https://github.com/mixxxdj/mixxx/issues/10777) +* Allow clearing chains with empty '---' preset [#10859](https://github.com/mixxxdj/mixxx/pull/10859) [#10777](https://github.com/mixxxdj/mixxx/issues/10777) +* Show Effectchain tooltip [#11902](https://github.com/mixxxdj/mixxx/pull/11902) [#10605](https://github.com/mixxxdj/mixxx/issues/10605) +* Center Super knob when loading empty (QuickEffect) chain preset [#12320](https://github.com/mixxxdj/mixxx/pull/12320) +* Read effect data for decks added after initial setup [#12282](https://github.com/mixxxdj/mixxx/pull/12282) [#12277](https://github.com/mixxxdj/mixxx/issues/12277) +* Fix deletion of effect chain presets created in current session [#11886](https://github.com/mixxxdj/mixxx/pull/11886) +* Don't reset "super" and "mix" knob on startup [#11781](https://github.com/mixxxdj/mixxx/pull/11781) [#11773](https://github.com/mixxxdj/mixxx/issues/11773) +* Re-add empty chain preset when resetting to defaults [#11705](https://github.com/mixxxdj/mixxx/pull/11705) +* Add a missing early return [#11809](https://github.com/mixxxdj/mixxx/pull/11809) [#111808](https://github.com/mixxxdj/mixxx/issues/11808) +* Pitch Shift effect: set Meta default to 0.5 (center) [#12481](https://github.com/mixxxdj/mixxx/pull/12481) +* Update EffectSlot meta default value according to loaded effect [#12480](https://github.com/mixxxdj/mixxx/pull/12480) [#12479](https://github.com/mixxxdj/mixxx/issues/12479) * Effect refactoring: Effect chain saving/loading, parameter hiding/rearrangement, effect preferences overhaul [#4467](https://github.com/mixxxdj/mixxx/pull/4467) [#4431](https://github.com/mixxxdj/mixxx/pull/4431) @@ -590,6 +789,7 @@ [#10834](https://github.com/mixxxdj/mixxx/issues/10834) [#11424](https://github.com/mixxxdj/mixxx/pull/11424) [#11376](https://github.com/mixxxdj/mixxx/pull/11376) [#11456](https://github.com/mixxxdj/mixxx/pull/11456) [#11454](https://github.com/mixxxdj/mixxx/issues/11454) + [#11695](https://github.com/mixxxdj/mixxx/pull/11695) ### Target Support @@ -608,8 +808,13 @@ [#3736](https://github.com/mixxxdj/mixxx/pull/3736) [#3985](https://github.com/mixxxdj/mixxx/pull/3985) * Drop Ubuntu Groovy and Impish support because of EOL - [#4283](https://github.com/mixxxdj/mixxx/pull/4283) [#4849](https://github.com/mixxxdj/mixxx/pull/4849) -* Support Ubuntu Kinetic and Jammy [#4780](https://github.com/mixxxdj/mixxx/pull/4780) [#4857](https://github.com/mixxxdj/mixxx/pull/4857) + [#4283](https://github.com/mixxxdj/mixxx/pull/4283) + [#4849](https://github.com/mixxxdj/mixxx/pull/4849) + [#12353](https://github.com/mixxxdj/mixxx/pull/12353) +* Support Ubuntu Noble and Jammy + [#4780](https://github.com/mixxxdj/mixxx/pull/4780) + [#4857](https://github.com/mixxxdj/mixxx/pull/4857) + [#12353](https://github.com/mixxxdj/mixxx/pull/12353) * Add NixOS support [#2820](https://github.com/mixxxdj/mixxx/pull/2820) [#2828](https://github.com/mixxxdj/mixxx/pull/2828) @@ -620,6 +825,22 @@ [#3113](https://github.com/mixxxdj/mixxx/pull/3113) [#3089](https://github.com/mixxxdj/mixxx/pull/3089) [#3545](https://github.com/mixxxdj/mixxx/pull/3545) +* Windows packaging: Use Azure for signing exe, msi and all dlls with timestamp and sha256 + [#12465](https://github.com/mixxxdj/mixxx/pull/12465) + [#4824](https://github.com/mixxxdj/mixxx/pull/4824) + [#4825](https://github.com/mixxxdj/mixxx/pull/4825) +* macOS packaging: Fix signing and migrate script to `notarytool` + [#12123](https://github.com/mixxxdj/mixxx/pull/12123) + [#12089](https://github.com/mixxxdj/mixxx/issues/12089) + [#12095](https://github.com/mixxxdj/mixxx/pull/12095) +* macOS packaging: Enable app sandbox in unsigned 2.4 builds too + [#12138](https://github.com/mixxxdj/mixxx/pull/12138) +* macOS packaging: Fix regression that caused `Sandbox::canAccess` to fail + [#12457](https://github.com/mixxxdj/mixxx/pull/12457) + [#12137](https://github.com/mixxxdj/mixxx/issues/12137) + [#11552](https://github.com/mixxxdj/mixxx/issues/11552) +* macOS packaging: Fix running macOS bundle from development build directory [#12099](https://github.com/mixxxdj/mixxx/pull/12099) +* Hide applocal group from Windows installer [#12118](https://github.com/mixxxdj/mixxx/pull/12118) [#11992](https://github.com/mixxxdj/mixxx/issues/11992) ### Other @@ -649,6 +870,13 @@ [#11368](https://github.com/mixxxdj/mixxx/pull/11368) [#11144](https://github.com/mixxxdj/mixxx/pull/11144) [#4866](https://github.com/mixxxdj/mixxx/pull/4866) + [#12442](https://github.com/mixxxdj/mixxx/pull/12442) + [#12351](https://github.com/mixxxdj/mixxx/pull/12351) + [#12288](https://github.com/mixxxdj/mixxx/pull/12288) + [#12197](https://github.com/mixxxdj/mixxx/pull/12197) + [#11754](https://github.com/mixxxdj/mixxx/pull/11754) + [#11741](https://github.com/mixxxdj/mixxx/issues/11741) + [#12518](https://github.com/mixxxdj/mixxx/pull/12518) * Improve GitHub workflow continuous integration [#2937](https://github.com/mixxxdj/mixxx/pull/2937) [#3041](https://github.com/mixxxdj/mixxx/pull/3041) @@ -679,7 +907,13 @@ [#11089](https://github.com/mixxxdj/mixxx/pull/11089) [#11156](https://github.com/mixxxdj/mixxx/pull/11156) [#11193](https://github.com/mixxxdj/mixxx/pull/11193) - [#11396](https://github.com/mixxxdj/mixxx/pull/11396) [#11386](https://github.com/mixxxdj/mixxx/issues/11386) [#11414](https://github.com/mixxxdj/mixxx/pull/11414) + [#11396](https://github.com/mixxxdj/mixxx/pull/11396) + [#11386](https://github.com/mixxxdj/mixxx/issues/11386) + [#11414](https://github.com/mixxxdj/mixxx/pull/11414) + [#12502](https://github.com/mixxxdj/mixxx/pull/12502) + [#12434](https://github.com/mixxxdj/mixxx/pull/12434) + [#11962](https://github.com/mixxxdj/mixxx/pull/11962) + [#11945](https://github.com/mixxxdj/mixxx/pull/11945) * Improve pre-commit hook [#2796](https://github.com/mixxxdj/mixxx/pull/2796) [#3923](https://github.com/mixxxdj/mixxx/pull/3923) @@ -702,10 +936,13 @@ [#10929](https://github.com/mixxxdj/mixxx/pull/10929) [#11369](https://github.com/mixxxdj/mixxx/pull/11369) [#11388](https://github.com/mixxxdj/mixxx/pull/11388) + [#11889](https://github.com/mixxxdj/mixxx/pull/11889) * Improve Lauchpad PPA builds [#4277](https://github.com/mixxxdj/mixxx/pull/4277) [#4285](https://github.com/mixxxdj/mixxx/pull/4285) [#4425](https://github.com/mixxxdj/mixxx/pull/4425) + [#12347](https://github.com/mixxxdj/mixxx/pull/12347) + [#11729](https://github.com/mixxxdj/mixxx/pull/11729) * Update vcpkg build environment for Windows and macOS [#4163](https://github.com/mixxxdj/mixxx/pull/4163) [#4225](https://github.com/mixxxdj/mixxx/pull/4225) @@ -719,14 +956,32 @@ [#11238](https://github.com/mixxxdj/mixxx/pull/11238) [#11457](https://github.com/mixxxdj/mixxx/pull/11457) [#11562](https://github.com/mixxxdj/mixxx/pull/11562) + [#12370](https://github.com/mixxxdj/mixxx/pull/12370) + [#11733](https://github.com/mixxxdj/mixxx/pull/11733) * Windows: Fix extraction of build environment archive when using 7-Zip [#11510](https://github.com/mixxxdj/mixxx/pull/11510) +* Fix Windows warnings and enable "Treat all compiler warnings as errors" [#11607](https://github.com/mixxxdj/mixxx/pull/11607) [#12417](https://github.com/mixxxdj/mixxx/pull/12417) * Devendor libraries from the mixxx lib directory [#4201](https://github.com/mixxxdj/mixxx/pull/4201) [#4202](https://github.com/mixxxdj/mixxx/pull/4202) -* Update Google Benchmark library to v1.6.0 [#4540](https://github.com/mixxxdj/mixxx/pull/4540) + [#11839](https://github.com/mixxxdj/mixxx/pull/11839) + [#11742](https://github.com/mixxxdj/mixxx/issues/11742) + [#11841](https://github.com/mixxxdj/mixxx/pull/11841) +* [#4540](https://github.com/mixxxdj/mixxx/pull/4540) * Update hidapi to 0.11.2 [#4783](https://github.com/mixxxdj/mixxx/pull/4783) * Update xwax to Version 1.8 [#4597](https://github.com/mixxxdj/mixxx/pull/4597) [#10627](https://github.com/mixxxdj/mixxx/issues/10627) * Update rigtorp/SPSCQueue [#4678](https://github.com/mixxxdj/mixxx/pull/4678) +* macOS: Fail early if the Xcode command line tools are not installed. [#11699](https://github.com/mixxxdj/mixxx/pull/11699) +* macOS buildenv: Improve error messages for CI-only wrappers [#12382](https://github.com/mixxxdj/mixxx/pull/12382) +* Improve cmake first time error reporting [#11635](https://github.com/mixxxdj/mixxx/pull/11635) [#11596](https://github.com/mixxxdj/mixxx/issues/11596) [#11597](https://github.com/mixxxdj/mixxx/issues/11597) +* Manual include #include "moc_*.cpp" to speed up build [#11567](https://github.com/mixxxdj/mixxx/pull/11567) +* Fix building Mixxx with SDK 11 [#11766](https://github.com/mixxxdj/mixxx/pull/11766) +* chore: Fix spelling and formatting issues [#11890](https://github.com/mixxxdj/mixxx/pull/11890) +* Prefer mold or lld as linker to speed up linking [#11790](https://github.com/mixxxdj/mixxx/pull/11790) [#11796](https://github.com/mixxxdj/mixxx/pull/11796) +* feat: allow sanitizers on GCC as well [#12002](https://github.com/mixxxdj/mixxx/pull/12002) +* Update manifest even if one job fails [#12091](https://github.com/mixxxdj/mixxx/pull/12091) +* Mixxx 2.4: Fail Qt6 build not on GitHub Actions [#12293](https://github.com/mixxxdj/mixxx/pull/12293) +* CMakeLists: Relativize `__FILE__` paths by default [#12350](https://github.com/mixxxdj/mixxx/pull/12350) +* Debug: Add Rust-inspired `DBG` macro for quick print-debugging [#12344](https://github.com/mixxxdj/mixxx/pull/12344) [#12383](https://github.com/mixxxdj/mixxx/pull/12383) * Migration to Qt6 (work in progress) [#4052](https://github.com/mixxxdj/mixxx/pull/4052) [#4295](https://github.com/mixxxdj/mixxx/pull/4295) @@ -820,12 +1075,38 @@ [#11266](https://github.com/mixxxdj/mixxx/pull/11266) [#11312](https://github.com/mixxxdj/mixxx/pull/11312) [#11389](https://github.com/mixxxdj/mixxx/pull/11389) -* Disable QWidget based library with Qt6, support only QML skins [#4393](https://github.com/mixxxdj/mixxx/pull/4393) + [#12268](https://github.com/mixxxdj/mixxx/pull/12268) + [#12240](https://github.com/mixxxdj/mixxx/pull/12240) + [#12056](https://github.com/mixxxdj/mixxx/pull/12056) + [#12430](https://github.com/mixxxdj/mixxx/pull/12430) + [#12029](https://github.com/mixxxdj/mixxx/pull/12029) +* Allow to compile with precompiled headers, enabled on Windows by default + [#12381](https://github.com/mixxxdj/mixxx/pull/12381) + [#12080](https://github.com/mixxxdj/mixxx/pull/12080) + [#12410](https://github.com/mixxxdj/mixxx/pull/12410) + [#12360](https://github.com/mixxxdj/mixxx/pull/12360) + [#12352](https://github.com/mixxxdj/mixxx/pull/12352) + [#12346](https://github.com/mixxxdj/mixxx/pull/12346) + [#12338](https://github.com/mixxxdj/mixxx/pull/12338) + [#12327](https://github.com/mixxxdj/mixxx/pull/12327) + [#12308](https://github.com/mixxxdj/mixxx/pull/12308) + [#12303](https://github.com/mixxxdj/mixxx/pull/12303) + [#12302](https://github.com/mixxxdj/mixxx/pull/12302) + [#12298](https://github.com/mixxxdj/mixxx/pull/12298) + [#12229](https://github.com/mixxxdj/mixxx/pull/12229) + [#12079](https://github.com/mixxxdj/mixxx/pull/12079) + [#12058](https://github.com/mixxxdj/mixxx/pull/12058) + [#12037](https://github.com/mixxxdj/mixxx/pull/12037) + [#12024](https://github.com/mixxxdj/mixxx/pull/12024) + [#12025](https://github.com/mixxxdj/mixxx/pull/12025) * Made use of inclusive language [#2894](https://github.com/mixxxdj/mixxx/pull/2894) [#3868](https://github.com/mixxxdj/mixxx/pull/3868) [#11017](https://github.com/mixxxdj/mixxx/pull/11017) + [#11968](https://github.com/mixxxdj/mixxx/pull/11968) + [#11959](https://github.com/mixxxdj/mixxx/pull/11959) + [#11942](https://github.com/mixxxdj/mixxx/pull/11942) * Improve the unit tests [#2938](https://github.com/mixxxdj/mixxx/pull/2938) [#2980](https://github.com/mixxxdj/mixxx/pull/2980) @@ -863,20 +1144,37 @@ * Show native path separators in command line argument --help [#4657](https://github.com/mixxxdj/mixxx/pull/4657) * Add 13 new translation languages [#4785](https://github.com/mixxxdj/mixxx/pull/4785) [#9702](https://github.com/mixxxdj/mixxx/issues/9702) * Fix translation related warnings [#11539](https://github.com/mixxxdj/mixxx/pull/11539) +* Remove redundant `cmn` translation in favor of `zh` [#11793](https://github.com/mixxxdj/mixxx/pull/11793) [#11791](https://github.com/mixxxdj/mixxx/issues/11791) * Improve Vinyl control quality indicator [#3279](https://github.com/mixxxdj/mixxx/pull/3279) * Track info dialog: Apply pending changes also when saving via hotkey [#4562](https://github.com/mixxxdj/mixxx/pull/4562) [#10612](https://github.com/mixxxdj/mixxx/issues/10612) -* Track info dialog: Fix crash when trying to scale 0.0 BPM [#4587](https://github.com/mixxxdj/mixxx/pull/4587) [1955853](https://github.com/mixxxdj/mixxx/issues/10625) +* Track info dialog: Fix crash when trying to scale 0.0 BPM [#4587](https://github.com/mixxxdj/mixxx/pull/4587) [#1955853](https://github.com/mixxxdj/mixxx/issues/10625) * Track info dialog: Add track color selector [#11436](https://github.com/mixxxdj/mixxx/pull/11436) [#10324](https://github.com/mixxxdj/mixxx/issues/10324) -* Tweak remove/hide track confirm message to match confirm exit message [#4577](https://github.com/mixxxdj/mixxx/pull/4577) [1947992](https://github.com/mixxxdj/mixxx/issues/10577) -* Implement Un-eject by pressing eject again [#4668](https://github.com/mixxxdj/mixxx/pull/4668) +* Tweak remove/hide track confirm message to match confirm exit message [#4577](https://github.com/mixxxdj/mixxx/pull/4577) [#1947992](https://github.com/mixxxdj/mixxx/issues/10577) +* Implement Un-eject by pressing eject again + [#4668](https://github.com/mixxxdj/mixxx/pull/4668) + [#11246](https://github.com/mixxxdj/mixxx/pull/11246) * Preferences > Effects: Fix Tab key navigation / UX [#4702](https://github.com/mixxxdj/mixxx/pull/4702) [#10579](https://github.com/mixxxdj/mixxx/issues/10579) -* Windows builds: Sign binary and installer with timestamp and sha256 [#4824](https://github.com/mixxxdj/mixxx/pull/4824) [#4825](https://github.com/mixxxdj/mixxx/pull/4825) * Preferences: Added option to keep deck playing on track load [#10944](https://github.com/mixxxdj/mixxx/pull/10944) [#10548](https://github.com/mixxxdj/mixxx/issues/10548) * Preferences: always enable Alt shortcut keys [#11145](https://github.com/mixxxdj/mixxx/pull/11145) [#10413](https://github.com/mixxxdj/mixxx/issues/10413) +* Preferences: simplification & layout fixes [#12429](https://github.com/mixxxdj/mixxx/pull/12429) +* Pref Sound: auto select free device channels [#11859](https://github.com/mixxxdj/mixxx/pull/11859) [#10163](https://github.com/mixxxdj/mixxx/issues/10163) +* minor Preferences fixes [#12399](https://github.com/mixxxdj/mixxx/pull/12399) +* Preferences: use helper for input widget scroll safeguard [#11663](https://github.com/mixxxdj/mixxx/pull/11663) +* macOS: set preferences dialog title to the selected page title [#11696](https://github.com/mixxxdj/mixxx/pull/11696) +* macOS: fix the preferences menu and opening the settings directory [#11679](https://github.com/mixxxdj/mixxx/pull/11679) +* macOS: fix slider styling in preferences dialog [#11647](https://github.com/mixxxdj/mixxx/pull/11647) +* Preferences > Mixer: apply & save settings only in slotApply(), fix bugs, improve UX [#11527](https://github.com/mixxxdj/mixxx/pull/11527) +* Preferences > Mixer: fix reset of EQ auto-reset checkbox [#11818](https://github.com/mixxxdj/mixxx/pull/11818) [#11817](https://github.com/mixxxdj/mixxx/issues/11817) +* Preferences > Interface: avoid unneeded skin reload, clean up [#11853](https://github.com/mixxxdj/mixxx/pull/11853) +* Preferences > Hardware: sound tab order [#11926](https://github.com/mixxxdj/mixxx/pull/11926) * macOS: Add better rasterization of program icon [#10958](https://github.com/mixxxdj/mixxx/pull/10958) +* make decks' xfader assignment persistent [#12074](https://github.com/mixxxdj/mixxx/pull/12074) [#10122](https://github.com/mixxxdj/mixxx/issues/10122) * Allow building Mixxx on OpenBSD [#11083](https://github.com/mixxxdj/mixxx/pull/11083) * Fix autogenerated metainfo [#11383](https://github.com/mixxxdj/mixxx/pull/11383) * Fix setting the wrong default cue color [#11554](https://github.com/mixxxdj/mixxx/pull/11554) [#11260](https://github.com/mixxxdj/mixxx/issues/11260) +* (fix) linux launcher: add missing quote to command line [#11826](https://github.com/mixxxdj/mixxx/pull/11826) [#11820](https://github.com/mixxxdj/mixxx/issues/11820) +* Delete obsolete -platform xcb args [#11805](https://github.com/mixxxdj/mixxx/pull/11805) +* A small fix to .desktop file that improves Gnome dock integration on [#12424](https://github.com/mixxxdj/mixxx/pull/12424) * Replace Launchpad bugs by GitHub issues [#10850](https://github.com/mixxxdj/mixxx/pull/10850) [#10865](https://github.com/mixxxdj/mixxx/pull/10865) @@ -1025,6 +1323,38 @@ [#11431](https://github.com/mixxxdj/mixxx/pull/11431) [#11434](https://github.com/mixxxdj/mixxx/pull/11434) [#11301](https://github.com/mixxxdj/mixxx/pull/11301) + [#11688](https://github.com/mixxxdj/mixxx/pull/11688) + [#11685](https://github.com/mixxxdj/mixxx/pull/11685) + [#12000](https://github.com/mixxxdj/mixxx/pull/12000) + [#12003](https://github.com/mixxxdj/mixxx/pull/12003) + [#11684](https://github.com/mixxxdj/mixxx/pull/11684) + [#12031](https://github.com/mixxxdj/mixxx/pull/12031) + [#12008](https://github.com/mixxxdj/mixxx/pull/12008) + [#12054](https://github.com/mixxxdj/mixxx/pull/12054) + [#11768](https://github.com/mixxxdj/mixxx/pull/11768) + [#11893](https://github.com/mixxxdj/mixxx/pull/11893) + [#11636](https://github.com/mixxxdj/mixxx/pull/11636) + [#12026](https://github.com/mixxxdj/mixxx/pull/12026) + [#12230](https://github.com/mixxxdj/mixxx/pull/12230) + [#12375](https://github.com/mixxxdj/mixxx/pull/12375) + [#11619](https://github.com/mixxxdj/mixxx/pull/11619) + [#11917](https://github.com/mixxxdj/mixxx/pull/11917) + [#11936](https://github.com/mixxxdj/mixxx/pull/11936) + [#12033](https://github.com/mixxxdj/mixxx/pull/12033) + [#12263](https://github.com/mixxxdj/mixxx/pull/12263) + [#12212](https://github.com/mixxxdj/mixxx/pull/12212) + [#12066](https://github.com/mixxxdj/mixxx/pull/12066) [#12065](https://github.com/mixxxdj/mixxx/issues/12065) + +### Known issues + +* Volume / Loudness spikes on Windows with M4A/AAC files. + Last known working version is Windows 10 build 17763. + Affected versions are Windows 10 build 19041 and Windows 11 build 22000. + A fix is promised in 2024-02 with Windows 11 build 26016. + [#12289](https://github.com/mixxxdj/mixxx/issues/12289) + [#11094](https://github.com/mixxxdj/mixxx/issues/11094) +* Different, language depending library sorting on macOS + [#12517](https://github.com/mixxxdj/mixxx/issues/12517) ## [2.3.6](https://github.com/mixxxdj/mixxx/milestone/40) (2023-08-15) @@ -1192,7 +1522,7 @@ * MusicBrainz: Respect rate limits [#10874](https://github.com/mixxxdj/mixxx/pull/10874) [#10795](https://github.com/mixxxdj/mixxx/issues/10795) * MusicBrainz: Stop fetching after closing the dialog [#10878](https://github.com/mixxxdj/mixxx/pull/10878) [#10877](https://github.com/mixxxdj/mixxx/issues/10877) * MusicBrainz: Fixed stalled GUI after client timeout [#10875](https://github.com/mixxxdj/mixxx/pull/10875) [#10883](https://github.com/mixxxdj/mixxx/issues/10883) -* macOs: Fix frozen skin control after Ctrl-Click [#10869](https://github.com/mixxxdj/mixxx/pull/10869) [10831](https://github.com/mixxxdj/mixxx/issues/10831) +* macOs: Fix frozen skin control after Ctrl-Click [#10869](https://github.com/mixxxdj/mixxx/pull/10869) [#10831](https://github.com/mixxxdj/mixxx/issues/10831) * Avoid redundant messages boxes after track loading fails [#10889](https://github.com/mixxxdj/mixxx/pull/10889) * Use OpenGL VU meter widgets. This aims to improve performance with macOS. [#10893](https://github.com/mixxxdj/mixxx/pull/10893) @@ -1202,7 +1532,6 @@ [#10983](https://github.com/mixxxdj/mixxx/pull/10983) [#11288](https://github.com/mixxxdj/mixxx/pull/11288) * Prevent wild numbers from appearing during scratching under vinyl control. [#10916](https://github.com/mixxxdj/mixxx/pull/10916) -* Rekordbox: Fix missing playlists due to invalid child ID [#10955](https://github.com/mixxxdj/mixxx/pull/10955) * Fixed a possible crash due to a race condition when editing cue points. [#10976](https://github.com/mixxxdj/mixxx/pull/10976) [#10689](https://github.com/mixxxdj/mixxx/issues/10689) * Fixed a possible crash when overing cue point via mouse in the waveforms. [#10960](https://github.com/mixxxdj/mixxx/pull/10960) [#10956](https://github.com/mixxxdj/mixxx/issues/10956) * History: Disallow dropping tracks. [#10969](https://github.com/mixxxdj/mixxx/pull/10969) [#10250](https://github.com/mixxxdj/mixxx/issues/10250) @@ -1315,7 +1644,6 @@ * Disabled detection of keyboards and mice as HID controllers [#4243](https://github.com/mixxxdj/mixxx/pull/4243) * Disabled detection of all HID controllers with Apple's vendor ID. Apple doesn't build actual controllers. [#4260](https://github.com/mixxxdj/mixxx/pull/4260) [#4273](https://github.com/mixxxdj/mixxx/pull/4273) * Add support for HiDPI scale factors of 125% and 175% (only with Qt 5.14+) [#10485](https://github.com/mixxxdj/mixxx/issues/10485) [#4161](https://github.com/mixxxdj/mixxx/pull/4161) -* Fix unhandled exception when parsing corrupt Rekordbox PDB files [#10452](https://github.com/mixxxdj/mixxx/issues/10452) [#4040](https://github.com/mixxxdj/mixxx/pull/4040) * Fix Echo effect adding left channel samples to right channel [#4141](https://github.com/mixxxdj/mixxx/pull/4141) * Fix bad phase seek when starting from preroll [#10423](https://github.com/mixxxdj/mixxx/issues/10423) [#4093](https://github.com/mixxxdj/mixxx/pull/4093) * Fix bad phase seek when a channel's audible status changes [#4156](https://github.com/mixxxdj/mixxx/pull/4156) diff --git a/res/linux/org.mixxx.Mixxx.metainfo.xml b/res/linux/org.mixxx.Mixxx.metainfo.xml index b50cfe51d7d..1f58b367c36 100644 --- a/res/linux/org.mixxx.Mixxx.metainfo.xml +++ b/res/linux/org.mixxx.Mixxx.metainfo.xml @@ -96,7 +96,7 @@ Do not edit it manually. --> - +

Cover Art @@ -111,6 +111,10 @@ Add background color for quick cover art preview #2524 +

  • + Fix coverart tooltip if cover is not cached + #12087 +
  • Add cover art fetcher to the Musicbrainz dialog #10908 @@ -119,6 +123,14 @@ #10796 #10902 #4851 + #11938 + #11086 + #12041 + #12300 +
  • +
  • + CoverArtCache refactoring + Fix scrolling lag after updating Mixxx + #12009
  • @@ -145,11 +157,28 @@ #4102 #4143 #4463 + #11815 + #12309 + #12005 + #11816 + #11720 + #11834 + #12452 + #11979

  • Rekordbox: Save all loops and correct AAC timing offset for CoreAudio #2779
  • +
  • + Rekordbox: Fix missing playlists due to invalid child ID + #10955 +
  • +
  • + Rekordbox: Fix unhandled exception when parsing corrupt PDB files + #10452 + #4040 +
  • Improve log messages during schema migration #2979 @@ -221,6 +250,11 @@ #11289 #11287
  • +
  • + Search: Allow to use := and quotes to find exact matches + #12063 + #10699 +
  • Add new "[AutoDJ],add_random_track" to make this feature accessible from controllers #3076 @@ -234,11 +268,32 @@ #3740
  • - Improve presentation of the history library tree + Improve presentation of the History library tree #2996 #4298 #10533
  • +
  • + History: Fix sidebar context menu actions + #4384 +
  • +
  • + Fix assertion when navigating History playlists + #4297 + #10529 +
  • +
  • + Add History cleanup options + #4726 + #9259 + #10714 +
  • +
  • + Fix update of play count after removing tracks from history playlist + #12258 + #12046 + #12256 +
  • Don't store or update metadata of missing tracks in the Mixxx database to prevent inconsistencies with file tags #3811 @@ -290,10 +345,6 @@ #4165 #4168
  • -
  • - Add support for m4v files - #4088 -
  • Adjust ReplayGain: Allow user to update the replaygain value based on a deck pregain value #4031 @@ -325,21 +376,21 @@ #11235
  • - History: Fix sidebar context menu actions - #4384 + Tracks table: Add keyboard shortcut Ctrl+Enter to open track properties + #4347
  • - Fix assertion when navigating history playlists - #4297 - #10529 + Tracks table: Home/End keys jump to first/last row + #4850
  • - Track table: Add keyboard shortcut Ctrl+Enter to open track properties - #4347 + Tracks table: dont wrap around if Shift is pressed + #12391
  • - Track table: Home/End keys jump to first/last row - #4850 + Tracks table: avoid wrong pre-selection with no tracks selected previously + #12321 + #12064
  • Re-enable shortcuts after editing controls @@ -388,12 +439,6 @@ Traktor library: fix importing track key #4701
  • -
  • - Add History cleanup options - #4726 - #9259 - #10714 -
  • Track Menu: Add action to select loaded track in library #4740 @@ -401,6 +446,8 @@
  • Track Menu: Add menu for Analyze and Reanalyze #4806 + #11873 + #11872
  • Track Menu: Add support for overriding analyzis settings about variable/constant BPM on a per-track basis @@ -429,6 +476,8 @@ Track Menu: Allow to reset loops and also via "[ChannelN], loop_remove" control object #4802 #10748 + #12392 + #12521
  • Track Menu: Show 'Update ReplayGain' only in decks' menus @@ -439,6 +488,32 @@ #11171 #10761
  • +
  • + Track Menu: Restore "Remove from playlist" in History + #11591 + #10974 +
  • +
  • + Track menu: Enable Lock BPM action if any selected track BPM is unlocked + #12385 +
  • +
  • + Track menu: Add "Delete Track Files" entry as move to trash with Qt >= 5.15 + #3212 + #11842 +
  • +
  • + Tracks table: Fix initial track selection with BackTab + #11130 +
  • +
  • + Tracks table: Try to restore selection position after track removal + #11196 +
  • +
  • + Tracks table: Remove parenthesis from play counter display + #11357 +
  • Remove/hide tracks dialog: Add 'Don't ask again' checkbox #11239 @@ -451,6 +526,10 @@ Library Scanner: Sort files before adding them #10919
  • +
  • + Library Scanner: Fix track relocation query + #12462 +
  • Show time in addition to the date in the timestamp column #4900 @@ -467,16 +546,48 @@ #11136
  • - Tracks table: Fix initial track selection with BackTab - #11130 + macOS scrollbar: Make sure last track is shown in library + #11669 + #9495
  • - Tracks table: Try to restore selection position after track removal - #11196 + library: right align BPM, duration & bitrate values + #11634 + #11668 + #11657
  • - Tracks table: Remove parenthesis from play counter display - #11357 + Lib sidebar: right click selection fixes + #11574 + #11208 + #11712 +
  • +
  • + Refocus library, after editing skin controls + #11767 +
  • +
  • + Crates: only store or activate sibling crate if it's valid + #11770 + #11769 +
  • +
  • + Library: fix performance with large playlists + #11851 + #11724 +
  • +
  • + Playlists: simplify import function, add whitespace before the # suffix + #12246 +
  • +
  • + Library: add multi-line editor delegate for comment column + #11752 +
  • +
  • + Destroy PlayerInfo after EngineRecord is stopped to fix a debug assertion + #12341 + #12242
  • iTunes: Modularize importer and use @@ -491,6 +602,41 @@ #11500 #11509
  • +
  • + iTunes: Fix sporadic crash during unit tests due to a not initialized reference. + #11666 +
  • +
  • + iTunes: Permit duplicate playlist names by identifying playlists by id (rather than name) + #11794 +
  • +
  • + iTunes: Re-enable test and add + composer + , + playCount + , + lastPlayedAt + and + dateAdded + to model + #11948 +
  • +
  • + Track Properties: Don't clear unsaved properties when updating star rating + #11565 + #11540 +
  • +
  • + Track Properties: Focus Double-clicked property field for edit + #11764 + #11804 + #11802 +
  • +
  • + Track Properties: Display the samplerate + #12418 +
  • Refactoring of library code #2756 @@ -518,6 +664,7 @@ #4893 #10861 #10871 + #12082
  • @@ -539,6 +686,13 @@ #4149 #4276 #3944 + #11828 + #11831 + #11829 + #12431 + #11788 + #12234 + #12499

  • Fix issue with half/double BPM calculation when using sync @@ -571,17 +725,26 @@ Audio Codecs

      +
    • + Add support for m4v files + #4088 +
    • Fix recovering from FAAD2 decoding issues #2850
    • - SoundSourceMP3: Log recoverable errors as info instead of warning + MP3: Log recoverable errors as info instead of warning #4365
    • - Fix type detection of AIFF files - #4364 + MP3: Garbage detection fix + #12464 +
    • +
    • + MP3: Improve decoding precision on Windows + #11911 + #11888
    • AAC encoder: Fixed a memory leak @@ -598,15 +761,16 @@ Fix file type detection when file has wrong file extension by determining the MIME type from content #4602 #4600 -
    • -
    • - Fix handling of files with wrong suffix #4615 #7970 #10624 #4683 #10669
    • +
    • + Fix type detection of AIFF files + #4364 +
    • Fix synchronization time stamps of ModPlug files #4826 @@ -625,6 +789,27 @@ #11182 #11119
    • +
    • + Fix missing file name in file metadata error message + #11965 + #11964 +
    • +
    • + Verify the "first sound" of as an analysis sanity check + #4773 + #11887 + #11946 + #11940 +
    • +
    • + Fix zeros in the first m4a chunk on Linux + #11879 +
    • +
    • + Fix overlapping buffers when decoding m4a files using ffmpeg + #11760 + #11545 +

    Audio Engine @@ -692,10 +877,6 @@ Rubberband: Improve mono-compatibility for R3 "finer" #11418

  • -
  • - Verify the "first sound" of as an analysis sanity check - #4773 -
  • Fix a possible crash when ejecting a track #11334 @@ -711,6 +892,53 @@ #11435 #6993
  • +
  • + Auto DJ: Fix sharp cut transition after cueing a track without a defined intro + #11629 + #11621 +
  • +
  • + Auto DJ: Don't use removed Intro end and outro start makers, use transition time instead + #11830 +
  • +
  • + Auto DJ: Fix GUI freeze when updating duration for many selected tracks + #12530 + #12520 + #12537 +
  • +
  • + Fix: possible cash when ejecting track from a controller + #11884 + #11819 +
  • +
  • + KeyControl: fix keylock/unlock bugs, reset pitch_adjust + 4710 +
  • +
  • + Looping: fix asserts for loop move + #11735 +
  • +
  • + ReadAheadManager: fix loop wraparound reader condition + #11717 +
  • +
  • + Fix wrong visual play position when inside loop + #11840 + #11836 +
  • +
  • + Slip mode: consider loop for background position only if it was enabled before slip + #11848 + #11844 +
  • +
  • + Looping: reset loop_end_pos on eject + #12224 + #12223 +
  • Refactoring of beatgrid/beatmap code #4044 @@ -737,7 +965,6 @@ #4336 #4409 #4361 - #4255 #4488 #4411 #4498 @@ -746,6 +973,10 @@ #4510 #4607 #11263 + #12368 + #12349 + #12071 + #12016
  • Refactoring of audio engine code @@ -803,9 +1034,58 @@ Controller Mappings

      +
    • + Behringer DDM4000 mixer: Update controller mapping + #4262 + #4799 +
    • +
    • + Hercules DJControl MIX: New mapping + #11279 +
    • +
    • + Hercules DJ Console RMX: Replace not defined CO name pitch_reset by pitch_set_default + #12441 +
    • +
    • + Korg nanoKONTROL2: Removed Mixco scripts + #2682 +
    • +
    • + Korg nanoKONTROL2: Don't try to configure more than 4 main decks + #12322 + #12317 +
    • +
    • + MAudio Xponent: Removed along with Mixco scripts + #2682 +
    • +
    • + MIDI4lights: Give beginTimer callbacks the anonymous function expression form + #12048 +
    • +
    • + Novation Twitch: Removed along with Mixco scripts + #2682 +
    • Novation Launchpad: Update controller scripts #2600 + #11914 +
    • +
    • + Numark DJ2GO2 Touch: Fix sampler, hotcue, beatloop buttons + #4287 + #11595 +
    • +
    • + Numark MixTrack Pro 3: Fix beginTimer callback syntax + #12401 + #12369 +
    • +
    • + Pioneer DDJ-FLX4: New mapping base on DDJ-400 + #11245
    • Roland DJ-505: Make blinking lights blink in sync and other improvements @@ -813,38 +1093,43 @@ #4517
    • - Behringer DDM4000 mixer: Update controller mapping - #4262 - #4799 + Traktor Kontrol S2 MK1: Add calibration and refactor + #11237
    • - Numark DJ2GO2 Touch: Fix sampler, hotcue, beatloop buttons - #4287 + Traktor Kontrol S2 MK2 fix loaded chain preset CO + #11823 + #10667
    • - Denon MC6000MK2: Improve mapping code - #4385 + Traktor Kontrol S2 MK3: Use FX select buttons to set quick effect presets + #11702
    • - Yaeltex MiniMixxx: Add controller mapping - #4350 + Traktor Kontrol S3: script improvements, vanilla-like FX behavior, control initialization, better scratching, and more + #11199 + #10645 + #12409 + #12510
    • - Traktor S3: Fix timedelta calculation bugs - #4646 - #10645 + Traktor Kontrol S4 Mk3: add controller mapping + #11284
    • - Novation Twitch: Removed along with Mixco Scripts - #2682 + Traktor Kontrol Z1: Add new HID mapping + #12366 + #12426
    • - Korg Nanokontrol 2: Removed along with Mixco Scripts - #2682 + Yaeltex MiniMixxx: Add controller mapping + #4350
    • - MAudio Xponent: Removed along with Mixco Scripts - #2682 + Various mappings: Fix + waveform_zoom + ranges + #12393

    @@ -857,7 +1142,9 @@

  • Add support to access HID FeatureReports - #3051 + #11326 + #10828 + #11664
  • Add function to request HID InputReports, to determine controller state at startup @@ -881,6 +1168,20 @@ #11470 #11461
  • +
  • + HID mappings: Modernize and document common-hid-packet-parser.js + #4718 + #4894 +
  • +
  • + HID mappings: Small fixes for common-hid-packet-parser.js + #11925 +
  • +
  • + HID mappings: Add [Main] to the list of valid groups + #12102 + #12406 +
  • Consistently use "mapping" instead of "preset" to refer to controller mappings #3472 @@ -957,19 +1258,13 @@ #11415
  • - Added Trace for the mapping connections, to allow JS profiling - #4766 -
  • -
  • - Fix crash when using - midi.sendShortMsg - and platform vnc - #4635 + Components JS: make JogWheelBasic correctly switch which deck it controls + #11913 + #11867
  • - HID mappings: Modernize and document common-hid-packet-parser.js - #4718 - #4894 + Added Trace for the mapping connections, to allow JS profiling + #4766
  • Controller preferences: Allow creating a new mapping with 'No Mapping' selected @@ -989,6 +1284,13 @@ Retire Mixco Scripts #2682
  • +
  • + Relax strictness of + ControllerScriptInterfaceLegacy + methods. + #11474 + #11473 +
  • Prepare code for upcoming ES6 based controller mapping system with module support #2682 @@ -996,6 +1298,7 @@ #2875 #2936 #2946 + #11953
  • Other refactorings of controller code @@ -1019,6 +1322,61 @@ #4627 #4738 #11160 + #11662 + #11622 + #12400 + #12468 +
  • +
  • + feat(control): Do not show CO aliases in developer tools window + #12265 +
  • +
  • + Do not use deprecated COs in C++ code/Keyboard Mapping/Skins + #11990 +
  • +
  • + Fix creation of Sampler "end_of_track" CO + #12305 + #12304 +
  • +
  • + Adds a test SoftTakeoverTest.CatchOutOfBounds + #12114 + #12011 +
  • +
  • + make WHotcueButton learnable with the MIDI Wizard + #12252 +
  • +
  • + Control picker menu: add 'waveform_zoom_set_default' + #12247 +
  • +
  • + CO Renaming + #12022 + #12021 + #11998 + #11996 + #11980 + #12007 +
  • +
  • + Fix use of deprecated COs in Skins + #12030 +
  • +
  • + Log warning if deprecated control is used + #11972 +
  • +
  • + ControlObject alias improvements + #11973 +
  • +
  • + Repeat certain control actions if keyboard key is held + #12474
  • @@ -1081,10 +1439,6 @@ #4681 #4736 -

  • - Add new "RGB Stacked" waveform - #3153 -
  • Add harmonic keywheel window #1695 @@ -1098,10 +1452,17 @@
  • Allow skin scaling from preferences #3960 + #11588 + #11586
  • - Invert scroll wheel waveform zoom direction to mach other applications - #4195 + Increased pixmapCache size limit and made it dependent on devicePixelRatio (for HiDPI/Retina displays) + #12416 +
  • +
  • + Fix Icon rendering on HiDPI/retina screens + #12407 + #12361
  • Fix crash if no skin is available @@ -1167,7 +1528,7 @@ #11062
  • - Skins: move skin control hack to c++ (spinny/cover controls, mic/ducking controls) + Move skin control hack to c++ (spinny/cover controls, mic/ducking controls) #11183
  • @@ -1192,15 +1553,93 @@ #4807
  • - LateNight: add buffer underflow indicator + LateNight: Add buffer underflow indicator #4906 #10978
  • +
  • + LateNight: Fix xfader icons in samplers and aux units + #12477 +
  • +
  • + Add LateNight (64 Samplers) + #11715 +
  • Fix outdated tooltips #11387 #11384 + #11860 +
  • +
  • + Add settings directory link to Help menu + #11670 + #11667 +
  • +
  • + Deere: fix skin/library layout (library missing in default view with Qt6) + #11912 +
  • +
  • + Deere: use decks' waveform colors for sliders (Vol + pitch) + #12129 + #10240 +
  • +
  • + Fix sidebar item styling + #11975 + #11957 +
  • +
  • + Shade: Audio Latency meter fix + #11601 +
  • +
  • + Fix 500ms blocking of the whole event loop, when holding mouse down on title bar on Windows + #12359 + #12358 + #12433 + #12458 +
  • +
  • + change SKIN_WARNING to show the skin file:line first, then c++ context + #12253 +
  • +
  • + Fix style of selected QComboBox items on Windows + #12339 + #12323 +
  • +
  • + Fix reading the Spinny cover on Windows + #12103 + #11131 +
  • +
  • + Fix inconsistent/wrong musical keys in the UI + #12051 + #12044
  • +
  • + Add + skins: + path alias + #12463 +
  • +
  • + Remove + Text + , use + TrackProperty + or + Label + #12004 +
  • + +

    + Waveforms and GL Widgets +

    +
    • Waveform overhaul based on QOpenGlWindow and introduce full GLSL shader based waveforms, vumeters and spinnies. This fixes a couple of performance issues mainly on macOS. #10989 @@ -1209,6 +1648,126 @@ #11556 #11450 #10416 + #11734 + #12466 +
    • +
    • + Default to 60 Hz waveform refresh rate + #11918 +
    • +
    • + vsyncthread mode for qopenglwindow frameswapped driven phase locked loop + #12469 +
    • +
    • + Fix micro jitter from clamping position offset to vsync interval + #12470 +
    • +
    • + Avoid flickering when resizing + #12487 +
    • +
    • + Use WaveformWidgetType::AllShaderRGBWaveform as autoChooseWidgetType + #11822 +
    • +
    • + Add new "RGB Stacked" waveform + #3153 +
    • +
    • + Invert scroll wheel waveform zoom direction to mach other applications + #4195 +
    • +
    • + Waveform scrolling: Use set interval setting to fix performance degradation for AMD graphics adapters + #11681 + #11617 +
    • +
    • + Fix waveform zooming + #11650 + #11626 +
    • +
    • + Fix OpenGL version detection + #11673 +
    • +
    • + Fix crash when no GL context is available + #11963 + #11929 +
    • +
    • + Fix stopped waveform rendering in case of vinyl control + #11977 + #10764 +
    • +
    • + Spinny: Fix drawing of non-square cover arts + #11971 + #11967 +
    • +
    • + Spinny/VU-Meter: Fix drawing + #12010 + #11930 +
    • +
    • + Don't use OpenGL for the VU-Meters by default + #11722 +
    • +
    • + Improve GLSL pre-roll triangles + #12100 + #12015 +
    • +
    • + Make scaling of GLSL RGB and RGB L/R waveform amplitudes consistent with simple waveform + #12205 + #12356 +
    • +
    • + Improve rendering of waveform marks + #12203 + #12237 +
    • +
    • + Fix for visual waveform position while scratching outside of an activated loop + #12281 + #12274 +
    • +
    • + avoid overlapping marks + #12273 +
    • +
    • + gradually "compact" the markers if the waveform height is reduced + #12501 +
    • +
    • + fix clamping of the index for drawing the waveform left of zero position + #12411 +
    • +
    • + Fix possible crash when closing Mixxx + #12314 + #11737 +
    • +
    • + Fix EGL support + #11982 + #11641 + #11935 + #11985 + #11982 + #11995 + #11994 +
    • +
    • + Preferences waveforms: recall correct waveform type when selecting an overview type + #12231 + #12226

    @@ -1267,10 +1826,51 @@ #11061

  • - Effects: allow clearing chains with empty '---' preset + Allow clearing chains with empty '---' preset #10859 #10777
  • +
  • + Show Effectchain tooltip + #11902 + #10605 +
  • +
  • + Center Super knob when loading empty (QuickEffect) chain preset + #12320 +
  • +
  • + Read effect data for decks added after initial setup + #12282 + #12277 +
  • +
  • + Fix deletion of effect chain presets created in current session + #11886 +
  • +
  • + Don't reset "super" and "mix" knob on startup + #11781 + #11773 +
  • +
  • + Re-add empty chain preset when resetting to defaults + #11705 +
  • +
  • + Add a missing early return + #11809 + #111808 +
  • +
  • + Pitch Shift effect: set Meta default to 0.5 (center) + #12481 +
  • +
  • + Update EffectSlot meta default value according to loaded effect + #12480 + #12479 +
  • Effect refactoring: Effect chain saving/loading, parameter hiding/rearrangement, effect preferences overhaul #4467 @@ -1318,6 +1918,7 @@ #11376 #11456 #11454 + #11695
  • @@ -1349,11 +1950,13 @@ Drop Ubuntu Groovy and Impish support because of EOL #4283 #4849 + #12353

  • - Support Ubuntu Kinetic and Jammy + Support Ubuntu Noble and Jammy #4780 #4857 + #12353
  • Add NixOS support @@ -1367,6 +1970,40 @@ #3089 #3545
  • +
  • + Windows packaging: Use Azure for signing exe, msi and all dlls with timestamp and sha256 + #12465 + #4824 + #4825 +
  • +
  • + macOS packaging: Fix signing and migrate script to + notarytool + #12123 + #12089 + #12095 +
  • +
  • + macOS packaging: Enable app sandbox in unsigned 2.4 builds too + #12138 +
  • +
  • + macOS packaging: Fix regression that caused + Sandbox::canAccess + to fail + #12457 + #12137 + #11552 +
  • +
  • + macOS packaging: Fix running macOS bundle from development build directory + #12099 +
  • +
  • + Hide applocal group from Windows installer + #12118 + #11992 +
  • Other @@ -1399,6 +2036,13 @@ #11368 #11144 #4866 + #12442 + #12351 + #12288 + #12197 + #11754 + #11741 + #12518

  • Improve GitHub workflow continuous integration @@ -1434,6 +2078,10 @@ #11396 #11386 #11414 + #12502 + #12434 + #11962 + #11945
  • Improve pre-commit hook @@ -1458,12 +2106,15 @@ #10929 #11369 #11388 + #11889
  • Improve Lauchpad PPA builds #4277 #4285 #4425 + #12347 + #11729
  • Update vcpkg build environment for Windows and macOS @@ -1479,18 +2130,27 @@ #11238 #11457 #11562 + #12370 + #11733
  • Windows: Fix extraction of build environment archive when using 7-Zip #11510
  • +
  • + Fix Windows warnings and enable "Treat all compiler warnings as errors" + #11607 + #12417 +
  • Devendor libraries from the mixxx lib directory #4201 #4202 + #11839 + #11742 + #11841
  • - Update Google Benchmark library to v1.6.0 #4540
  • @@ -1506,6 +2166,62 @@ Update rigtorp/SPSCQueue #4678
  • +
  • + macOS: Fail early if the Xcode command line tools are not installed. + #11699 +
  • +
  • + macOS buildenv: Improve error messages for CI-only wrappers + #12382 +
  • +
  • + Improve cmake first time error reporting + #11635 + #11596 + #11597 +
  • +
  • + Manual include #include "moc_*.cpp" to speed up build + #11567 +
  • +
  • + Fix building Mixxx with SDK 11 + #11766 +
  • +
  • + chore: Fix spelling and formatting issues + #11890 +
  • +
  • + Prefer mold or lld as linker to speed up linking + #11790 + #11796 +
  • +
  • + feat: allow sanitizers on GCC as well + #12002 +
  • +
  • + Update manifest even if one job fails + #12091 +
  • +
  • + Mixxx 2.4: Fail Qt6 build not on GitHub Actions + #12293 +
  • +
  • + CMakeLists: Relativize + __FILE__ + paths by default + #12350 +
  • +
  • + Debug: Add Rust-inspired + DBG + macro for quick print-debugging + #12344 + #12383 +
  • Migration to Qt6 (work in progress) #4052 @@ -1601,16 +2317,42 @@ #11266 #11312 #11389 -
  • -
  • - Disable QWidget based library with Qt6, support only QML skins #4393 + #12268 + #12240 + #12056 + #12430 + #12029 +
  • +
  • + Allow to compile with precompiled headers, enabled on Windows by default + #12381 + #12080 + #12410 + #12360 + #12352 + #12346 + #12338 + #12327 + #12308 + #12303 + #12302 + #12298 + #12229 + #12079 + #12058 + #12037 + #12024 + #12025
  • Made use of inclusive language #2894 #3868 #11017 + #11968 + #11959 + #11942
  • Improve the unit tests @@ -1700,6 +2442,14 @@ Fix translation related warnings #11539
  • +
  • + Remove redundant + cmn + translation in favor of + zh + #11793 + #11791 +
  • Improve Vinyl control quality indicator #3279 @@ -1712,7 +2462,7 @@
  • Track info dialog: Fix crash when trying to scale 0.0 BPM #4587 - 1955853 + #1955853
  • Track info dialog: Add track color selector @@ -1722,22 +2472,18 @@
  • Tweak remove/hide track confirm message to match confirm exit message #4577 - 1947992 + #1947992
  • Implement Un-eject by pressing eject again #4668 + #11246
  • Preferences > Effects: Fix Tab key navigation / UX #4702 #10579
  • -
  • - Windows builds: Sign binary and installer with timestamp and sha256 - #4824 - #4825 -
  • Preferences: Added option to keep deck playing on track load #10944 @@ -1748,10 +2494,61 @@ #11145 #10413
  • +
  • + Preferences: simplification & layout fixes + #12429 +
  • +
  • + Pref Sound: auto select free device channels + #11859 + #10163 +
  • +
  • + minor Preferences fixes + #12399 +
  • +
  • + Preferences: use helper for input widget scroll safeguard + #11663 +
  • +
  • + macOS: set preferences dialog title to the selected page title + #11696 +
  • +
  • + macOS: fix the preferences menu and opening the settings directory + #11679 +
  • +
  • + macOS: fix slider styling in preferences dialog + #11647 +
  • +
  • + Preferences > Mixer: apply & save settings only in slotApply(), fix bugs, improve UX + #11527 +
  • +
  • + Preferences > Mixer: fix reset of EQ auto-reset checkbox + #11818 + #11817 +
  • +
  • + Preferences > Interface: avoid unneeded skin reload, clean up + #11853 +
  • +
  • + Preferences > Hardware: sound tab order + #11926 +
  • macOS: Add better rasterization of program icon #10958
  • +
  • + make decks' xfader assignment persistent + #12074 + #10122 +
  • Allow building Mixxx on OpenBSD #11083 @@ -1765,6 +2562,19 @@ #11554 #11260
  • +
  • + (fix) linux launcher: add missing quote to command line + #11826 + #11820 +
  • +
  • + Delete obsolete -platform xcb args + #11805 +
  • +
  • + A small fix to .desktop file that improves Gnome dock integration on + #12424 +
  • Replace Launchpad bugs by GitHub issues #10850 @@ -1917,6 +2727,45 @@ #11431 #11434 #11301 + #11688 + #11685 + #12000 + #12003 + #11684 + #12031 + #12008 + #12054 + #11768 + #11893 + #11636 + #12026 + #12230 + #12375 + #11619 + #11917 + #11936 + #12033 + #12263 + #12212 + #12066 + #12065 +
  • + +

    + Known issues +

    +
      +
    • + Volume / Loudness spikes on Windows with M4A/AAC files. + Last known working version is Windows 10 build 17763. + Affected versions are Windows 10 build 19041 and Windows 11 build 22000. + A fix is promised in 2024-02 with Windows 11 build 26016. + #12289 + #11094 +
    • +
    • + Different, language depending library sorting on macOS + #12517
    @@ -2244,7 +3093,7 @@
  • macOs: Fix frozen skin control after Ctrl-Click #10869 - 10831 + #10831
  • Avoid redundant messages boxes after track loading fails @@ -2263,10 +3112,6 @@ Prevent wild numbers from appearing during scratching under vinyl control. #10916
  • -
  • - Rekordbox: Fix missing playlists due to invalid child ID - #10955 -
  • Fixed a possible crash due to a race condition when editing cue points. #10976 @@ -2702,11 +3547,6 @@ #10485 #4161
  • -
  • - Fix unhandled exception when parsing corrupt Rekordbox PDB files - #10452 - #4040 -
  • Fix Echo effect adding left channel samples to right channel #4141 diff --git a/tools/git_extract_changelog_entries.py b/tools/git_extract_changelog_entries.py new file mode 100755 index 00000000000..1d73ff3bbc6 --- /dev/null +++ b/tools/git_extract_changelog_entries.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 + +""" +Git Extract Changelog Entries + +This script iterates through Git commits and extracts a changelog line for all +merged pull request in the given range to stdout + +Usage: + python script.py --start_commit \ + [--end_commit ] [--repo_path /path/to/your/repo] + +Dependencies: + - GitPython library +""" + +import git +import re +import argparse + + +def extract_pull_requests(repo_path, start_commit, end_commit): + repo = git.Repo(repo_path) + pr_pattern = re.compile(r"Merge pull request #(\d+)") + + for commit in repo.iter_commits(rev=f"{start_commit}..{end_commit}"): + match = pr_pattern.search(commit.summary) + if match: + pr_number = match.group(1) + commit_message_lines = commit.message.split("\n") + print( + f"* {commit_message_lines[2]} " + + f"[#{pr_number}]" + + f"(https://github.com/mixxxdj/mixxx/pull/{pr_number})" + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description="Git Extract Changelog Entries" + ) + parser.add_argument( + "--start_commit", required=True, help="Starting commit SHA" + ) + parser.add_argument( + "--end_commit", default="HEAD", help="Ending commit SHA (default HEAD)" + ) + parser.add_argument( + "--repo_path", + default=".", + help="Path to the Git repository (default: current directory)", + ) + + args = parser.parse_args() + extract_pull_requests(args.repo_path, args.start_commit, args.end_commit)