<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/434f0afadbf3b41dddeffc5d37bd3cca/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/434f0afadbf3b41dddeffc5d37bd3cca/icons/64x64/mixxx_mixxx.png</icon>
<icon type="remote" width="128" height="128">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/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/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-1_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-1_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-1_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-1_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/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/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-2_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-2_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-2_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-2_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/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/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-3_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-3_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-3_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-3_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/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/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-4_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-4_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-4_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-4_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/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/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-5_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-5_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-5_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-5_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/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/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-6_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-6_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-6_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-6_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/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/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-7_orig.png</image>
<image type="thumbnail" width="1248" height="702">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-7_1248x702.png</image>
<image type="thumbnail" width="752" height="423">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-7_752x423.png</image>
<image type="thumbnail" width="624" height="351">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-7_624x351.png</image>
<image type="thumbnail" width="224" height="126">org/mixxx/Mixxx/434f0afadbf3b41dddeffc5d37bd3cca/screenshots/image-7_224x126.png</image>
</screenshot>
</screenshots>
<keywords>
<keyword>dj</keyword>
<keyword>music</keyword>
<keyword>alsa</keyword>
<keyword>jack:realtime</keyword>
<keyword>standalone</keyword>
</keywords>
<releases>
<release type="stable" version="2.5.1" timestamp="1745712000">
<description>
<p>
Controller Mappings
</p>
<ul>
<li>
Behringer DDM4000 & BCR2000: Update mappings to 2.5
#14232
#14349
</li>
<li>
DJ TechTools MIDI Fighter Spectra: Add controller mapping
#14559
</li>
<li>
Hercules DJControl Inpulse 300: add toneplay, slicer, and beatmatch functionalities
#14051
#14057
</li>
<li>
Hercules DJControl Inpulse 500: New mapping
#14491
#14510
</li>
<li>
Hercules DJ Console Mk1: Fix pitch bend buttons
#14447
</li>
<li>
M-Vave SMC-Mixer: Add controller mapping
#14411
#14448
#14457
#14458
</li>
<li>
M-Vave SMK-25 II: Piano keyboard mapping
#14412
#14484
</li>
<li>
Numark Mixtrack Platinum: Fix VU Meters
#14575
</li>
<li>
Numark NS6II: New mapping
#11075
</li>
<li>
Numark Platinum FX: New mapping
#12872
</li>
<li>
Pioneer-DDJ-SB3: Fixes slip mode and adds missing knob controls
#11307
</li>
<li>
Reloop Digital Jockey 2 IE: New mapping
#4614
#14328
</li>
<li>
Traktor S4mk3: Set 4 decks, avoid CO warnings for decks 3/4, eg. VU meter
#14249
</li>
<li>
Traktor S4mk3: Smooth xfader curve for Const Power mode
#14305
#14329
#14103
</li>
<li>
Traktor S4mk3: stop wheel led blinking when track is over/stopped
#14028
#13995
</li>
<li>
Traktor Kontrol S3: Use pitch absolute mode as described in the manual
#14123
</li>
<li>
Stanton SCS.1m/d; Keith McMillen QuNeo; EKS Otus: use
playposition
instead of non-existent
visual_playposition
#14609
#14603
</li>
</ul>
<p>
Controller Backend
</p>
<ul>
<li>
Controllers: Avoid timer warning on button release
#14323
</li>
<li>
Controller preferences: Fix notify of pending changes when closing preferences
#14234
#14220
</li>
<li>
Controller preferences: Fix broken overwrite dialog ('Save as..' not working)
#14263
</li>
<li>
Controller preferences: Don't break support link texts
#14079
</li>
<li>
Controller preferences: Fix wrong mapping change confirmation request caused by MidiController::makeInputHandler()
#14281
#14280
#14292
</li>
<li>
Controller mapping info: Fix cropped description text
#14332
#14117
</li>
<li>
MIDI controller learning: Make control box search usable
#14260
</li>
<li>
MIDI controller learning: Don't reload mapping after learn
#14253
</li>
<li>
MIDI controller learning: Correct skin control for mic/aux section
#14221
</li>
<li>
MIDI controller learning: Add more cue controls for samplers
#14419
</li>
<li>
MIDI controller learning: Continue after the maximum learning time is over
#14429
</li>
<li>
Allow
midino
0 in `MidiController::makeInputHandler()
#14266
#14265
</li>
<li>
Fix: provide
incomingData
to MIDI sysex mappings
#14368
#13133
</li>
<li>
Fix log spam when using Midi for light mapping
#14326
#14327
#14333
#14338
#14371
</li>
<li>
Fix for
TypeError
in
midi-components-0.0.js
#14203
#14197
</li>
<li>
Fix crash due to concurrent access in MidiController
#14159
</li>
</ul>
<p>
Skins
</p>
<ul>
<li>
Deere/LateNight (64 samplers): Bring back library in regular view
#14101
#14097
#14700
</li>
<li>
Fix crash when hiding waveforms in Deere
#14170
</li>
<li>
Waveform Overview: Abort play pos dragging if cursor is released outside the valid area
#13741
#13732
</li>
<li>
Waveform Overview: Also render analysis progress when triggered by track menu or analysis feature
#14150
</li>
<li>
Don't show 'menubar hide' dialog when switching skins
#14254
</li>
<li>
Key Wheel: Move to View menu and make it a floating tool window
#14256
#14239
</li>
<li>
Center effect parameter names
#14598
</li>
<li>
Track menu: highlight row when hovering checkbox
#14636
#14680
</li>
</ul>
<p>
Library
</p>
<ul>
<li>
Add Ctrl+Shift+C to copy the content of the selected cell(s) (The Mxxx 2.4 behaviour of Ctrl+C).
#14114
#14065
</li>
<li>
Fix MusicBrainz lookup on Windows and macOS
#14216
</li>
<li>
Library scanner: Update cached 'missing' flag when file is redicovered
#14250
</li>
<li>
Hidden Tracks: Allow 'load to' via track context manu
#14077
</li>
<li>
Update to libdjinterop 0.24.3 - support for Engine 4.1/4.2
#14172
#14289
</li>
<li>
Fix writing metadata via symlink
#13711
</li>
<li>
Library menu: change "Engine DJ Prime" to "Engine DJ"
#14248
#14682
</li>
<li>
Fix file extension handling during playlist export
#14381
</li>
<li>
Fix manual key metadata editing in track properties dialog
#14022
#14400
#14295
#14294
</li>
<li>
History: Don't allow joining with locked previous playlist
#14401
#14399
</li>
<li>
Track info dialog: fixed cover label (max) size
#14418
</li>
<li>
Track Menu: Reset
eject
after moving track file to trash
#14402
</li>
<li>
Fix AutoDJ "Remove Crate" action
#14426
#14425
</li>
<li>
Fix scrolling issue with coverart columns visible
#13719
#14631
</li>
<li>
Developer Tools: multi-word search, no Tab navigation in controls table
#14474
</li>
<li>
Analyze feature: respect New / All selection when searching
#14660
#14659
</li>
<li>
Stop populating Computer library feature when Mixxx should close
#14573
</li>
<li>
Tracks: apply played/missing text color also to selected tracks
#13583
</li>
<li>
Tracks:
show_track_menu
at index position
#14385
</li>
<li>
Search related menu: improve checkbox click UX
#14637
</li>
<li>
Avoid false missing tracks due to db inconsistency
#14615
#14513
</li>
<li>
Fix automatic trimming of search bar text
#14497
#14486
</li>
<li>
Avoid crash after removing Quick Link
#14556
#8270
</li>
</ul>
<p>
Other Fixes
</p>
<ul>
<li>
Enable R3 time-stretching with Rubberband 4.0.0 API version numbers
#14100
</li>
<li>
Preferences Effects: add Hide/Unhide (move) buttons to Effects tab
#13329
</li>
<li>
Preferences Effects: left/right key in effect lists trigger hide/unhide
#14205
</li>
<li>
Fix beat sync in Flanger effect
#14351
</li>
<li>
Apply talkover ducking after main effects to allow using a compressor effect
#13844
#12451
</li>
<li>
Fix sporadic deadlocks when closing Mixxx or changing sound devices
#14208
#14055
</li>
<li>
PositionScratchController: Fix loop wrap-around case
#14379
</li>
<li>
Allow seeking to a hotcue during waveform scratching
#14357
#13981
</li>
<li>
Reset saved loop when toggling off after switching cue type
#14661
#14657
</li>
<li>
Fix leaks from fid_design()
#14567
#9470
</li>
</ul>
<p>
Target support
</p>
<ul>
<li>
Allow to build with git "showSignature = true"
#14115
#12997
</li>
<li>
Support building with Qt 6.8/6.9
#14080
#14071
#14200
#14204
#14440
#14518
</li>
<li>
Welcome Ubuntu Plucky Puffin; Good bye Mantic Minotaur
#14148
#14158
</li>
<li>
Add more translations to Linux desktop file
#14153
#14169
</li>
<li>
Debian: recommend qt6-translations-l10n
#14147
</li>
<li>
Update FindFFTW3.cmake to not find version 2
#13937
#13931
</li>
<li>
Allow building without tests-tools via new CMake options BUILD_TESTING and BUILD_BENCH
#14269
</li>
<li>
Fix and improve "missing env" error message
#14321
</li>
<li>
Qt 6.8: Ensure Mixxx uses "windowsvista" Qt style on Windows
#14228
</li>
<li>
Raise macOS target version to 11 (Qt 6.5 requirement).
#14440
</li>
<li>
Fail early when building on WSL
#14481
</li>
<li>
Remove useless udev rule
#14630
</li>
<li>
Handle new " / " from taglib 2.0
#12854
#12790
</li>
</ul>
</description>
</release>
<release type="stable" version="2.5.0" timestamp="1734998400">
<description>
<p>
Modernized Platform: Update to Qt6
</p>
<ul>
<li>
Mixxx is now using Qt6, offering improved performance and enhanced compatibility with modern systems.
#11863
#11892
</li>
<li>
Build system defaults to Qt6. Qt5 build support will be dropped with Mixxx 2.6
#11934
</li>
<li>
Drop support for macOS versions earlier than 11
</li>
<li>
Drop support for Windows versions earlier than Windows 10 build 1809
</li>
<li>
Drop support for Ubuntu versions earlier than 22.04
</li>
<li>
Require a C++20 compiler
</li>
<li>
Support GCC 14
#13504
#13467
</li>
<li>
DlgAbout: Add Qt version to the dialog
#11862
</li>
<li>
WWidget: Disable touch events on macOS (fixing trackpad issues on Qt 6)
#11870
</li>
<li>
Various Skin adjustments
#11970
#11957
#12050
#12939
#13242
#14014
#13535
#14013
#13959
#14034
#12972
#14035
</li>
<li>
Various Library adjustments
#12380
#12478
#13035
#13033
#12488
#12216
#13448
</li>
</ul>
<p>
Engine
</p>
<ul>
<li>
Beats: allow undoing the last BPM/beats change
#12954
#12774
#10138
#13339
</li>
<li>
Add beatloop anchor to set and adjust loop from either start or end
#12745
#13241
</li>
<li>
Add Rate Tap button
#12104
</li>
<li>
Store/restore regular loop when toggling rolling loops
#12475
#8947
</li>
<li>
Add
beats_translate_move
ControlEncoder
#12376
</li>
<li>
Looping/Beatjump: use seconds if track has no beats
#12961
#11124
</li>
<li>
Add Track colour palette cycling controls
track_color_next
and
track_color_prev
to library, decks and samplers
#13066
#12905
</li>
<li>
Add Tempo locking controls
#13041
#13041
#13038
#13199
</li>
<li>
Recording: Fix bogus timestamp in CUE sheet after restarting a recording
#13966
#13964
</li>
<li>
Improve Taglib/SoundSource logging
#13541
</li>
</ul>
<p>
Skins / Interface
</p>
<ul>
<li>
Toggle the menubar with single Alt key press (auto hide)
#11526
#13301
</li>
<li>
Fullscreen toggle rework
#11566
#13189
#13030
</li>
<li>
Allow to edit track title and artist directly within the decks via a delayed double-click
#11755
#13930
</li>
<li>
Require a minimum movement before initiating the drag&drop of tracks
#12903
</li>
<li>
Add type toggle to cue popup
#13215
</li>
<li>
Effect Meta Knob: draws arc from default meta position
#12638
#12634
</li>
<li>
Handle not supported files when dragging to waveforms and spinnies
#13206
</li>
<li>
Tooltips: Improve
rate_up/down
description regarding pitch vs. speed
#12590
</li>
<li>
Tooltips: Add description for expand/collapse samplers buttons
#13005
#12998
</li>
<li>
Track label widgets: Set
show_track_menu
only for main decks
#12978
</li>
<li>
MacOS: App proxy icon of the playing track to the window title
#12116
</li>
<li>
Auto DJ: Force-show decks 3/4 if we are going to use them
#13455
</li>
<li>
Auto DJ: Add new random tracks if one track does not exists
#13551
</li>
<li>
Allow to set LaunchImage style per color scheme
#13731
</li>
<li>
Show wait cursor when re/loading a skin (not during startup)
#13747
</li>
<li>
LateNight: Merge vinyl control toggle and status light
#12947
#10192
</li>
<li>
LateNight, Deere, Tango: Deactivate beatgrid edit controls if BPM is locked
#13320
#13323
#13325
</li>
<li>
LateNight: Add/tweak CueDelete icons
#13495
#13492
</li>
<li>
LateNight: Use Classic launch image style also for 64 samplers version
#13796
</li>
<li>
Adjust some skin controls, to allow point-and-click mapping
#13906
</li>
<li>
PreviewDeckN,LoadSelectedTrackAndPlay toggles play/pause if the track is already loaded
#12920
#9819
</li>
<li>
Command line interface: Determine whether to color output based on
TERM
variable
#13486
</li>
<li>
Command line interface: Add option
--start-autodj
to start Auto DJ immediately after Mixxx start.
#13017
#10189
</li>
<li>
Logging: Include timestamps in messages by default
#11861
</li>
<li>
Logging: Limit mixxx.log size to 100 MB or via --log-max-file-size
#13684
#13660
</li>
<li>
Fix skin reload after changing color scheme
#13847
</li>
</ul>
<p>
Effects
</p>
<ul>
<li>
Add Compressor effect
#12523
</li>
<li>
add Glitch effect
#11329
</li>
<li>
Add backend for Audio Unit (AU) plugins on macOS
#12112
#13938
</li>
<li>
Effect Meta knob: Draw arc from default meta position
#12638
#12634
</li>
<li>
Show newly added effects, read/write HiddenEffects
#13326
#11343
</li>
</ul>
<p>
Library
</p>
<ul>
<li>
Shortkeys Cut, Copy, Paste for track list management
#12020
#13361
#13364
#13958
#13100
</li>
<li>
Playlists: move tracks with Alt + Up/Down/PageUp/PageDown/Home/End
#13092
#10826
#13098
</li>
<li>
Search: Add special BPM filters
#12072
#8191
</li>
<li>
Search: Add "OR" search operator
#12061
#8881
</li>
<li>
Search: Add 'type' filter
#13338
</li>
<li>
Search: Add 'id' filter
#13694
</li>
<li>
Search related Tracks menu: Allow to use multiple filters at once
#12213
#12211
</li>
<li>
Track menu: Rephrase "Reset" to "Clear"
#12955
</li>
<li>
Track menu: Add support for scaling BPM by different ratios
#12934
#9133
</li>
<li>
Track menu: Remove from disk: stop and eject all affected decks
#13214
</li>
<li>
Track menu: add star rating
#12700
#10652
</li>
<li>
Track menu: Show Properties in Missing and Hidden view
#13426
</li>
<li>
Add multi-track property editor / batch tag editor
#12548
#9023
#13299
#13609
#13597
#13631
</li>
<li>
Track property editor: focus the editing field in the track properties that corresponds to the focused column
#13841
#14036
</li>
<li>
Computer feature: add sidebar action "Refresh directory tree"
#12908
</li>
<li>
Add feedback to directory operations (add, remove, relink)
#12436
#10481
</li>
<li>
Add ability to import external playlists as crates
#11852
</li>
<li>
Add 'Shuffle playlist' sidebar action
#12498
#6988
</li>
<li>
Playlists: Update of playlist labels after adding tracks
#12866
#12761
</li>
<li>
Tracks: Custom color for missing tracks
#12895
</li>
<li>
Tracks: Custom text color for played tracks (qss)
#12744
#5911
#12912
#13538
</li>
<li>
History: Show track count and duration in sidebar
#12811
#12788
</li>
<li>
Don't allow pasting tracks into locked playlists/crates or History
#12926
</li>
<li>
Optimize Library scrolling
#13358
</li>
<li>
Keep the metadata key text unchanged, use it as the origin of information
#11096
#11095
#13650
#14011
#14008
#14020
</li>
<li>
Center date values, right-align Track #
#13674
</li>
<li>
Analysis: Fix stop button when analyzing crate/playlist
#13902
</li>
<li>
Add a debug message, which appears when event loop processing in Mixxx application takes very long
#12094
#13900
#13889
#13903
#14012
</li>
</ul>
<p>
Preferences
</p>
<ul>
<li>
Add load point option 'First hotcue'
#12869
#12740
</li>
<li>
MIDI Input editor: allow selecting multiple Options
#12348
</li>
<li>
Apply changes only after pressing Apply in color preferences
#13302
</li>
<li>
Add/reorder tabstops in Library and Waveform preferences
#13846
</li>
<li>
Add missing spacer in interface preferences
#13094
</li>
<li>
Fix fetching of soundcard sample rate
#11951
11949
</li>
</ul>
<p>
Controller Mappings
</p>
<ul>
<li>
Denon MC7000: Add optional jog wheel acceleration to the controller mapping
#4684
</li>
<li>
Denon MC7000: Unify parameter button logic and add customizable modes
#13589
</li>
<li>
Denon MC7000: Add sampler options to mapping settings
#13950
</li>
<li>
MIDI for light: Implement new Active deck heuristic
#13513
</li>
<li>
MIDI for light: Add settings GUI
#13721
</li>
<li>
Numark Scratch: Add controller settings
#13404
</li>
<li>
Pioneer DDJ-FLX4: Mapping improvements
#12842
</li>
<li>
Traktor Kontrol S4 MK3: Add setting definition for
#12995
</li>
<li>
Traktor Kontrol S4 MK3: Software mixer support and default pad layout customisation
#13059
</li>
<li>
Traktor Kontrol S4 Mk3: Rework jogwheel speed compute and motorized platter
#13393
</li>
<li>
Traktor Kontrol S4 Mk3: Revert QuickEffect preset offset
#13997
</li>
<li>
Traktor Kontrol S4 Mk3: Correct wheel timestamp wrap-around
#14016
</li>
</ul>
<p>
Controller Backend
</p>
<ul>
<li>
Send sysex to all handlers
#12827
</li>
<li>
Speed up midi sysex receive
#12843
</li>
<li>
Add control for showing a deck's track menu
#10825
</li>
<li>
Removed old examples HID keyboard and HID trackpad
#12977
</li>
<li>
Reduce log noise with HID device
#13010
#13125
</li>
<li>
Allow controller mapping to discard polling
#12558
</li>
<li>
Add support for mapping user settings
#11300
#13046
#13057
#13045
#13656
#13738
#13979
#13990
</li>
<li>
Registering MIDI Input Handlers From Javascript
#12781
#13089
</li>
<li>
Controller IO table: Fix display text for Action/control delegate
#13188
</li>
<li>
Drop lodash dependency in ComponentJS
#12779
</li>
<li>
Support for bulk devices on Windows and Mac
#13008
</li>
<li>
Drop lodash dependency in ComponentJS
#12779
</li>
<li>
Fix pending reference to the old mapping after selecting 'No mapping'
#13907
</li>
<li>
Fix crash with GoToItem when no app windows has the focus
#13657
</li>
</ul>
<p>
Waveforms
</p>
<ul>
<li>
Visualize slip mode position by splitting waveform (RGB GLSL only)
#13002
#13256
#10063
</li>
<li>
Show beats and time until next marker in the waveform
#12994
#13311
#13953
#13314
</li>
<li>
Don't elide hotcue labels
#13219
#10722
</li>
<li>
Allshader RGB, Filtered and Stacked Waveforms using textures for waveform data
#13151
#12641
</li>
<li>
Allow changing the waveform overview type without reloading the skin
#13273
</li>
<li>
Overview: Update immediately, when the normalize option or global gain changed
#13634
</li>
<li>
Overview: Clear pickup position display when opening cue menu
#13693
</li>
</ul>
<p>
Experimental Features
</p>
<ul>
<li>
QML Skin: Can be tested via the --qml command line option
#13152
#12139
#13152
</li>
<li>
QML Skin related changes
#11423
#12559
#12549
#12541
#12795
#12844
#12546
#12794
#12536
#13058
#12604
#3967
#13009
#13009
#13011
#13506
</li>
<li>
iOS support: Mixxx can be built for iOS
#12672
</li>
<li>
iOS support related changes
#12689
#12714
#12716
#12698
#12676
#12688
#13379
#13378
#13383
</li>
<li>
Emscripten/WebAssembly support, to run Mixxx hardware independent in a browser
#12918
</li>
<li>
Emscripten/WebAssembly related changes
#12910
#12913
#12916
#12915
#12921
#12922
#12931
#12940
#12945
#12952
#12930
#12917
</li>
</ul>
<p>
Target support
</p>
<ul>
<li>
Maintain GL ES support
#13485
</li>
<li>
Tools: Add
rpm_buildenv.sh
for building on Fedora
#13069
</li>
<li>
Lenient taglib 2.0 guard
#12793
</li>
<li>
MixxxApplication: Support linking Qt statically on Linux
#12284
</li>
<li>
FindSndFile: Link mpg123 in static builds
#13087
</li>
<li>
FindPortMidi: Link ALSA in static builds on Linux
#12292
#12291
</li>
<li>
FindLibudev: Link hidapi and libusb with libudev in static builds on Linux
#12294
</li>
<li>
FindVorbis: Link ogg in static builds
#12297
</li>
<li>
FindSleef: Use OpenMP in static builds
#12295
</li>
<li>
macOS packaging: Enable app sandbox in ad-hoc-packaged (i.e. non-notarized) bundles too
#12101
</li>
<li>
CMakeLists: Match arbitrary
arm64-osx
triplets
#11933
</li>
<li>
Disable warning in lib/apple code
#13522
</li>
<li>
GitHub CI: Use retry loop for CPack to work around macOS issue
#13991
</li>
<li>
Github CI: Enable
WARNINGS_FATAL
on macOS, too
#11905
</li>
</ul>
</description>
</release>
<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
#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>
</releases>
</component>