<component type="desktop-application">
<id>org.mixxx.Mixxx</id>
<name>Mixxx DJ Software</name>
<summary>Everything you need to perform live DJ mixes</summary>
<project_license>GPL-2.0</project_license>
<description>
<p>
Mixxx is free DJ software that gives you everything you need to perform
live DJ mixes. Blend songs together with automatic BPM matching and
remix on-the-fly with looping and hot cues.
Whether you're a pro DJ or just getting started, Mixxx has you covered.
</p>
<p>
Mixxx works with ALSA, JACK, OSS and supports many popular DJ
controllers. Key features include:
</p>
<ul>
<li>Parallel or split scratchable waveform displays</li>
<li>MP3, OGG, WAVE, FLAC, and optional AAC (M4A) playback</li>
<li>WAVE, OGG, and optional MP3 recording</li>
<li>Fast, database-powered library</li>
<li>Crates and playlists for organizing your music</li>
<li>Reads iTunes, Traktor, and Rhythmbox libraries</li>
<li>Cross-platform - works on Windows, Mac OS X and Linux</li>
<li>Shoutcast and Icecast broadcasting</li>
<li>Support for many DJ MIDI and HID controllers out-of-the-box</li>
<li>Advanced MIDI scripting engine for maximum flexibility</li>
<li>Vinyl emulation with Serato, Traktor, and Mixvibes timecode support</li>
<li>Beat and key detection</li>
<li>ReplayGain volume normalization</li>
<li>Automatic crossfading with Auto DJ</li>
<li>Skinnable interface with several skins bundled</li>
</ul>
</description>
<pkgname>mixxx</pkgname>
<launchable type="desktop-id">org.mixxx.Mixxx.desktop</launchable>
<icon type="remote" width="48" height="48">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/icons/48x48/mixxx_mixxx.png</icon>
<icon type="cached" width="64" height="64">mixxx_mixxx.png</icon>
<icon type="remote" width="64" height="64">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/icons/64x64/mixxx_mixxx.png</icon>
<icon type="remote" width="128" height="128">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/icons/128x128/mixxx_mixxx.png</icon>
<icon type="stock">mixxx</icon>
<url type="homepage">https://mixxx.org</url>
<url type="bugtracker">https://github.com/mixxxdj/mixxx/issues/</url>
<url type="help">https://mixxx.org/support/</url>
<url type="donation">https://mixxx.org/donate/</url>
<url type="translate">https://explore.transifex.com/mixxx-dj-software/</url>
<url type="contact">https://mixxx.zulipchat.com</url>
<categories>
<category>AudioVideo</category>
<category>Audio</category>
<category>Midi</category>
<category>Mixer</category>
<category>Player</category>
<category>Recorder</category>
<category>Sequencer</category>
</categories>
<provides>
<modalias>usb:v22F0p0008d*</modalias>
<modalias>usb:v1C75p*</modalias>
<modalias>usb:v1397p*</modalias>
<modalias>usb:v154Ep*</modalias>
<modalias>usb:v1157p*</modalias>
<modalias>usb:v23C7p*</modalias>
<modalias>usb:v06F8p*</modalias>
<modalias>usb:v15E4p*</modalias>
<modalias>usb:v0944p*</modalias>
<modalias>usb:v17CCp*</modalias>
<modalias>usb:v057Ep*</modalias>
<modalias>usb:v08E4p*</modalias>
<modalias>usb:v2B73p*</modalias>
<modalias>usb:v13E5p*</modalias>
<modalias>usb:v200Cp*</modalias>
<modalias>usb:v0582p*</modalias>
<modalias>usb:v054Cp*</modalias>
</provides>
<screenshots>
<screenshot type="default">
<caption>Mixxx with the default LateNight PaleMoon skin</caption>
<image type="source" width="3840" height="2160">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-1_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-1_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-1_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-1_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-1_224x126.png</image>
</screenshot>
<screenshot>
<caption>Mixxx with the LateNight Classic skin</caption>
<image type="source" width="3840" height="2160">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-2_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-2_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-2_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-2_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-2_224x126.png</image>
</screenshot>
<screenshot>
<caption>Mixxx with the Deere skin</caption>
<image type="source" width="3840" height="2160">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-3_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-3_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-3_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-3_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-3_224x126.png</image>
</screenshot>
<screenshot>
<caption>Mixxx with the Shade Classic skin</caption>
<image type="source" width="3840" height="2160">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-4_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-4_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-4_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-4_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-4_224x126.png</image>
</screenshot>
<screenshot>
<caption>Mixxx with the Shade Dark skin</caption>
<image type="source" width="3840" height="2160">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-5_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-5_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-5_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-5_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-5_224x126.png</image>
</screenshot>
<screenshot>
<caption>Mixxx with the Shade Summer Sunset skin</caption>
<image type="source" width="3840" height="2160">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-6_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-6_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-6_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-6_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-6_224x126.png</image>
</screenshot>
<screenshot>
<caption>Mixxx with the Tango skin</caption>
<image type="source" width="3840" height="2160">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-7_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-7_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-7_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-7_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/90689ed8b835ff667d9858e06dde9c69/screenshots/image-7_224x126.png</image>
</screenshot>
</screenshots>
<releases>
<release type="stable" version="2.4.2" timestamp="1732579200">
<description>
<p>
Controller Mappings
</p>
<ul>
<li>
Denon MC7000: Fix star up/down logic by only handling button down events
#13588
</li>
<li>
Intech TEK2: Add initial mapping
#13521
</li>
<li>
Korg Kaoss DJ: Update script
#12683
</li>
<li>
MIDI for light: Fix unsound timer handling
#13117
</li>
<li>
Novation Dicer: Remove flanger mapping with quickeffect toggle
#13196
#13134
</li>
<li>
Novation Launchpad X: Fix detection on macOS
#13691
#13633
</li>
<li>
Numark PartyMix: Fix EQ (script binding) display name
#13255
</li>
<li>
Numark Scratch: Add initial mapping
#4834
#13375
</li>
<li>
Pioneer DDJ-400 and DDJ-FLX4: Remove tap beat mapping to resolve conflict with toggle quantize and fix shift + play
#13815
#13813
#13857
</li>
<li>
Reloop Beatmix 2/4: Fix eject button and jog LED being lit on track unload
#13601
#13605
</li>
<li>
Reloop Mixage MK1, MK2, Controller Edition: Add initial mapping
#12296
</li>
<li>
Sony SIXAXIS: Fix mapping
#13319
</li>
</ul>
<p>
Fixes
</p>
<ul>
<li>
Handle not supported files when dragging to waveforms and spinnies
#13208
#13271
#13275
</li>
<li>
Fix Sqlite 3.45 builds by using only single quotes for SQL strings
#13247
#13257
</li>
<li>
LateNight: Use default colors for sampler overviews (like main decks)
#13274
</li>
<li>
Library: Allow to drop files to decks with unsupported or no file extensions
#13209
#13204
</li>
<li>
Update build environment with libdjinterop 0.21.0
#13288
</li>
<li>
Move to GitHub workflow runner macos-12
#13296
#13248
</li>
<li>
Recording: with empty config, save default split size immediately
#13304
</li>
<li>
Allow to drop files with supported MIME type regardless off the file extensions
#13209
#13204
</li>
<li>
Add support for Ubuntu Oracular Oriole and remove Lunar Lobster
#13348
</li>
<li>
Recordbox: Fix string decoding issues
#13293
#13291
</li>
<li>
Mixer preferences: Don't update EQs/QuickEffects while applying
#13333
</li>
<li>
Hardware preferences: Fix UX when applying config with missing/busy devices
#13312
</li>
<li>
Fix minor 64 bit CPU performance issue
#13355
</li>
<li>
Fix clicks at loop-out when looping into lead-in
#13294
</li>
<li>
Fix wrong pitch value on startup, caused by
components.Pot
#11814
#13463
</li>
<li>
Engine Prime: Fix build-failure
#13397
</li>
<li>
Engine Prime: Friendlier error message if export fails
#13524
</li>
<li>
macOs: Fix Keyboard shortcuts by not catching num key modifier
#13481
#13305
</li>
<li>
Skins: fix time display to allow AM/PM
#13430
#13421
</li>
<li>
Fix detection last sound if track does not end with silence.
#13545
#13449
</li>
<li>
Remove false positive critical warning related to library columns
#13165
#13164
</li>
<li>
Fix reading metadata for files with wrong extensions
#13218
#13205
</li>
<li>
History: remove purged tracks, auto-remove empty playlists
#13579
#13578
</li>
<li>
Synchronize AutoDJ next deck with top track in queue
#12909
#8956
</li>
<li>
Playlists: Update play duration and bold state in sidebar when dragging tracks into the playlist table
#13591
#13590
#13575
</li>
<li>
Playlists: Keep correct track selection (# position) when sorting
#13103
</li>
<li>
Track file export: Various fixes
#13610
</li>
<li>
Controller engine: Unify/improve logging, expand error dialog's Details box
#13626
</li>
<li>
Fix quantization in the effect engine (metronome effect)
#13636
#13733
</li>
<li>
Musicbrainz: Improved messages
#13672
#13673
</li>
<li>
Fix ReplayGain detection in case of short tracks
#13680
#13676
#13702
#13703
</li>
<li>
Track menu: Avoid crash and UX issues with track nullptr
#13685
</li>
<li>
Disable Properties shortcut in Computer feature views
#13698
</li>
<li>
Overview waveform: Add tooltip info about left-click dragging
#13739
</li>
<li>
Make
hotcue_focus_color_next
/
_prev
COs
ControlPushButton
s to allow direct mappings
#13764
</li>
<li>
Scaled svg cache to speed up drawing in hidpi mode
#13679
</li>
<li>
Update to libdjinterop 0.22.1 for Enigine Prime 4.0.1 support
#13790
</li>
<li>
HID: Avoid repeated error messages from hid_write()/hid_read() in case of errors
#13692
#13660
</li>
<li>
Fix unnecessary painting with covers in library
#13715
</li>
<li>
Fix check for unrelated decks playing when starting Auto DJ
#13762
#13734
</li>
<li>
Fix read before m_bufferInt during scratching
#13917
#13916
</li>
<li>
Fix waveform EQ High&Mid visualization
#13923
#13922
</li>
</ul>
</description>
</release>
<release type="stable" version="2.4.1" timestamp="1715126400">
<description>
<p>
Controller Mappings
</p>
<ul>
<li>
Behringer DDM4000 & BCR2000: Fix exception in JS code
#12969
</li>
<li>
Denon DJ MC6000MK2: Fix mapping of filter knob/button
#13166
</li>
<li>
Denon DJ MC7000: Fix redundant argument and migrate to
hotcue_x_status
#13113
#13121
</li>
<li>
Hercules Inpulse 200: Configure shift-browser knob to scroll the library (quick)
#12932
</li>
<li>
Nintendo Wii Remote: Fix hid script regarding addOutput
#12973
</li>
<li>
Pioneer CDJ: Fix hid script regarding addOutput
#12973
</li>
<li>
Pioneer DDJ-FLX4: Add waveform zoom and other mapping improvements
#12896
#12842
</li>
<li>
Traktor Kontrol F1: Fixes for hid-parser and related script
#12876
</li>
<li>
Traktor S2 Mk1: fix warnings
#13145
</li>
<li>
Traktor S3: Fix mapping crash on macOS
#12840
</li>
<li>
Controller I/O table: sort action column by display string
#13039
</li>
</ul>
<p>
Target Support
</p>
<ul>
<li>
Fix various minor build issues
#12853
#12847
#12822
#12892
#13079
#12989
</li>
<li>
CMakeLists: Always prefer OpenGL framework on macOS
#13080
</li>
<li>
Use capitalized Mixxx in Windows installer and start menu
#13178
</li>
</ul>
<p>
Skins
</p>
<ul>
<li>
Deere: make sampler rows persist
#12928
</li>
<li>
Tango: Remove unneeded waveform Singleton
#12938
</li>
<li>
Tango 64: fix Main VU meter
</li>
<li>
Prevent possible crash in customs skins using parallel waveforms
#13043
#12580
#13136
</li>
<li>
Slider tooltip: consider orientation for up/down shortcut tooltips + add support for WKnobComposed
#13088
</li>
<li>
Tooltips: update 'hotcue' with saved loop features
#12875
</li>
<li>
Animate long press latching of sync button
#12990
#13212
</li>
<li>
Polish fx chain controls
#12805
</li>
<li>
Waveforms: draw loop gradient at the correct position
#13061
#13060
</li>
<li>
Waveform / spinnies: don't take keyboard focus on click
#13174
#13211
</li>
</ul>
<p>
Library
</p>
<ul>
<li>
Sidebar: show track count and duration of History playlists
#12811
#13020
#13019
#12788
#12880
#12882
</li>
<li>
Computer feature: update removable devices on Linux
#12893
#12891
</li>
<li>
Playlists: Prevent removing tracks from locked playlists
#12927
</li>
<li>
History feature: Fix removing deleted tracks after export
#13016
#13000
</li>
<li>
BPM display uses decimal separator of selected locale
#13067
#13051
</li>
<li>
Fix relink directory when migrate between Linux/macOS and Windows
#12878
</li>
<li>
Allow adding new directories while watched directories are missing
#12937
#10481
</li>
<li>
Require a minimum movement before initiating the drag&drop of tracks
#13135
#12902
#12979
</li>
<li>
iTunes/Serato/Traktor/Rhythmbox: Print error if library file could not be opened
#13012
</li>
<li>
Playlists: improve table update after deleting (purging) track files
#13127
</li>
<li>
Fix Color column width issue
#12852
</li>
<li>
Tracks: select track row when clicking the preview button (only when starting preview)
#12791
</li>
<li>
Library track menu: show Hide action also in Playlist & Crates
#11901
</li>
<li>
iTunes: Obtain FileAccess before accessing iTunes XML
#13013
</li>
</ul>
<p>
Miscellaneous
</p>
<ul>
<li>
Remove unnecessary unpolish operation of the style, before polish the new style
#12445
</li>
<li>
Developer Tools: Initially sort controls by group name, ascending
#12884
</li>
<li>
Waveforms: Fix scratching crossing loop boundaries
#13007
</li>
<li>
Prohibit un-replace when deck is playing
#13023
#12906
</li>
<li>
Track Properties dialog: Prevent wiping metadata when applying twice quickly
#12965
#12963
</li>
<li>
AutoDJ: Fix button state after error message about playing deck 3/4
#12976
#12975
</li>
<li>
Tagfetcher: Cache fetched covers
#12301
#11084
</li>
<li>
Avoid beats iterator being one off and DEBUG_ASSERT in Beats::iteratorFrom
#13150
#13149
</li>
<li>
Show hint if resource path in CMakeCache.txt does not exist
#12929
</li>
<li>
Always calculate the auto value for colorful console output
#13153
</li>
<li>
Fix FLAC recording on macOS and Windows
#10880
#13154
</li>
<li>
LV Mix EQ: Fix pops when enabling in effect rack
#13055
#13073
</li>
<li>
Fix hid addOutput
</li>
</ul>
</description>
</release>
<release type="stable" version="2.4.0" timestamp="1708041600">
<description>
<p>
Music Library: Tracks Table & Track Menu
</p>
<ul>
<li>
Remember track selection when switching library features, fix initial selection etc.
#4177
#4536
#12321
#12064
#11196
#11130
</li>
<li>
Add new library column that shows the last time a track was played
#3140
#3457
#3494
#3596
#3740
</li>
<li>
Add keyboard shortcut Ctrl+Enter to open track properties
#4347
</li>
<li>
Home/End keys jump to first/last row
#4850
</li>
<li>
Wrap selection around at the bottom/top, only if Shift is not pressed
#11090
#11100
#12391
</li>
<li>
Allow to hide/remove tracks from the library by pressing the Delete key
#4330
#7176
#9793
#9837
#10537
#11239
#4577
#10577
#11171
#10761
</li>
<li>
Fix Recording table refresh issues
#4648
</li>
<li>
Show time in addition to the date in the timestamp column
#4900
#10726
#11020
</li>
<li>
Show only the date in Date Added / Last Played columns. Move the time of day to tooltips
#3945
</li>
<li>
Right-align BPM, duration & bitrate values
#11634
#11668
#11657
</li>
<li>
Remove parenthesis from play counter display
#11357
</li>
<li>
Refocus library, after editing skin controls
#11767
</li>
<li>
Fix performance with large playlists
#11851
#11724
</li>
<li>
Add multi-line editor delegate for comment column
#11752
</li>
<li>
Keep current item visible when the view shrinks vertically
#11273
</li>
<li>
macOS scrollbar: Make sure last track is shown in library
#11669
#9495
</li>
<li>
Add action to select loaded track in library
#4740
</li>
<li>
Add menu for Analyze and Reanalyze
#4806
#11873
#11872
</li>
<li>
Add support for overriding analysis settings about variable/constant BPM on a per-track basis
#10931
</li>
<li>
Add menu for looking up track metadata at Discogs, SoundCloud and LastFM
#4772
#4836
</li>
<li>
Add "Delete Track Files" action, does "Move to Trash" with Qt >= 5.15
#4560
#4831
#10763
#11580
#11577
#11583
#3212
#11842
</li>
<li>
Allow to clear the comment field
#4722
#10615
</li>
<li>
Allow to reset loops and also via "[ChannelN], loop_remove" control object
#4802
#10748
#12392
#12521
</li>
<li>
Add 'Update ReplayGain' decks' to track menus
#4031
#4719
</li>
<li>
Restore "Remove from playlist" in History
#11591
#10974
</li>
<li>
Enable Lock BPM action if any selected track BPM is unlocked
#12385
</li>
<li>
Order BPM action by factor, show peview (for single track)
#12701
#10128
</li>
<li>
Provide the same features in all deck track menus
#12214
</li>
<li>
Track table header: Keep menu open after toggling a checkbox
#12218
</li>
</ul>
<p>
Music Library: Sidebar & Searchbar
</p>
<ul>
<li>
Add F2 and Del/Backspace shortcuts for renaming & deleting playlists and crates
#11172
#11235
#4697
#4700
#10294
</li>
<li>
Improve presentation of the History library tree
#2996
#4298
#10533
</li>
<li>
History: Fix sidebar context menu actions
#4384
#4297
#10529
</li>
<li>
History: Add cleanup options
#4726
#9259
#10714
</li>
<li>
History: Fix update of play count after removing tracks
#12258
#12046
#12256
</li>
<li>
Improve UX with right-click and selection after add, rename, delete, duplicate etc.
#11208
#4193
#10488
#11574
#11208
#11712
</li>
<li>
Map Left Arrow Key to jump to parent node and activates it
#4253
</li>
<li>
Crates: only store or activate sibling crate if it's valid
#11770
#11769
</li>
<li>
Add recent searches to a drop down menu of the search box
#3171
#3262
#4505
</li>
<li>
Save search queries across restarts
#4458
#10517
#10561
#4571
</li>
<li>
Enable search in Browse & Recording views
#11014
#11012
#4382
</li>
<li>
Update Clear button when search is disabled
#4447
</li>
<li>
Fix reset to default of search timeout in preferences
#4504
#10589
</li>
<li>
Ctrl+F in focused search box selects the entire search string
#4515
</li>
<li>
Improve keypress handling, fix glitch in popup, strip whitespaces
#4658
</li>
<li>
Enter jumps to track table if search query was transmitted
#4844
Push completion entry to top, to make up/down behave naturally
</li>
<li>
Remove ESC shortcut in favour of new
[Library],focused_widget
#4571
#11030
#10975
</li>
<li>
Restore previous search term when switching between playlists and crates
#11129
#11015
#11477
#11476
</li>
<li>
Add options to disable auto-completion and history
#10942
#10634
</li>
<li>
Require Enter or Right key to search for auto completed strings
#11207
#11289
#11287
</li>
<li>
Allow to use := and quotes to find exact matches
#12063
#10699
</li>
</ul>
<p>
Music Library: Backend & Database
</p>
<ul>
<li>
Add new "[AutoDJ],add_random_track" to make this feature accessible from controllers
#3076
</li>
<li>
Don't store or update metadata of missing tracks in the Mixxx database to prevent inconsistencies with file tags
#3811
</li>
<li>
Update library schema to 37 for synchronizing file modified time with track source on metadata import/export
#3978
#4012
</li>
<li>
Track Metadata: Fix synchronization (import/export) of file tags
#4628
#4631
#4847
#10782
</li>
<li>
Track Metadata: Do not overwrite unchanged multi-valued fields
#12613
#12587
</li>
<li>
Optionally reset metadata on reimport if file tags are missing, enabled by "[Library] ResetMissingTagMetadataOnImport 1").
#4873
</li>
<li>
Logging: Suppress expected and harmless schema migration errors
#4248
</li>
<li>
Fix handling of undefined BPM values
#4062
#4063
#4100
#4154
#4165
#4168
</li>
<li>
Automatic analyze and optimize database
#4199
</li>
<li>
Re-import and update metadata after files have been modified when loading tracks
#4218
</li>
<li>
Re-enable shortcuts after editing controls
#4360
#10184
#10523
</li>
<li>
Allow to remove a track form the disk
#3212
#4639
</li>
<li>
Fix accasional resetting of played counter in database
#4578
#10617
</li>
<li>
Experimental: Fix writing of undefined MusicBrainz Recording ID
#4694
</li>
<li>
Traktor library: fix importing track key
#4701
</li>
<li>
Fix exporting m3u files with tracks and special characters by using the URL format
#4752
</li>
<li>
Library Scanner: Sort files before adding them
#10919
</li>
<li>
Library Scanner: Fix track relocation query
#12462
</li>
<li>
MenuBar: Add shortcut for rescanning library
#11136
</li>
<li>
Playlists: simplify import function, add whitespace before the # suffix
#12246
</li>
<li>
Destroy PlayerInfo after EngineRecord is stopped to fix a debug assertion
#12341
#12242
</li>
<li>
iTunes: Modularize importer and use
iTunesLibrary
on macOS for compatibility with
Music.app
#11353
#11256
#11446
#11444
#11503
#11500
#11509
</li>
<li>
iTunes: Fix sporadic crash during unit tests due to a not initialized reference.
#11666
</li>
<li>
iTunes: Permit duplicate playlist names by identifying playlists by id (rather than name)
#11794
</li>
<li>
iTunes: Re-enable test and add
composer
,
playCount
,
lastPlayedAt
and
dateAdded
to model
#11948
</li>
<li>
Fix setting the wrong default cue color
#11554
#11260
</li>
<li>
Ensure that tracks with an invalid BPM are re-analyzed
#2776
</li>
<li>
Add support for exporting crates, playlists and the library to Engine Prime and Denon standalone controllers
#2753
#2932
#3102
#3155
#3621
#3776
#3787
#3797
#3798
#4025
#4087
#4102
#4143
#4463
#11815
#12309
#12005
#11816
#11720
#11834
#12452
#11979
</li>
<li>
Rekordbox: Save all loops and correct AAC timing offset for CoreAudio
#2779
</li>
<li>
Rekordbox: Fix missing playlists due to invalid child ID
#10955
</li>
<li>
Rekordbox: Fix unhandled exception when parsing corrupt PDB files
#10452
#4040
</li>
<li>
Improve log messages during schema migration
#2979
</li>
<li>
Search related tracks in collection
#3181
#3213
#2796
#4207
</li>
</ul>
<p>
Sync
</p>
<ul>
<li>
Add support for setting an explicit leader for sync lock
#2768
#3099
#3695
#3734
#3698
#3864
#3867
#3921
#4119
#4135
#4149
#4276
#3944
#11828
#11831
#11829
#12431
#11788
#12234
#12499
</li>
<li>
Fix pitch issue with dynamic tracks and sync while cloning tracks
#12515
</li>
<li>
Fix issue with half/double BPM calculation when using sync
#3899
#3706
</li>
<li>
Sync Lock: Don't seek phase when disabling sync
#4169
</li>
<li>
Sync Lock: Fix issues with single-playing syncables
#4155
#4389
</li>
<li>
Re-sync to leader after scratching
#4005
</li>
<li>
Fix audio artifacts when fading from or to zero
#4363
</li>
<li>
EngineBuffer: Fix assert when new track is loaded during playback with sync
#4682
</li>
</ul>
<p>
Audio Codecs
</p>
<ul>
<li>
Add support for m4v files
#4088
</li>
<li>
Fix recovering from FAAD2 decoding issues
#2850
</li>
<li>
MP3: Log recoverable errors as info instead of warning
#4365
</li>
<li>
MP3: Garbage detection fix
#12464
</li>
<li>
MP3: Improve decoding precision on Windows
#11911
#11888
</li>
<li>
AAC encoder: Fix a memory leak
#4386
#4408
</li>
<li>
Improve robustness of file type detection by considering the actual MIME type of the content.
#7970
#4356
#4357
</li>
<li>
Fix file type detection when file has wrong file extension by determining the MIME type from content
#4602
#4600
#4615
#7970
#10624
#4683
#10669
</li>
<li>
Fix type detection of AIFF files
#4364
</li>
<li>
Fix synchronization time stamps of ModPlug files
#4826
#10758
</li>
<li>
ID3v2 parsing: Improve log warnings
#4610
</li>
<li>
ID3v2 parsing: Fix inconsistent import of comment field
#11249
</li>
<li>
Enable Modpug and Wavpack Support on macOS
#11182
#11119
</li>
<li>
Fix missing file name in file metadata error message
#11965
#11964
</li>
<li>
Verify the "first sound" of as an analysis sanity check
#4773
#11887
#11946
#11940
</li>
<li>
Fix zeros in the first m4a chunk on Linux
#11879
</li>
<li>
Fix overlapping buffers when decoding m4a files using ffmpeg
#11760
#11545
</li>
<li>
Fix possible crash with opus files with embedded cover arts and require TagLib 1.11 or newer
#4251
#4252
#10500
</li>
</ul>
<p>
Audio Engine
</p>
<ul>
<li>
Add support for Saved loops
#2194
#3267
#3202
#4265
#7574
#11006
#11003
#12637
#12632
#12623
#12618
</li>
<li>
Fix an issue when pressing multiple cue buttons at the same time
#3382
</li>
<li>
Fix synchronization of main cue point/position
#4137
#10478
#4153
</li>
<li>
Adjust ReplayGain: Allow user to update the replaygain value based on a deck pregain value
#4031
</li>
<li>
Add halve/double controls for beatjump size
#4269
</li>
<li>
Implement Un-eject by pressing eject again
#4668
#11246
</li>
<li>
Implement Un-replace by double-clicking eject
#11246
</li>
<li>
Allow to cancel active loops via beatloop_activate
#4328
#9950
</li>
<li>
Slip Mode: Preserve active (regular) loop when leaving Slip Mode
#11435
#6993
</li>
<li>
Fix possible segfault when ejecting track
#4362
#10497
</li>
<li>
Fix possible crash when ejecting track from a controller
#11884
#11819
</li>
<li>
Fix an assertion when loop is before track start
#4383
#10556
</li>
<li>
Fix and improve snapping to beats in various situations
#4366
#10541
</li>
<li>
Don't wipe inapplicable sound config immediately
#4544
</li>
<li>
Rubberband: Support Version 3 "finer" (near-hi-fi quality) setting, on Windows and MacOs and when available on Linux
#4853
#4855
#11047
</li>
<li>
Rubberband: Add missing padding, preventing it from eating the initial transient
#11120
</li>
<li>
Rubberband: Improve mono-compatibility for R3 "finer"
#11418
</li>
<li>
Fix a possible crash when ejecting a track
#11334
#11257
</li>
<li>
Add a range limits for beatjump_size of 512
#11248
#11203
</li>
<li>
Auto DJ: Fix sharp cut transition after cueing a track without a defined intro
#11629
#11621
</li>
<li>
Auto DJ: Don't use removed Intro end and outro start makers, use transition time instead
#11830
</li>
<li>
Auto DJ: Fix GUI freeze when updating duration for many selected tracks
#12530
#12520
#12537
</li>
<li>
KeyControl: fix keylock/unlock bugs, reset pitch_adjust
4710
</li>
<li>
Looping: fix asserts for loop move
#11735
</li>
<li>
Looping: reset loop_end_pos on eject
#12224
#12223
</li>
<li>
Fix Loop_out not seeking back
#12739
#12742
</li>
<li>
ReadAheadManager: fix loop wraparound reader condition
#11717
</li>
<li>
Slip mode: consider loop for background position only if it was enabled before slip
#11848
#11844
</li>
<li>
Make decks' xfader assignment persistent
#12074
#10122
</li>
<li>
Fix gain issue with cloned tracks
#12435
#10550
</li>
</ul>
<p>
Controller Mappings
</p>
<ul>
<li>
new: Hercules DJControl MIX controller mapping
#11279
</li>
<li>
new: Pioneer DDJ-FLX4 controller mapping based on DDJ-400
#11245
</li>
<li>
new: Traktor Kontrol S4 Mk3 controller mapping
#11284
</li>
<li>
new: Traktor Kontrol Z1 HID controller mapping
#12366
#12426
</li>
<li>
new: Yaeltex MiniMixxx controller mapping
#4350
</li>
<li>
Behringer DDM4000 mixer: Update controller mapping
#4262
#4799
</li>
<li>
Hercules DJ Console RMX: Replace not defined CO name pitch_reset by pitch_set_default
#12441
</li>
<li>
Korg nanoKONTROL2: Don't try to configure more than 4 main decks
#12322
#12317
</li>
<li>
Korg nanoKONTROL2: Removed along with Mixco scripts
#2682
</li>
<li>
MAudio Xponent: Removed along with Mixco scripts
#2682
</li>
<li>
MIDI4lights: Give beginTimer callbacks the anonymous function expression form
#12048
</li>
<li>
Novation Twitch: Removed along with Mixco scripts
#2682
</li>
<li>
Novation Launchpad: Update controller scripts
#2600
#11914
</li>
<li>
Numark DJ2GO2 Touch: Fix sampler, hotcue, beatloop buttons
#4287
#11595
</li>
<li>
Numark MixTrack Pro 3: Fix beginTimer callback syntax
#12401
#12369
</li>
<li>
Roland DJ-505: Make blinking lights blink in sync and other improvements
#4159
#4517
</li>
<li>
Traktor Kontrol S2 MK1: Add calibration and refactor
#11237
</li>
<li>
Traktor Kontrol S2 MK2 fix loaded chain preset CO
#11823
#10667
</li>
<li>
Traktor Kontrol S2 MK3: Use FX select buttons to set quick effect presets
#11702
</li>
<li>
Traktor Kontrol S3: script improvements, vanilla-like FX behavior, control initialization, better scratching, and more
#11199
#10645
#12409
#12510
</li>
<li>
Various mappings: Fix
waveform_zoom
ranges
#12393
</li>
<li>
Various mappings: Ensure required samplers are created
#12769
</li>
</ul>
<p>
Controller Backend
</p>
<ul>
<li>
Never raise a fatal error if a controller mapping tries access a non-existent control object
#2947
</li>
<li>
Add support to access HID FeatureReports
#11326
#10828
#11664
</li>
<li>
Add function to request HID InputReports, to determine controller state at startup
#3317
</li>
<li>
Exclude HID device: ELAN touch screen
#11324
#11323
</li>
<li>
Show otherwise hidden HID devices in developer mode
#11317
</li>
<li>
Use hidapi's hidraw backend instead of libusb on Linux
#4054
</li>
<li>
Fix broken HID controller mappings Traktor Kontrol S2 MK3 and others
#11470
#11461
</li>
<li>
HID mappings: Modernize and document common-hid-packet-parser.js
#4718
#4894
</li>
<li>
HID mappings: Small fixes for common-hid-packet-parser.js
#11925
</li>
<li>
HID mappings: Add [Main] to the list of valid groups
#12102
#12406
</li>
<li>
Consistently use "mapping" instead of "preset" to refer to controller mappings
#3472
</li>
<li>
Introduce new control object
[Library],show_track_menu
to open/close the track menu
#4465
</li>
<li>
Introduce new control object
[Library],sort_focused_column
#4749
#4763
#10719
</li>
<li>
Introduce new control objects
[Master],indicator_250millis
and
[Master],indicator_500millis
#4157
</li>
<li>
Introduce new control object
[Library],clear_search
#4331
</li>
<li>
Introduce new control object
[Library],focused_widget
to focus library directly
#4369
#4490
</li>
<li>
Introduce new control object
LoadTrackFromDeck
and
LoadTrackFromSampler
#11244
</li>
<li>
Don't automatically enable controller if it was disabled before
#4244
#10503
</li>
<li>
Enable Qt logging categories for controller logging
#4523
</li>
<li>
Fix segfault during Mixxx shutdown due to a stale controller connection
#4476
#10553
</li>
<li>
Components JS: Fix syncbutton
#4329
</li>
<li>
Components JS: Add script.posMod for euclidean modulo
#11415
</li>
<li>
Components JS: make JogWheelBasic correctly switch which deck it controls
#11913
#11867
</li>
<li>
Add Trace for the mapping connections, to allow JS profiling
#4766
</li>
<li>
Controller preferences: Allow creating a new mapping with 'No Mapping' selected
#4905
#10540
#10539
</li>
<li>
Add TypeScript declarations for engine and controller scripting API to improve IDE code completion during mapping developent
#4759
</li>
<li>
Retire Mixco Scripts
#2682
</li>
<li>
Relax strictness of
ControllerScriptInterfaceLegacy
methods.
#11474
#11473
</li>
<li>
Do not show ControlObject aliases in developer tools window
#12265
</li>
<li>
Do not use deprecated COs in C++ code/Keyboard Mapping/Skins
#11990
</li>
<li>
Fix creation of Sampler
end_of_track
ControlObjects
#12305
#12304
</li>
<li>
Add a test SoftTakeoverTest.CatchOutOfBounds
#12114
#12011
</li>
<li>
Make WHotcueButton learnable with the MIDI Wizard
#12252
</li>
<li>
Control picker menu: add
waveform_zoom_set_default
#12247
</li>
<li>
CO Renaming
#12022
#12021
#11998
#11996
#11980
#12007
</li>
<li>
Remove deprecated ControlObjects from Skins
#12030
</li>
<li>
Log warning if deprecated control is used
#11972
</li>
<li>
ControlObject alias improvements
#11973
</li>
<li>
Keyboard mapping: Repeat certain control actions if key is held
#12474
</li>
<li>
Keyboard mapping: Return triggers double-click, move Preview functions to P / Shift+P
#12639
</li>
<li>
Keyboard mapping: Various fixes
#12730
</li>
<li>
Update keyboard sheet
#12578
</li>
<li>
Logging: Add support for
QT_MESSAGE_PATTERN
environment variable
#3204
#3518
</li>
<li>
Avoid issue with
stars_up/_down
ControlObjects
#12591
</li>
<li>
hotcue_X_color control: Fix color not stored in cue
#12733
</li>
</ul>
<p>
Skins
</p>
<ul>
<li>
Add harmonic keywheel window
#1695
#3622
#3624
</li>
<li>
Allow skin scaling from preferences
#3960
#11588
#11586
</li>
<li>
Fix icon rendering on HiDPI/Retina screens
#12407
#12361
</li>
<li>
Increase pixmapCache size limit and made it dependent on devicePixelRatio (for HiDPI/Retina displays)
#12416
</li>
<li>
Make beat indicator control behaviour more natural
#3608
</li>
<li>
Fix crash if no skin is available
#3918
#3939
</li>
<li>
Fix crash when starting without a valid skin directory
#4575
#10461
</li>
<li>
Fix leaked controls
#4213
#10293
</li>
<li>
Fix switching from Shade to other skins
#4421
#10558
</li>
<li>
Use double click to reset knobs and sliders
#4509
#9947
</li>
<li>
Use info not warning for skin COs
#4525
</li>
<li>
Spinny: Allow to toggle cover art at runtime
#4565
#10015
</li>
<li>
Passthrough: improve UI / UX
#4794
</li>
<li>
Knob: Hide cursor on wheel event for .8s
#11077
</li>
<li>
Move skin control hack to c++ (spinny/cover controls, mic/ducking controls)
#11183
</li>
<li>
LateNight: Move logo to the right
#4677
</li>
<li>
LateNight: Use correct tooltip for key control toggle
#4696
</li>
<li>
LateNight: Add toggles to show loop and beatjump controls
#4713
</li>
<li>
LateNight: Remove blinking play indicator from mini samplers
#4807
</li>
<li>
LateNight: Add buffer underflow indicator
#4906
#10978
</li>
<li>
LateNight: Fix xfader icons in samplers and aux units
#12477
</li>
<li>
LateNight: use default RGB waveform colors
#12712
</li>
<li>
Add LateNight (64 Samplers)
#11715
</li>
<li>
Deere: fix skin/library layout (library missing in default view with Qt6)
#11912
</li>
<li>
Deere: use decks' waveform colors for sliders (Vol + pitch)
#12129
#10240
</li>
<li>
Shade: Remove initial setting of now accessible effect controls
#4398
#10557
</li>
<li>
Shade: Audio Latency meter fix
#11601
</li>
<li>
Tango: allow to toggle crossfader independently from mixer
#12703
#12654
</li>
<li>
Fix outdated tooltips
#11387
#11384
#11860
</li>
<li>
Add settings directory link to Help menu
#11670
#11667
</li>
<li>
Fix sidebar item styling
#11975
#11957
</li>
<li>
Fix 500ms blocking of the whole event loop, when holding mouse down on title bar on Windows
#12359
#12358
#12433
#12458
</li>
<li>
Change SKIN_WARNING to show the skin file and line first, then c++ context
#12253
</li>
<li>
Fix style of selected QComboBox items on Windows
#12339
#12323
</li>
<li>
Fix reading the Spinny cover on Windows
#12103
#11131
</li>
<li>
Fix inconsistent/wrong musical keys in the UI
#12051
#12044
</li>
<li>
Add
skins:
path alias
#12463
</li>
<li>
Remove
Text
, use
TrackProperty
or
Label
#12004
</li>
<li>
Beat spinBox/AutoDJ spinbox: Enter & Esc also move focus to library
#4617
#4845
</li>
<li>
Add effect chain menu button to Deere, polish in Tango
#12735
</li>
<li>
Skins: reload default.qss when (re)loading a skin
#12219
</li>
</ul>
<p>
Waveforms and GL Widgets
</p>
<ul>
<li>
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
#10416
#11460
#11556
#11450
#10416
#11734
#12466
#12678
#12731
</li>
<li>
Default to 60 Hz waveform refresh rate
#11918
</li>
<li>
Introduce a VSsync mode driven by a phase locked loop
#12469
</li>
<li>
Make VSync mode 0 refer to the default mode and make ST_PLL the default on macOS, ST_TIMER otherwise
#12489
</li>
<li>
Use WaveformWidgetType::AllShaderRGBWaveform as autoChooseWidgetType
#11822
</li>
<li>
Add new "RGB Stacked" waveform
#3153
</li>
<li>
Fix micro jitter from clamping position offset to vsync interval
#12470
</li>
<li>
Avoid flickering when resizing
#12487
</li>
<li>
Invert scroll wheel waveform zoom direction to mach other applications
#4195
</li>
<li>
Waveform scrolling: Use set interval setting to fix performance degradation for AMD graphics adapters
#11681
#11617
</li>
<li>
Fix waveform zooming
#11650
#11626
</li>
<li>
Fix OpenGL version detection
#11673
</li>
<li>
Fix crash when no GL context is available
#11963
#11929
</li>
<li>
Fix stopped waveform rendering in case of vinyl control
#11977
#10764
</li>
<li>
Fix visual play position related to looping
#11840
#11836
#12538
#12506
#12513
</li>
<li>
Fix for visual position while scratching outside of an activated loop
#12281
#12274
</li>
<li>
Spinny: Fix drawing of non-square cover arts
#11971
#11967
</li>
<li>
Spinny/VU-Meter: Fix drawing
#12010
#11930
</li>
<li>
VU-Meter: Don't use OpenGL by default
#11722
</li>
<li>
Improve GLSL pre-roll triangles
#12100
#12015
</li>
<li>
Make scaling of GLSL RGB and RGB L/R waveform amplitudes consistent with simple waveform
#12205
#12356
</li>
<li>
Improve rendering of waveform marks
#12203
#12237
</li>
<li>
avoid overlapping marks
#12273
</li>
<li>
gradually "compact" the markers if the waveform height is reduced
#12501
</li>
<li>
Fix clamping of the index for drawing the waveform left of zero position
#12411
</li>
<li>
Fix possible crash when closing Mixxx
#12314
#11737
</li>
<li>
Fix EGL support
#11982
#11641
#11935
#11985
#11982
#11995
#11994
#12607
</li>
<li>
Preferences: recall correct waveform type when selecting an overview type
#12231
#12226
</li>
</ul>
<p>
Cover Art
</p>
<ul>
<li>
Prevent wrong cover art display due to hash conflicts
#2524
#4904
</li>
<li>
Add background color for quick cover art preview
#2524
</li>
<li>
Fix coverart tooltip if cover is not cached
#12087
</li>
<li>
Add cover art fetcher to the Musicbrainz dialog
#10908
#4871
#10795
#10796
#10902
#4851
#11938
#11086
#12041
#12300
#12543
#12532
#12543
</li>
<li>
CoverArtCache refactoring + Fix scrolling lag after updating Mixxx
#12009
</li>
</ul>
<p>
Effects
</p>
<ul>
<li>
Effect refactoring: Effect chain saving/loading, parameter hiding/rearrangement, effect preferences overhaul
#4467
#4431
#4426
#4457
#4456
#4459
#4462
#4466
#4468
#4472
#4470
#4471
#4483
#4482
#4484
#4486
#4502
#4501
#4518
#4532
#4461
#4548
#4503
#4686
#4691
#4704
#4748
#4833
#10762
#4884
#10802
#10801
#4899
#8817
#10868
#11055
#11135
#11185
#11242
#10837
#10834
#11424
#11376
#11456
#11454
#11695
#12633
#12561
#10859
#10777
#11886
#12282
#12277
#11705
#4469
#11902
#10605
#4702
#10579
#4501
#4502
#4503
#4590
#4593
#11062
</li>
<li>
Add Noise effect
#2921
</li>
<li>
Add Pitch Shift effect
#4775
#7389
#4810
#4901
#10858
#12481
</li>
<li>
Add Distortion effect
#10932
</li>
<li>
Effect parameter knobs: Briefly show parameter value in parameter name widget
#11032
#9022
#11034
</li>
<li>
Effect parameter knobs: Implement ValueScaler::Integral, snap value to int
#11061
</li>
<li>
Show effect parameter units in parameter name label
#11041
#11194
</li>
<li>
Fix gain compensation for the Moog filter
#11177
</li>
<li>
Fix memory leak in AutoPan
#11346
</li>
<li>
EngineFilterDelay: clamp wrong delay values
#4869
</li>
<li>
Fix crash when changing effect unit routing
#4707
#9331
</li>
<li>
Clear effect buffer after ejecting a track
#10692
</li>
<li>
Center Super knob when loading empty (QuickEffect) chain preset
#12320
</li>
<li>
Don't reset "super" and "mix" knob on startup
#11781
#11773
</li>
<li>
Add a missing early return
#11809
#111808
</li>
<li>
Update EffectSlot meta default value according to loaded effect
#12480
#12479
</li>
</ul>
<p>
Target Support
</p>
<ul>
<li>
Added support for macOS ARM builds on M1/M2 Apple silicon
#11398
</li>
<li>
Set app_id to fix Mixxx window icon on Wayland
#12635
</li>
<li>
Require C++20 but keep Ubuntu Focal support
#4889
#4895
#11204
#4832
#4803
#11551
#11573
</li>
<li>
Drop Ubuntu Bionic support, require Qt 5.12
#3687
#3735
#3736
#3985
</li>
<li>
Drop Ubuntu Groovy and Impish support because of EOL
#4283
#4849
#12353
</li>
<li>
Support Ubuntu Noble and Jammy
#4780
#4857
#12353
</li>
<li>
Add NixOS support
#2820
#2828
#2836
#2827
#2827
#2828
#3113
#3089
#3545
</li>
<li>
Windows packaging: Use Azure for signing exe, msi and all dlls with timestamp and sha256
#12465
#4824
#4825
</li>
<li>
macOS packaging: Fix signing and migrate script to
notarytool
#12123
#12089
#12095
</li>
<li>
macOS packaging: Enable app sandbox and fix related issues
#12138
#12457
#12137
#11552
#4018
#10373
</li>
<li>
macOS: Use rounded Mixxx Icon to follow Apples style guide
#4545
#10958
</li>
<li>
macOS packaging: Capitalize bundle and executable name (Mixxx.app)
#12656
</li>
<li>
OpenBSD: Allow building Mixxx
#11083
</li>
<li>
Improve Linux launcher
#11826
#11820
#11805
#12424
</li>
<li>
Experimental iOS support
#12665
#12666
#12662
#12663
#12661
#12650
</li>
<li>
Fail early in case Taglib 2.0 is found
#12709
</li>
</ul>
<p>
Track properties
</p>
<ul>
<li>
Fix a SIGSEGV after a debug assertion
#4316
</li>
<li>
Apply pending changes also when saving via hotkey
#4562
#10612
</li>
<li>
Fix crash when trying to scale 0.0 BPM
#4587
#1955853
</li>
<li>
Add track color selector
#11436
#10324
</li>
<li>
Don't clear unsaved properties when updating star rating
#11565
#11540
</li>
<li>
Fix glitch in Star rating
#12582
#12576
</li>
<li>
Focus Double-clicked property field for edit
#11764
#11804
#11802
</li>
<li>
Display the samplerate
#12418
</li>
</ul>
<p>
Preferences
</p>
<ul>
<li>
Always show tooltips
#4198
#9716
</li>
<li>
Add option to keep deck playing on track load
#10944
#10548
</li>
<li>
Always enable Alt shortcut keys
#11145
#10413
</li>
<li>
Sound Hardware: auto select free device channels
#11859
#10163
</li>
<li>
Various layout and UX fixes
#12429
#12399
#11663
#11926
#12057
</li>
<li>
macOS: set preferences dialog title to the selected page title
#11696
</li>
<li>
macOS: fix the preferences menu and opening the settings directory
#11679
</li>
<li>
macOS: fix slider styling in preferences dialog
#11647
</li>
<li>
Vinyl control: Improve quality indicator
#3279
</li>
<li>
Mixer: apply & save settings only in slotApply(), fix bugs, improve UX
#11527
</li>
<li>
Mixer: fix reset of EQ auto-reset checkbox
#11818
#11817
</li>
<li>
Interface: avoid unneeded skin reload, clean up
#11853
</li>
<li>
Library: Add link to settings files info in the manual
#4367
</li>
<li>
Controllers: add search bars to mapping tables
#11165
</li>
<li>
Add 13 new translation languages
#4785
#9702
</li>
<li>
Join Franch translations to "fr" and remove all untranslated English strings.
#12699
</li>
<li>
Apply changes from all pages when pressing Apply (like when pressing Okay)
#12194
</li>
</ul>
<p>
Known issues
</p>
<ul>
<li>
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.
#12289
#11094
</li>
<li>
macOS: Library entries are now sorted using the language depending Unicode Collation Algorithm (UCA).
#12517
</li>
<li>
macOS: Visual glitches with the main EQ sliders
#12517
</li>
<li>
Linux: possible crash when enabling a MIDI controller
#12001
Introduce with Qt 5.15.5, fixed in Qt 5.15.17 and Qt 6.6.3
</li>
<li>
Extra Samplers are created during startup, when found in a saved Sampler Bank
#12657
#12809
</li>
</ul>
</description>
</release>
<release type="stable" version="2.3.6" timestamp="1692057600">
<description>
<ul>
<li>
Fixed possible crash when closing Mixxx while browsing the file system
#11593
#11589
</li>
<li>
No longer stop a track with an active loop at the very end
#11558
#11557
</li>
<li>
Fixed resyncing when moving an active loop
#11152
#11381
</li>
<li>
Allow true gapless playback when repeating full tracks
#11532
#9842
#11704
</li>
<li>
Rhythmbox: Fixed bulk track imports from playlists
#11661
</li>
<li>
Console log spam reduced
#11690
#11691
</li>
<li>
Numark DJ2GO2 Touch: Add missing loop_out mapping for the right deck
#11595
#11659
</li>
<li>
Shade: Fixed VU-Meter and other minor issues
#11598
</li>
<li>
Fixed a rare crash when disabling quantize form a controller
#11744
#11709
</li>
<li>
Controller Preferences: Avoid scrollbars in I/O tabs if Info tab exceeds page height
#11756
</li>
<li>
Broadcast: Improved error message in case of timeout
#11775
</li>
<li>
Handle setting
loop_in
and
loop_out
to the same position
#11771
#10600
</li>
<li>
Fix build issues with Protobuf v23.4 and with clang 32
#11751
#11765
#11762
</li>
<li>
Disable GL VU-Meters on Windows by default. They can be re-enabled via the command line option
--enableVuMeterGL
.
#11787
#11785
#11789
</li>
<li>
Library preferences: Uncheck Serato metadata export when file metadata export is unchecked
#11782
#11226
</li>
<li>
Denon MC6000MK2: Delete mapping for main gain
#11792
</li>
<li>
Improve output in case of some failed file system operations
#11783
</li>
<li>
Fix overlapping buffers when decoding M4A files using FFmpeg before 4.4
#11760
#11545
</li>
<li>
Don't reject key values from file metadata with non-minor/-major scales.
#11001
#10995
</li>
<li>
Allow playing tracks with durations of more than 6 hours
#11511
#11504
</li>
<li>
Update latency compensation for Soundtouch version 2.1.1 to 2.3
#11154
</li>
</ul>
</description>
</release>
</releases>
</component>