Fix handling of file extension when importing and exporting sampler settings #4539
Pioneer DDJ-SB3: Add controller mapping #3821
Don’t wipe sound config during startup if configured devices are unavailable #4544
Downloads of external dependencies are placed in build/downloads
The sources for libkeyfinder are now expected in build/downloads/libkeyfinder-2.2.6.zip instead of build/download/libkeyfinder/v2.2.6.zip
CMake: Adjust the download directory and name of external dependencies #4511
Added mapping for the Numark Mixtrack Pro FX controller #4160
Updated mapping for Behringer DDM4000 mixer #4262
Updated mapping for Denon MC7000 controller #4021
Hercules Inpulse 300: Add better FX controls and other minor improvements #4246
Disabled detection of keyboards and mice as HID controllers #4243
Fix Echo effect adding left channel samples to right channel #4141
Fix bad phase seek when a channel’s audible status changes #4156
Tango skin: Show crossfader assign buttons by default #4046
Fix keyfinder library in arm64 builds #4047
Fix support for relative paths in the skin system which caused missing images in third-party skins #4151
Fix relocation of directories with special/reserved characters in path name #4146
Update keyboard shortcuts sheet #4042
Library: resize the Played checkbox and BPM lock with the library font #4050
Don’t allow Input focus on waveforms #4134
Fix performance issue on AArch64 by enabling flush-to-zero for floating-point arithmetic #4144
Fix custom key notation not restored correctly after restart #4136
Traktor S3: Disable scratch when switching decks to prevent locked scratch issue #4073
FFmpeg: Ignore inaudible samples before start of stream #4245
Tooltips: Use item label for tooltips in library side bar and show ID when debugging. #4247
Library sidebar: Also activate items on PageUp/Down events. #4237
Fix preference option for re-analyzing beatgrids imported from other software #4288
Fix wrong base tag used for deployment and displayed in About dialog #4070
It is no longer necessary to manually copy the udev rule file in packaging scripts. Now pkg-config is used to determine the udevdir used to install the rules file in the CMake install step when CMAKE_INSTALL_PREFIX is
.desktop file has be renamed to org.mixxx.Mixxx.desktop according to Freedesktop standards #4206
Uses system provided hidapi library if version >= 0.10.1 #4215
Please update PortAudio to 19.7 if you have not done so already. This is required for Mixxx to work with PipeWire via the JACK API for many devices.
CMake: Fixed detection of SoundTouch pkgconfig file and version #4209
Hotcue & Track Colors¶
Importing From Other DJ Software¶
Note: Mixxx does not yet support multiple loops per track. We are working on this for Mixxx 2.4. In Mixxx 2.3, if you import a track with multiple loops from Serato, Mixxx will use the first loop cue as the single loop Mixxx currently supports. The imported loops are still stored in Mixxx’s database and are treated as hotcues in Mixxx 2.3. If you do not delete these hotcues, they will be usable as loops in Mixxx 2.4. Serato keeps loops and hotcues in separate lists, but Mixxx does not, so loops from Serato are imported starting as hotcue 9.
Note: The first Rekordbox memory cue is imported for the main cue button in Mixxx and the remaining Rekordbox memory cues are imported as Mixxx hotcues, starting with the next hotcue number after the last hotcue from Rekordbox.
Note: Mixxx does not yet support multiple loops per track. Imported loops from Rekordbox are treated like imported loops from Serato, so refer to the note above for details.
Intro & Outro Cues¶
Skins & GUI¶
Right click overview waveform to show time remaining until that point #2238
Show track info dialog when double clicking track labels in decks #2990
Changed format of currently playing track in window title from „artist, title“ to „artist - title“ #2807
Fix touch control lp:1895431
Fix broken knob interaction on touchscreens #3512
AutoDJ: Make „enable“ shortcut work after startup #3242
Add rate range indicator #3693
Add Scrollable Skin Widget #3890
Music Feature Analysis¶
Note: Users who have not manually corrected keys are advised to clear all keys in their library by pressing Ctrl + A in the library, right clicking, going to Reset -> Key, then reanalyzing their library. This will freeze the GUI while Mixxx clears the keys; this is a known problem that we will not be able to fix for 2.3. Wait until it is finished and you will be able to reanalyze tracks for better key detection results.
Remove VAMP plugin support and use Queen Mary DSP library directly. vamp-plugin-sdk and vamp-hostsdk are no longer required dependencies. #926
Improvements BPM detection on non-const beatgrids #3626
Add support for searching for empty fields (for example
Improve synchronization of track metadata and file tags #2406
Library Scanner: Improve hashing of directory contents #2497
MusicBrainz: Handle 301 status response #2510
Fix caching of duplicate tracks that reference the same file #3027
Use 6 instead of only 4 compatible musical keys (major/minor) #3205
Fix possible crash when trying to refocus the tracks table while another Mixxx window has focus #3201
Don’t create new tags in file when exporting metadata to it #3898
Fix playlist files beginning with non-english characters not being loaded #3916
Add FFmpeg audio decoder, bringing support for ALAC files #1356
Add Opus streaming and recording support. lp:1338413
Remove support for SoundSource plugins because the code was not well-maintained and could lead to crashes lp:1792747
Add HE-AAC encoding capabilities for recording and broadcasting #3615
Fix possible memory corruption using JACK on Linux #3160
Fix tempo change of non-const beatgrid track on audible deck when cueing another track #3772
Make microphone ducking use strength knob the same way in automatic & manual mode #2750
Improve error reporting from controller scripts #2588
Add way to change library table sorting from controllers #2118
Add support for velocity sensitive sampler buttons in Components JS library #2032
Add logging when script ControlObject callback is disconnected successfully #2054
Add controller mapping for Roland DJ-505 #2111
Add controller mapping for Numark iDJ Live II #2818
Add controller mapping for Hercules DJControl Inpulse 200 #2542
Add controller mapping for Hercules DJControl Jogvision #2370
Add controller mapping for Pioneer DDJ-400 #3479
Add controller mapping for ION Discover DJ Pro #2893
Add controller mapping for Native Instrument Traktor Kontrol S3 #3031
Add controller mapping for Behringer DDM4000 #3542
Update controller mapping for Allen & Heath Xone K2 to add intro/outro cues #2236
Update controller mapping for Hercules P32 for more accurate headmix control #3537
Update controller mapping for Native Instruments Traktor Kontrol S4MK2 to add auto-slip mode and pitch fader range #3331
Fix Numark Mixtrack Pro 3 controller mapping inverted FX on/off control #3758
Gracefully handle MIDI overflow #825
Fix ARM build issues #3602
Add macOS codesigning and notarization to fix startup warnings #3281
Don’t trash user configuration if an error occurs when writing #3192
Enable CUE sheet recording by default #3374
Fix crash when double clicking GLSL waveforms with right mouse button #3904
And countless other small fixes and improvements (too many to list them all!)
Prevent infinite loop when decoding corrupt MP3 files #2417
Don’t stop playback if vinyl passthrough input is configured and PASS button is pressed #2474
Fix crashes when executing actions on tracks that already disappeared from the DB #2527
Tweak scratch parameters for Mixtrack Platinum #2028
Fix auto tempo going to infinity on Pioneer DDJ-SB2 #2559
Fix bpm.tapButton logic and reject missed & double taps #2594
Add controller mapping for Native Instruments Traktor Kontrol S2 MK3 #2348
Add controller mapping for Soundless joyMIDI #2425
Add controller mapping for Hercules DJControl Inpulse 300 #2465
Add controller mapping for Denon MC7000 #2546
Add controller mapping for Stanton DJC.4 #2607
Ignore MIDI Clock Messages (0xF8) because they are not usable in Mixxx and inhibited the screensaver #2786
Don’t make users reconfigure sound hardware when it has not changed #2253
Fix high DPI scaling of cover art #2247
Fix high DPI scaling of cue point labels on scrolling waveforms #2331
Fix high DPI scaling of sliders in Tango skin #2318
Fix rare crash on application shutdown #2293
Improve handling of corrupt FLAC files #2315
Pioneer DDJ-SX: fix delayed sending of MIDI messages with low audio buffer sizes #2326
Fix battery widget with upower <= 0.99.7. #2221
Fix BPM adjust in BpmControl. lp:1836480
Disable track metadata export for .ogg files and TagLib 1.11.1. lp:1833190
Fix interaction of hot cue buttons and looping. lp:1778246
Fix detection of moved tracks. #2197
Fix updating playlist labels. lp:1837315
Fix potential segfault on exit. lp:1828360
Fix parsing of invalid BPM values in MP3 files. lp:1832325
Fix crash when removing rows from empty model. #2128
Fix high DPI scaling of RGB overview waveforms. #2090
Fix for OpenGL SL detection on macOS. lp:1828019
Fix OpenGL ES detection. lp:1825461
Fix FX1/2 buttons missing Mic unit in Deere (64 samplers). lp:1837716
Tango64: Re-enable 64 samplers. #2223
Numark DJ2Go re-enable note-off for deck A cue button. #2087
Replace Flanger with QuickEffect in keyboard mapping. #2233
Include all fixes from Mixxx 2.1.7 and 2.1.8
Fix high CPU usage on MAC due to preview column lp:1812763
Fix HID controller output on Windows with common-hid-packet-parser.js
Fix rendering slow down by not using QStylePainter in WSpinny lp:1530720
Fix broken Mic mute button lp:1782568
added quick effect enable button to the control picker menu
Fix Cover Window close issue with empty cover arts
Fix Numark Mixtrack 3 mapping. #2057
Update from Qt4 to Qt5.
Use Qt5’s automatic high DPI scaling (and remove the old scaling option from the preferences).
Vectorize remaining raster graphics for better HiDPI support.
Add mix mode switch (Dry/Wet vs Dry+Wet) for effect units.
Add support for LV2 effects plugins (currently no way to show plugin GUIs).
Add preference option for selecting which effects are shown in the list of available effects in the main window (all LV2 effects are hidden by default and must be explicitly enabled by users).
Add 8 sampler and small sampler options to LateNight.
Add key / BPM expansion indicators to Deere decks.
Add skin settings menu to LateNight.
Add controller mapping for Numark Mixtrack Platinum.
Update controller mapping for Numark N4.
Add spinback and break for Vestax VCI-400 mapping.
Add preference option to adjust the play position marker of scrolling waveforms.
Add preference option to adjust opacity of beatgrid markers on scrolling waveforms.
Support IRC/AIM/ICQ broadcast metadata.
Fix a rare chance for a corrupt track file while writing metadata in out of disk situations. lp:1815305
Fix export of BPM track file metadata. lp:1816490
Fix sending of broadcast metadata with TLS enabled libshout 2.4.1. lp:1817395
Fix resdicovering purged tracks in all cases. lp:1821514
Fix dropping track from OSX Finder. lp:1822424
Fix crash when loading a Qt5 Soundsource / Vamp Plug-In. lp:1774639
Validate effect parameter range. lp:1795234
Fix crash using the bpm_tap button without a track loaded. lp:1801844
Fix possible crash after ejecting a track. lp:1801874
Fix wrong bitrate reported for faulty mp3 files. lp:1782912
Fix Echo effect syncing lp:1793232
Fix iTunes context menu lp:1799932
Fix loading the wrong track after delete search and scroll. lp:1803148
Improve search bar timing. lp:1635087
Fix quoted search sentence. lp:1784141
Fix loading a track formerly not existing. lp:1800395
Fix importing m3u files with blank lines. lp:1806271
Fix position in sampler overview waveforms. lp:1744170
Don’t reset rate slider, syncing a track without a beatgrid. lp:1783020
Clean up iTunes track context menu. lp:1800335
Collapsed sampler are not analyzed on startup. lp:1801126
search for decoration characters like „˚“. lp:1802730
Fix cue button blinking after pressing eject on an empty deck. lp:1808222
Code signing for Windows builds. lp:1517823
Fix crash on exit when preferences is open. lp:1793185
Fix crash when analyzing corrupt MP3s. lp:1793387
Fix crash when importing metadata from MusicBrainz. lp:1794993
Fix scrolling waveform on Windows with WDM-KS sound API. lp:1729345
Fix right clicking on beatgrid alignment button in Tango and LateNight skins. lp:1798237
Improve speed of importing iTunes library. lp:1785545
Add 2 deck mapping for DJTechTools MIDI Fighter Twister.
Fix track selection not getting shown in the track table on Windows. There are no changes to the source code, but the Jenkins build configuration was changed to delete the Jenkins workspace before each build. lp:1751482
Fix a severe performance regression on Windows: Mixxx 2.1.2 running much slower than 2.1.1
Yet another bugfix release of Mixxx 2.1. Here is a quick summary of what is new in Mixxx 2.1.2:
Allow maximum deck speed of 4x normal.
Don’t always quantize hotcues, a 2.1.1 regression. lp:1777429
Fix artifacts using more than 32 samplers. lp:1779559
store No EQ and Filter persistently. lp:1780479
Pad unreadable samples with silence on cache miss. lp:1777480
Fixing painting of preview column for Qt5 builds. lp:1776555
LateNight: Fix play button right click. lp:1781829
LateNight: Added missing sort up/down buttons.
Fix sampler play button tooltips. lp:1779468
Shade: remove superfluid margins and padding in sampler.xml. lp:1773588
Deere: Fix background-color code.
ITunes: Don’t stop import in case of duplicated Playlists. lp:1783493
After two months it is time to do a bugfix release of Mixxx 2.1. Here is a quick summary of what is new in Mixxx 2.1.1:
Require Soundtouch 2.0 to avoid segfault. lp:1577042
Fix crash when importing ID3v2 APIC frames. lp:1774790
Synchronize execution of Vamp analyzers. lp:1743256
DlgTrackInfo: Mismatching signal/slot connection.
Detect M4A decoding errors on Windows. lp:1766834
Fix spinback inertia effect.
Fix integration of external track libraries. lp:1766360
Fix memory leak when loading cover art. lp:1767068
Fix clearing of ReplayGain gain/ratio in file tags. lp:1766094
Fix crash when removing a quick link. lp:1510068
Fidlib: Thread-safe and reentrant generation of filters. lp:1765210
Fix unresponsive scrolling through crates & playlists using encoder. lp:1719474
Swap default values for temp/perm rate changes. lp:1764254
After two years of hard work, we are pleased to announce Mixxx 2.1. We have overhauled the effects system, redesigned the skins, added and improved lots of controller mappings, rewrote the audio file decoders twice, and of course fixed a bunch of bugs. Download it!
Here is a quick summary of what is new in Mixxx 2.1.0:
Graphical interface scales for high resolution screens
Overhauled Deere and LateNight skins
New Tango skin
Effects are synchronized to the tempo
Effects are processed post-fader and post-crossfader and can be previewed in headphones
One metaknob per effect with customizable parameter control for intuitive use of effect chains
Nine new effects: Autopan, Biquad Equalizer, Biquad Full Kill Equalizer, Loudness Contour, Metronome, Parametric Equalizer, Phaser, Stereo Balance, Tremolo
Loaded effects and their parameters are saved and restored when Mixxx restarts
More transparent sounding equalizers (Biquad Equalizer and Biquad Full Kill Equalizer)
Improved scratching sounds with jog wheels, vinyl control, and dragging waveforms with the mouse
Simplified looping and beatjump controls
Configurable rows of 8 samplers with up to 8 rows available for a total of 64 samplers
Files loaded to samplers are reloaded when Mixxx restarts
Improved volume normalization algorithm (EBU-R 128)
Filter library table by crates
Sort musical keys in library table by circle of fifths
Write metadata tags back to audio files
Configure multiple Internet broadcasting stations and use multiple stations at the same time
Broadcast and record microphones with direct monitoring and latency compensation
Broadcast and record from an external mixer
Booth output with independent gain knob for using sound cards with 6 output channels without an external mixer
Prevent screensaver from starting while Mixxx is running
CUP (Cue And Play) cue button mode
Time remaining and time elapsed now take into account the tempo fader
Clicking cover art now shows it full size in a separate window
and of course, lots and lots of bug fixes.
Here are controllers with mappings that have been added or updated since the 2.0 release. Mappings marked with an asterisk (*) have been updated for the new effects interface:
American Audio VMS2
American Audio VMS4
Allen & Heath Xone K2/K1*
Behringer CMD Micro
Behringer CMD MM1*
Behringer CMD Studio 4a
Denon MC6000 Mk2*
Hercules DJ Console 4-Mx*
Hercules DJ Control MP3 LE / Glow
Hercules DJ Control Compact
Ion Discover DJ
Korg Nanokontrol 2
Korg KAOSS DJ
Native Instruments Traktor Kontrol S4 Mk2*
Novation Launchpad Mk1 & Mk2
Numark Mixtrack Pro 3 & Numark Mixtrack 3*
Reloop Beatmix 2
Reloop Beatmix 4
Reloop Digital Jockey 3 ME
Reloop Terminal Mix 2
Reloop Terminal Mix 4
Vestax VCI-100 Mk2
For users upgrading from older versions of Mixxx, we have a few important announcements. First, if you are using Windows, you will have to uninstall any old versions of Mixxx before you can install 2.1. How to uninstall Mixxx varies on different versions of Windows:
Windows Vista, 7, and 8: Start > Control Panel > Programs > Uninstall a Program
If you are upgrading from an older version of Mixxx and have MP3 files in your library, we have another important announcement. The good news is that we fixed a bug where the waveforms and audio playback of MP3 files were misaligned. The bad news is that we have no way of knowing which MP3 files were affected or how much the offset was. That means that waveforms, beatgrids, cues, and loops from older versions of Mixxx may be offset by an unknown amount for any MP3 file. Only MP3 files were affected by this bug; other audio file types are unaffected. You can either correct your beatgrids and cue points manually for each track, or you can clear this information for all MP3s and start fresh. Regardless, we recommend clearing the waveforms for all MP3 files. To clear these, type „location:mp3“ into the library search bar, press Control + A to select all tracks, right click, and select the information you want to clear from the menu.
In the works for Mixxx 2.2, we have a big redesign of the library GUI. Along with that will come saving & restoring search queries plus nested crates. We are also planning on adding support for saving and loading custom effect chain presets with the ability to import and export them to share online.
Want to help make Mixxx even more awesome? The biggest thing we need is more people. You do not need to be a programmer to help out. Giving feedback on the design of new features as they are being made is very valuable. Refer to the Testing page on the wiki for more information on how to get involved with that. Reporting bugs and telling us your ideas on the Launchpad bug tracker is a big help too! We cannot fix problems we do not know about, so please let us know if you find any issues with Mixxx. If you would like to help translate Mixxx into another language, refer to the Internationalization wiki page. Of course, more programmers could always help. Read the Developer Documentation on the wiki for tips on getting started contributing code to Mixxx.
We hope you have as much fun with Mixxx as we do!
For a full list of new features and bugfixes, check out the 2.1.0 milestone on Launchpad.
4 Decks with Master Sync
New Effects Framework with 4 Effect Units and 5 Built-in Effects:
Flanger, Bit Crusher, Reverb, Echo, Filter
More to come!
Configurable, Resizeable User Interface with 3 Brand New Skins
Cover Art Display
Music Key Detection and Shifting
Vinyl Audio Pass-Through
4 Microphone inputs and 4 Auxiliary inputs
MIDI Mapping GUI and Improved Learning Wizard
MusicBrainz metadata fetching
RGB Musical Waveforms
Hundreds of Bug Fixes and Improvements
New Pitch-Independent Algorithm for Better-Sounding Key-lock
For a full list of new features and bugfixes, check out the 2.0.0 milestone on Launchpad.
For an overview of previous versions, take a look at the timeline.