---
Type: desktop-application
ID: org.mixxx.Mixxx
Package: mixxx
ProjectLicense: GPL-2.0
Name:
C: Mixxx DJ Software
Summary:
C: Everything you need to perform live DJ mixes
Description:
C: >-
<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>
Categories:
- AudioVideo
- Audio
- Midi
- Mixer
- Player
- Recorder
- Sequencer
Keywords:
C:
- dj
- music
- alsa
- jack:realtime
- standalone
- Terminal=false
Url:
contact: https://mixxx.zulipchat.com
homepage: https://mixxx.org
bugtracker: https://github.com/mixxxdj/mixxx/issues/
help: https://mixxx.org/support/
translate: https://explore.transifex.com/mixxx-dj-software/
donation: https://mixxx.org/donate/
Icon:
cached:
- name: mixxx_mixxx.png
width: 48
height: 48
- name: mixxx_mixxx.png
width: 64
height: 64
- name: mixxx_mixxx.png
width: 128
height: 128
remote:
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/icons/128x128/mixxx_mixxx.png
width: 128
height: 128
stock: mixxx
Launchable:
desktop-id:
- org.mixxx.Mixxx.desktop
Provides:
modaliases:
- usb:v22F0p0008d*
- usb:v1C75p*
- usb:v1397p*
- usb:v154Ep*
- usb:v1157p*
- usb:v23C7p*
- usb:v06F8p*
- usb:v15E4p*
- usb:v0944p*
- usb:v17CCp*
- usb:v057Ep*
- usb:v08E4p*
- usb:v2B73p*
- usb:v13E5p*
- usb:v200Cp*
- usb:v0582p*
- usb:v054Cp*
Screenshots:
- default: true
caption:
C: Mixxx with the default LateNight PaleMoon skin
thumbnails:
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-1_1248x702@1.png
width: 1248
height: 702
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-1_752x423@1.png
width: 752
height: 423
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-1_624x351@1.png
width: 624
height: 351
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-1_224x126@1.png
width: 224
height: 126
source-image:
url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-1_orig.png
width: 3840
height: 2160
- caption:
C: Mixxx with the LateNight Classic skin
thumbnails:
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-2_1248x702@1.png
width: 1248
height: 702
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-2_752x423@1.png
width: 752
height: 423
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-2_624x351@1.png
width: 624
height: 351
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-2_224x126@1.png
width: 224
height: 126
source-image:
url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-2_orig.png
width: 3840
height: 2160
- caption:
C: Mixxx with the Deere skin
thumbnails:
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-3_1248x702@1.png
width: 1248
height: 702
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-3_752x423@1.png
width: 752
height: 423
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-3_624x351@1.png
width: 624
height: 351
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-3_224x126@1.png
width: 224
height: 126
source-image:
url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-3_orig.png
width: 3840
height: 2160
- caption:
C: Mixxx with the Shade Classic skin
thumbnails:
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-4_1248x702@1.png
width: 1248
height: 702
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-4_752x423@1.png
width: 752
height: 423
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-4_624x351@1.png
width: 624
height: 351
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-4_224x126@1.png
width: 224
height: 126
source-image:
url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-4_orig.png
width: 3840
height: 2160
- caption:
C: Mixxx with the Shade Dark skin
thumbnails:
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-5_1248x702@1.png
width: 1248
height: 702
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-5_752x423@1.png
width: 752
height: 423
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-5_624x351@1.png
width: 624
height: 351
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-5_224x126@1.png
width: 224
height: 126
source-image:
url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-5_orig.png
width: 3840
height: 2160
- caption:
C: Mixxx with the Shade Summer Sunset skin
thumbnails:
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-6_1248x702@1.png
width: 1248
height: 702
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-6_752x423@1.png
width: 752
height: 423
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-6_624x351@1.png
width: 624
height: 351
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-6_224x126@1.png
width: 224
height: 126
source-image:
url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-6_orig.png
width: 3840
height: 2160
- caption:
C: Mixxx with the Tango skin
thumbnails:
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-7_1248x702@1.png
width: 1248
height: 702
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-7_752x423@1.png
width: 752
height: 423
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-7_624x351@1.png
width: 624
height: 351
- url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-7_224x126@1.png
width: 224
height: 126
source-image:
url: org/mixxx/Mixxx/5cab5cf53c96338d1ad22e95d629f691/screenshots/image-7_orig.png
width: 3840
height: 2160
Releases:
- version: 2.4.1
type: stable
unix-timestamp: 1715126400
description:
C: >-
<p>
Controller Mappings
</p>
<ul>
<li>
Behringer DDM4000 & BCR2000: Fix exception in JS code
</li>
<li>
Denon DJ MC6000MK2: Fix mapping of filter knob/button
</li>
<li>
Denon DJ MC7000: Fix redundant argument and migrate to
hotcue_x_status
</li>
<li>
Hercules Inpulse 200: Configure shift-browser knob to scroll the library (quick)
</li>
<li>
Nintendo Wii Remote: Fix hid script regarding addOutput
</li>
<li>
Pioneer CDJ: Fix hid script regarding addOutput
</li>
<li>
Pioneer DDJ-FLX4: Add waveform zoom and other mapping improvements
</li>
<li>
Traktor Kontrol F1: Fixes for hid-parser and related script
</li>
<li>
Traktor S2 Mk1: fix warnings
</li>
<li>
Traktor S3: Fix mapping crash on macOS
</li>
<li>
Controller I/O table: sort action column by display string
</li>
</ul>
<p>
Target Support
</p>
<ul>
<li>
Fix various minor build issues
</li>
<li>
CMakeLists: Always prefer OpenGL framework on macOS
</li>
<li>
Use capitalized Mixxx in Windows installer and start menu
</li>
</ul>
<p>
Skins
</p>
<ul>
<li>
Deere: make sampler rows persist
</li>
<li>
Tango: Remove unneeded waveform Singleton
</li>
<li>
Tango 64: fix Main VU meter
</li>
<li>
Prevent possible crash in customs skins using parallel waveforms
</li>
<li>
Slider tooltip: consider orientation for up/down shortcut tooltips + add support for WKnobComposed
</li>
<li>
Tooltips: update 'hotcue' with saved loop features
</li>
<li>
Animate long press latching of sync button
</li>
<li>
Polish fx chain controls
</li>
<li>
Waveforms: draw loop gradient at the correct position
</li>
<li>
Waveform / spinnies: don't take keyboard focus on click
</li>
</ul>
<p>
Library
</p>
<ul>
<li>
Sidebar: show track count and duration of History playlists
</li>
<li>
Computer feature: update removable devices on Linux
</li>
<li>
Playlists: Prevent removing tracks from locked playlists
</li>
<li>
History feature: Fix removing deleted tracks after export
</li>
<li>
BPM display uses decimal separator of selected locale
</li>
<li>
Fix relink directory when migrate between Linux/macOS and Windows
</li>
<li>
Allow adding new directories while watched directories are missing
</li>
<li>
Require a minimum movement before initiating the drag&drop of tracks
</li>
<li>
iTunes/Serato/Traktor/Rhythmbox: Print error if library file could not be opened
</li>
<li>
Playlists: improve table update after deleting (purging) track files
</li>
<li>
Fix Color column width issue
</li>
<li>
Tracks: select track row when clicking the preview button (only when starting preview)
</li>
<li>
Library track menu: show Hide action also in Playlist & Crates
</li>
<li>
iTunes: Obtain FileAccess before accessing iTunes XML
</li>
</ul>
<p>
Miscellaneous
</p>
<ul>
<li>
Remove unnecessary unpolish operation of the style, before polish the new style
</li>
<li>
Developer Tools: Initially sort controls by group name, ascending
</li>
<li>
Waveforms: Fix scratching crossing loop boundaries
</li>
<li>
Prohibit un-replace when deck is playing
</li>
<li>
Track Properties dialog: Prevent wiping metadata when applying twice quickly
</li>
<li>
AutoDJ: Fix button state after error message about playing deck 3/4
</li>
<li>
Tagfetcher: Cache fetched covers
</li>
<li>
Avoid beats iterator being one off and DEBUG_ASSERT in Beats::iteratorFrom
</li>
<li>
Show hint if resource path in CMakeCache.txt does not exist
</li>
<li>
Always calculate the auto value for colorful console output
</li>
<li>
Fix FLAC recording on macOS and Windows
</li>
<li>
LV Mix EQ: Fix pops when enabling in effect rack
</li>
<li>
Fix hid addOutput
</li>
</ul>
- version: 2.4.0
type: stable
unix-timestamp: 1708041600
description:
C: >-
<p>
Music Library: Tracks Table & Track Menu
</p>
<ul>
<li>
Remember track selection when switching library features, fix initial selection etc.
</li>
<li>
Add new library column that shows the last time a track was played
</li>
<li>
Add keyboard shortcut Ctrl+Enter to open track properties
</li>
<li>
Home/End keys jump to first/last row
</li>
<li>
Wrap selection around at the bottom/top, only if Shift is not pressed
</li>
<li>
Allow to hide/remove tracks from the library by pressing the Delete key
</li>
<li>
Fix Recording table refresh issues
</li>
<li>
Show time in addition to the date in the timestamp column
</li>
<li>
Show only the date in Date Added / Last Played columns. Move the time of day to tooltips
</li>
<li>
Right-align BPM, duration & bitrate values
</li>
<li>
Remove parenthesis from play counter display
</li>
<li>
Refocus library, after editing skin controls
</li>
<li>
Fix performance with large playlists
</li>
<li>
Add multi-line editor delegate for comment column
</li>
<li>
Keep current item visible when the view shrinks vertically
</li>
<li>
macOS scrollbar: Make sure last track is shown in library
</li>
<li>
Add action to select loaded track in library
</li>
<li>
Add menu for Analyze and Reanalyze
</li>
<li>
Add support for overriding analyzis settings about variable/constant BPM on a per-track basis
</li>
<li>
Add menu for looking up track metadata at Discogs, SoundCloud and LastFM
</li>
<li>
Add "Delete Track Files" action, does "Move to Trash" with Qt >= 5.15
</li>
<li>
Allow to clear the comment field
</li>
<li>
Allow to reset loops and also via "[ChannelN], loop_remove" control object
</li>
<li>
Add 'Update ReplayGain' decks' to track menus
</li>
<li>
Restore "Remove from playlist" in History
</li>
<li>
Enable Lock BPM action if any selected track BPM is unlocked
</li>
<li>
Order BPM action by factor, show peview (for single track)
</li>
<li>
Provide the same features in all deck track menus
</li>
<li>
Track table header: Keep menu open after toggling a checkbox
</li>
</ul>
<p>
Music Library: Sidebar & Searchbar
</p>
<ul>
<li>
Add F2 and Del/Backspace shortcuts for renaming & deleting playlists and crates
</li>
<li>
Improve presentation of the History library tree
</li>
<li>
History: Fix sidebar context menu actions
</li>
<li>
History: Add cleanup options
</li>
<li>
History: Fix update of play count after removing tracks
</li>
<li>
Improve UX with right-click and selection after add, rename, delete, duplicate etc.
</li>
<li>
Map Left Arrow Key to jump to parent node and activates it
</li>
<li>
Crates: only store or activate sibling crate if it's valid
</li>
<li>
Add recent searches to a drop down menu of the search box
</li>
<li>
Save search queries across restarts
</li>
<li>
Enable search in Browse & Recording views
</li>
<li>
Update Clear button when search is disabled
</li>
<li>
Fix reset to default of search timeout in preferences
</li>
<li>
Ctrl+F in focused search box selects the entire search string
</li>
<li>
Improve keypress handling, fix glitch in popup, strip whitespaces
</li>
<li>
Enter jumps to track table if search query was transmitted
Push completion entry to top, to make up/down behave naturally
</li>
<li>
Remove ESC shortcut in favour of new
[Library],focused_widget
</li>
<li>
Restore previous search term when switching between playlists and crates
</li>
<li>
Add options to disable auto-completion and history
</li>
<li>
Require Enter or Right key to search for auto completed strings
</li>
<li>
Allow to use := and quotes to find exact matches
</li>
</ul>
<p>
Music Library: Backend & Database
</p>
<ul>
<li>
Add new "[AutoDJ],add_random_track" to make this feature accessible from controllers
</li>
<li>
Don't store or update metadata of missing tracks in the Mixxx database to prevent inconsistencies with file tags
</li>
<li>
Update library schema to 37 for synchronizing file modified time with track source on metadata import/export
</li>
<li>
Track Metadata: Fix synchronization (import/export) of file tags
</li>
<li>
Track Metadata: Do not overwrite unchanged multi-valued fields
</li>
<li>
Optionally reset metadata on reimport if file tags are missing, enabled by "[Library] ResetMissingTagMetadataOnImport
1").
</li>
<li>
Logging: Suppress expected and harmless schema migration errors
</li>
<li>
Fix handling of undefined BPM values
</li>
<li>
Automatic analyze and optimize database
</li>
<li>
Re-import and update metadata after files have been modified when loading tracks
</li>
<li>
Re-enable shortcuts after editing controls
</li>
<li>
Allow to remove a track form the disk
</li>
<li>
Fix accasional resetting of played counter in database
</li>
<li>
Experimental: Fix writing of undefined MusicBrainz Recording ID
</li>
<li>
Traktor library: fix importing track key
</li>
<li>
Fix exporting m3u files with tracks and special characters by using the URL format
</li>
<li>
Library Scanner: Sort files before adding them
</li>
<li>
Library Scanner: Fix track relocation query
</li>
<li>
MenuBar: Add shortcut for rescanning library
</li>
<li>
Playlists: simplify import function, add whitespace before the # suffix
</li>
<li>
Destroy PlayerInfo after EngineRecord is stopped to fix a debug assertion
</li>
<li>
iTunes: Modularize importer and use
iTunesLibrary
on macOS for compatibility with
Music.app
</li>
<li>
iTunes: Fix sporadic crash during unit tests due to a not initialized reference.
</li>
<li>
iTunes: Permit duplicate playlist names by identifying playlists by id (rather than name)
</li>
<li>
iTunes: Re-enable test and add
composer
,
playCount
,
lastPlayedAt
and
dateAdded
to model
</li>
<li>
Fix setting the wrong default cue color
</li>
<li>
Ensure that tracks with an invalid BPM are re-analyzed
</li>
<li>
Add support for exporting crates, playlists and the library to Engine Prime and Denon standalone controllers
</li>
<li>
Rekordbox: Save all loops and correct AAC timing offset for CoreAudio
</li>
<li>
Rekordbox: Fix missing playlists due to invalid child ID
</li>
<li>
Rekordbox: Fix unhandled exception when parsing corrupt PDB files
</li>
<li>
Improve log messages during schema migration
</li>
<li>
Search related tracks in collection
</li>
</ul>
<p>
Sync
</p>
<ul>
<li>
Add support for setting an explicit leader for sync lock
</li>
<li>
Fix pitch issue with dynamic tracks and sync while cloning tracks
</li>
<li>
Fix issue with half/double BPM calculation when using sync
</li>
<li>
Sync Lock: Don't seek phase when disabling sync
</li>
<li>
Sync Lock: Fix issues with single-playing syncables
</li>
<li>
Re-sync to leader after scratching
</li>
<li>
Fix audio artifacts when fading from or to zero
</li>
<li>
EngineBuffer: Fix assert when new track is loaded during playback with sync
</li>
</ul>
<p>
Audio Codecs
</p>
<ul>
<li>
Add support for m4v files
</li>
<li>
Fix recovering from FAAD2 decoding issues
</li>
<li>
MP3: Log recoverable errors as info instead of warning
</li>
<li>
MP3: Garbage detection fix
</li>
<li>
MP3: Improve decoding precision on Windows
</li>
<li>
AAC encoder: Fix a memory leak
</li>
<li>
Improve robustness of file type detection by considering the actual MIME type of the content.
</li>
<li>
Fix file type detection when file has wrong file extension by determining the MIME type from content
</li>
<li>
Fix type detection of AIFF files
</li>
<li>
Fix synchronization time stamps of ModPlug files
</li>
<li>
ID3v2 parsing: Improve log warnings
</li>
<li>
ID3v2 parsing: Fix inconsistent import of comment field
</li>
<li>
Enable Modpug and Wavpack Support on macOS
</li>
<li>
Fix missing file name in file metadata error message
</li>
<li>
Verify the "first sound" of as an analysis sanity check
</li>
<li>
Fix zeros in the first m4a chunk on Linux
</li>
<li>
Fix overlapping buffers when decoding m4a files using ffmpeg
</li>
<li>
Fix possible crash with opus files with embedded cover arts and require TagLib 1.11 or newer
</li>
</ul>
<p>
Audio Engine
</p>
<ul>
<li>
Add support for Saved loops
</li>
<li>
Fix an issue when pressing multiple cue buttons at the same time
</li>
<li>
Fix synchronization of main cue point/position
</li>
<li>
Adjust ReplayGain: Allow user to update the replaygain value based on a deck pregain value
</li>
<li>
Add halve/double controls for beatjump size
</li>
<li>
Implement Un-eject by pressing eject again
</li>
<li>
Implement Un-replace by double-clicking eject
</li>
<li>
Allow to cancel active loops via beatloop_activate
</li>
<li>
Slip Mode: Preserve active (regular) loop when leaving Slip Mode
</li>
<li>
Fix possible segfault when ejecting track
</li>
<li>
Fix possible crash when ejecting track from a controller
</li>
<li>
Fix an assertion when loop is before track start
</li>
<li>
Fix and improve snapping to beats in various situations
</li>
<li>
Don't wipe inapplicable sound config immediately
</li>
<li>
Rubberband: Support Version 3 "finer" (near-hi-fi quality) setting, on Windows and MacOs and when available on Linux
</li>
<li>
Rubberband: Add missing padding, preventing it from eating the initial transient
</li>
<li>
Rubberband: Improve mono-compatibility for R3 "finer"
</li>
<li>
Fix a possible crash when ejecting a track
</li>
<li>
Add a range limits for beatjump_size of 512
</li>
<li>
Auto DJ: Fix sharp cut transition after cueing a track without a defined intro
</li>
<li>
Auto DJ: Don't use removed Intro end and outro start makers, use transition time instead
</li>
<li>
Auto DJ: Fix GUI freeze when updating duration for many selected tracks
</li>
<li>
KeyControl: fix keylock/unlock bugs, reset pitch_adjust
4710
</li>
<li>
Looping: fix asserts for loop move
</li>
<li>
Looping: reset loop_end_pos on eject
</li>
<li>
Fix Loop_out not seeking back
</li>
<li>
ReadAheadManager: fix loop wraparound reader condition
</li>
<li>
Slip mode: consider loop for background position only if it was enabled before slip
</li>
<li>
Make decks' xfader assignment persistent
</li>
<li>
Fix gain issue with cloned tracks
</li>
</ul>
<p>
Controller Mappings
</p>
<ul>
<li>
new: Hercules DJControl MIX controller mapping
</li>
<li>
new: Pioneer DDJ-FLX4 controller mapping based on DDJ-400
</li>
<li>
new: Traktor Kontrol S4 Mk3 controller mapping
</li>
<li>
new: Traktor Kontrol Z1 HID controller mapping
</li>
<li>
new: Yaeltex MiniMixxx controller mapping
</li>
<li>
Behringer DDM4000 mixer: Update controller mapping
</li>
<li>
Hercules DJ Console RMX: Replace not defined CO name pitch_reset by pitch_set_default
</li>
<li>
Korg nanoKONTROL2: Don't try to configure more than 4 main decks
</li>
<li>
Korg nanoKONTROL2: Removed along with Mixco scripts
</li>
<li>
MAudio Xponent: Removed along with Mixco scripts
</li>
<li>
MIDI4lights: Give beginTimer callbacks the anonymous function expression form
</li>
<li>
Novation Twitch: Removed along with Mixco scripts
</li>
<li>
Novation Launchpad: Update controller scripts
</li>
<li>
Numark DJ2GO2 Touch: Fix sampler, hotcue, beatloop buttons
</li>
<li>
Numark MixTrack Pro 3: Fix beginTimer callback syntax
</li>
<li>
Roland DJ-505: Make blinking lights blink in sync and other improvements
</li>
<li>
Traktor Kontrol S2 MK1: Add calibration and refactor
</li>
<li>
Traktor Kontrol S2 MK2 fix loaded chain preset CO
</li>
<li>
Traktor Kontrol S2 MK3: Use FX select buttons to set quick effect presets
</li>
<li>
Traktor Kontrol S3: script improvements, vanilla-like FX behavior, control initialization, better scratching, and
more
</li>
<li>
Various mappings: Fix
waveform_zoom
ranges
</li>
<li>
Various mappings: Ensure required samplers are created
</li>
</ul>
<p>
Controller Backend
</p>
<ul>
<li>
Never raise a fatal error if a controller mapping tries access a non-existent control object
</li>
<li>
Add support to access HID FeatureReports
</li>
<li>
Add function to request HID InputReports, to determine controller state at startup
</li>
<li>
Exclude HID device: ELAN touch screen
</li>
<li>
Show otherwise hidden HID devices in developer mode
</li>
<li>
Use hidapi's hidraw backend instead of libusb on Linux
</li>
<li>
Fix broken HID controller mappings Traktor Kontrol S2 MK3 and others
</li>
<li>
HID mappings: Modernize and document common-hid-packet-parser.js
</li>
<li>
HID mappings: Small fixes for common-hid-packet-parser.js
</li>
<li>
HID mappings: Add [Main] to the list of valid groups
</li>
<li>
Consistently use "mapping" instead of "preset" to refer to controller mappings
</li>
<li>
Introduce new control object
[Library],show_track_menu
to open/close the track menu
</li>
<li>
Introduce new control object
[Library],sort_focused_column
</li>
<li>
Introduce new control objects
[Master],indicator_250millis
and
[Master],indicator_500millis
</li>
<li>
Introduce new control object
[Library],clear_search
</li>
<li>
Introduce new control object
[Library],focused_widget
to focus library directly
</li>
<li>
Introduce new control object
LoadTrackFromDeck
and
LoadTrackFromSampler
</li>
<li>
Don't automatically enable controller if it was disabled before
</li>
<li>
Enable Qt logging categories for controller logging
</li>
<li>
Fix segfault during Mixxx shutdown due to a stale controller connection
</li>
<li>
Components JS: Fix syncbutton
</li>
<li>
Components JS: Add script.posMod for euclidean modulo
</li>
<li>
Components JS: make JogWheelBasic correctly switch which deck it controls
</li>
<li>
Add Trace for the mapping connections, to allow JS profiling
</li>
<li>
Controller preferences: Allow creating a new mapping with 'No Mapping' selected
</li>
<li>
Add TypeScript declarations for engine and controller scripting API to improve IDE code completion during mapping
developent
</li>
<li>
Retire Mixco Scripts
</li>
<li>
Relax strictness of
ControllerScriptInterfaceLegacy
methods.
</li>
<li>
Do not show ControlObject aliases in developer tools window
</li>
<li>
Do not use deprecated COs in C++ code/Keyboard Mapping/Skins
</li>
<li>
Fix creation of Sampler
end_of_track
ControlObjects
</li>
<li>
Add a test SoftTakeoverTest.CatchOutOfBounds
</li>
<li>
Make WHotcueButton learnable with the MIDI Wizard
</li>
<li>
Control picker menu: add
waveform_zoom_set_default
</li>
<li>
CO Renaming
</li>
<li>
Remove deprecated ControlObjects from Skins
</li>
<li>
Log warning if deprecated control is used
</li>
<li>
ControlObject alias improvements
</li>
<li>
Keyboard mapping: Repeat certain control actions if key is held
</li>
<li>
Keyboard mapping: Return triggers double-click, move Preview functions to P / Shift+P
</li>
<li>
Keyboard mapping: Various fixes
</li>
<li>
Update keyboard sheet
</li>
<li>
Logging: Add support for
QT_MESSAGE_PATTERN
environment variable
</li>
<li>
Avoid issue with
stars_up/_down
ControlObjects
</li>
<li>
hotcue_X_color control: Fix color not stored in cue
</li>
</ul>
<p>
Skins
</p>
<ul>
<li>
Add harmonic keywheel window
</li>
<li>
Allow skin scaling from preferences
</li>
<li>
Fix icon rendering on HiDPI/Retina screens
</li>
<li>
Increase pixmapCache size limit and made it dependent on devicePixelRatio (for HiDPI/Retina displays)
</li>
<li>
Make beat indicator control behaviour more natural
</li>
<li>
Fix crash if no skin is available
</li>
<li>
Fix crash when starting without a valid skin directory
</li>
<li>
Fix leaked controls
</li>
<li>
Fix switching from Shade to other skins
</li>
<li>
Use double click to reset knobs and sliders
</li>
<li>
Use info not warning for skin COs
</li>
<li>
Spinny: Allow to toggle cover art at runtime
</li>
<li>
Passthrough: improve UI / UX
</li>
<li>
Knob: Hide cursor on wheel event for .8s
</li>
<li>
Move skin control hack to c++ (spinny/cover controls, mic/ducking controls)
</li>
<li>
LateNight: Move logo to the right
</li>
<li>
LateNight: Use correct tooltip for key control toggle
</li>
<li>
LateNight: Add toggles to show loop and beatjump controls
</li>
<li>
LateNight: Remove blinking play indicator from mini samplers
</li>
<li>
LateNight: Add buffer underflow indicator
</li>
<li>
LateNight: Fix xfader icons in samplers and aux units
</li>
<li>
LateNight: use default RGB waveform colors
</li>
<li>
Add LateNight (64 Samplers)
</li>
<li>
Deere: fix skin/library layout (library missing in default view with Qt6)
</li>
<li>
Deere: use decks' waveform colors for sliders (Vol + pitch)
</li>
<li>
Shade: Remove initial setting of now accessible effect controls
</li>
<li>
Shade: Audio Latency meter fix
</li>
<li>
Tango: allow to toggle crossfader independently from mixer
</li>
<li>
Fix outdated tooltips
</li>
<li>
Add settings directory link to Help menu
</li>
<li>
Fix sidebar item styling
</li>
<li>
Fix 500ms blocking of the whole event loop, when holding mouse down on title bar on Windows
</li>
<li>
Change SKIN_WARNING to show the skin file and line first, then c++ context
</li>
<li>
Fix style of selected QComboBox items on Windows
</li>
<li>
Fix reading the Spinny cover on Windows
</li>
<li>
Fix inconsistent/wrong musical keys in the UI
</li>
<li>
Add
skins:
path alias
</li>
<li>
Remove
Text
, use
TrackProperty
or
Label
</li>
<li>
Beat spinBox/AutoDJ spinbox: Enter & Esc also move focus to library
</li>
<li>
Add effect chain menu button to Deere, polish in Tango
</li>
<li>
Skins: reload default.qss when (re)loading a skin
</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.
</li>
<li>
Default to 60 Hz waveform refresh rate
</li>
<li>
Introduce a VSsync mode driven by a phase locked loop
</li>
<li>
Make VSync mode 0 refer to the default mode and make ST_PLL the default on macOS, ST_TIMER otherwise
</li>
<li>
Use WaveformWidgetType::AllShaderRGBWaveform as autoChooseWidgetType
</li>
<li>
Add new "RGB Stacked" waveform
</li>
<li>
Fix micro jitter from clamping position offset to vsync interval
</li>
<li>
Avoid flickering when resizing
</li>
<li>
Invert scroll wheel waveform zoom direction to mach other applications
</li>
<li>
Waveform scrolling: Use set interval setting to fix performance degradation for AMD graphics adapters
</li>
<li>
Fix waveform zooming
</li>
<li>
Fix OpenGL version detection
</li>
<li>
Fix crash when no GL context is available
</li>
<li>
Fix stopped waveform rendering in case of vinyl control
</li>
<li>
Fix visual play position related to looping
</li>
<li>
Fix for visual position while scratching outside of an activated loop
</li>
<li>
Spinny: Fix drawing of non-square cover arts
</li>
<li>
Spinny/VU-Meter: Fix drawing
</li>
<li>
VU-Meter: Don't use OpenGL by default
</li>
<li>
Improve GLSL pre-roll triangles
</li>
<li>
Make scaling of GLSL RGB and RGB L/R waveform amplitudes consistent with simple waveform
</li>
<li>
Improve rendering of waveform marks
</li>
<li>
avoid overlapping marks
</li>
<li>
gradually "compact" the markers if the waveform height is reduced
</li>
<li>
Fix clamping of the index for drawing the waveform left of zero position
</li>
<li>
Fix possible crash when closing Mixxx
</li>
<li>
Fix EGL support
</li>
<li>
Preferences: recall correct waveform type when selecting an overview type
</li>
</ul>
<p>
Cover Art
</p>
<ul>
<li>
Prevent wrong cover art display due to hash conflicts
</li>
<li>
Add background color for quick cover art preview
</li>
<li>
Fix coverart tooltip if cover is not cached
</li>
<li>
Add cover art fetcher to the Musicbrainz dialog
</li>
<li>
CoverArtCache refactoring + Fix scrolling lag after updating Mixxx
</li>
</ul>
<p>
Effects
</p>
<ul>
<li>
Effect refactoring: Effect chain saving/loading, parameter hiding/rearrangement, effect preferences overhaul
</li>
<li>
Add Noise effect
</li>
<li>
Add Pitch Shift effect
</li>
<li>
Add Distortion effect
</li>
<li>
Effect parameter knobs: Briefly show parameter value in parameter name widget
</li>
<li>
Effect parameter knobs: Implement ValueScaler::Integral, snap value to int
</li>
<li>
Show effect parameter units in parameter name label
</li>
<li>
Fix gain compensation for the Moog filter
</li>
<li>
Fix memory leak in AutoPan
</li>
<li>
EngineFilterDelay: clamp wrong delay values
</li>
<li>
Fix crash when changing effect unit routing
</li>
<li>
Clear effect buffer after ejecting a track
</li>
<li>
Center Super knob when loading empty (QuickEffect) chain preset
</li>
<li>
Don't reset "super" and "mix" knob on startup
</li>
<li>
Add a missing early return
</li>
<li>
Update EffectSlot meta default value according to loaded effect
</li>
</ul>
<p>
Target Support
</p>
<ul>
<li>
Added support for macOS ARM builds on M1/M2 Apple silicon
</li>
<li>
Set app_id to fix Mixxx window icon on Wayland
</li>
<li>
Require C++20 but keep Ubuntu Focal support
</li>
<li>
Drop Ubuntu Bionic support, require Qt 5.12
</li>
<li>
Drop Ubuntu Groovy and Impish support because of EOL
</li>
<li>
Support Ubuntu Noble and Jammy
</li>
<li>
Add NixOS support
</li>
<li>
Windows packaging: Use Azure for signing exe, msi and all dlls with timestamp and sha256
</li>
<li>
macOS packaging: Fix signing and migrate script to
notarytool
</li>
<li>
macOS packaging: Enable app sandbox and fix related issues
</li>
<li>
macOS: Use rounded Mixxx Icon to follow Apples style guide
</li>
<li>
macOS packaging: Capitalize bundle and executable name (Mixxx.app)
</li>
<li>
OpenBSD: Allow building Mixxx
</li>
<li>
Improve Linux launcher
</li>
<li>
Experimental iOS support
</li>
<li>
Fail early in case Taglib 2.0 is found
</li>
</ul>
<p>
Track properties
</p>
<ul>
<li>
Fix a SIGSEGV after a debug assertion
</li>
<li>
Apply pending changes also when saving via hotkey
</li>
<li>
Fix crash when trying to scale 0.0 BPM
</li>
<li>
Add track color selector
</li>
<li>
Don't clear unsaved properties when updating star rating
</li>
<li>
Fix glitch in Star rating
</li>
<li>
Focus Double-clicked property field for edit
</li>
<li>
Display the samplerate
</li>
</ul>
<p>
Preferences
</p>
<ul>
<li>
Always show tooltips
</li>
<li>
Add option to keep deck playing on track load
</li>
<li>
Always enable Alt shortcut keys
</li>
<li>
Sound Hardware: auto select free device channels
</li>
<li>
Various layout and UX fixes
</li>
<li>
macOS: set preferences dialog title to the selected page title
</li>
<li>
macOS: fix the preferences menu and opening the settings directory
</li>
<li>
macOS: fix slider styling in preferences dialog
</li>
<li>
Vinyl control: Improve quality indicator
</li>
<li>
Mixer: apply & save settings only in slotApply(), fix bugs, improve UX
</li>
<li>
Mixer: fix reset of EQ auto-reset checkbox
</li>
<li>
Interface: avoid unneeded skin reload, clean up
</li>
<li>
Library: Add link to settings files info in the manual
</li>
<li>
Controllers: add search bars to mapping tables
</li>
<li>
Add 13 new translation languages
</li>
<li>
Join Franch translations to "fr" and remove all untranslated English strings.
</li>
<li>
Apply changes from all pages when pressing Apply (like when pressing Okay)
</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.
</li>
<li>
macOS: Library entries are now sorted using the language depending Unicode Collation Algorithm (UCA).
</li>
<li>
macOS: Visual glitches with the main EQ sliders
</li>
<li>
Linux: possible crash when enabling a MIDI controller
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
</li>
</ul>
- version: 2.3.6
type: stable
unix-timestamp: 1692057600
description:
C: >-
<ul>
<li>
Fixed possible crash when closing Mixxx while browsing the file system
</li>
<li>
No longer stop a track with an active loop at the very end
</li>
<li>
Fixed resyncing when moving an active loop
</li>
<li>
Allow true gapless playback when repeating full tracks
</li>
<li>
Rhythmbox: Fixed bulk track imports from playlists
</li>
<li>
Console log spam reduced
</li>
<li>
Numark DJ2GO2 Touch: Add missing loop_out mapping for the right deck
</li>
<li>
Shade: Fixed VU-Meter and other minor issues
</li>
<li>
Fixed a rare crash when disabling quantize form a controller
</li>
<li>
Controller Preferences: Avoid scrollbars in I/O tabs if Info tab exceeds page height
</li>
<li>
Broadcast: Improved error message in case of timeout
</li>
<li>
Handle setting
loop_in
and
loop_out
to the same position
</li>
<li>
Fix build issues with Protobuf v23.4 and with clang 32
</li>
<li>
Disable GL VU-Meters on Windows by default. They can be re-enabled via the command line option
--enableVuMeterGL
.
</li>
<li>
Library preferences: Uncheck Serato metadata export when file metadata export is unchecked
</li>
<li>
Denon MC6000MK2: Delete mapping for main gain
</li>
<li>
Improve output in case of some failed file system operations
</li>
<li>
Fix overlapping buffers when decoding M4A files using FFmpeg before 4.4
</li>
<li>
Don't reject key values from file metadata with non-minor/-major scales.
</li>
<li>
Allow playing tracks with durations of more than 6 hours
</li>
<li>
Update latency compensation for Soundtouch version 2.1.1 to 2.3
</li>
</ul>
- version: 2.3.5
type: stable
unix-timestamp: 1683676800
description:
C: >-
<ul>
<li>
Fix empty waveform overview after loading a track (Mixxx 2.3.4 regression)
Fixed by
</li>
<li>
Fullscreen: Fix a crash that occurs on Linux after enabling fullsceen and using menu
shortcuts e.g. Alt-F.
</li>
<li>
Fullscreen: Rebuild & reconnect menu only on desktops with global menu
</li>
<li>
macOS: Request Microphone and line-in access permission.
</li>
<li>
JACK API: Allow to explicit select buffers of 2048 and 4096 frames/period. They are not
supported by the automatic buffer setting of the used PortAudio library.
</li>
<li>
Pioneer DDJ-400: Make Beat FX section more intuitive
</li>
<li>
Playlist export: Adopt new extension after changing the playlist type
</li>
<li>
LateNight: brighter fx parameter buttons
</li>
<li>
Fix drift in analyzis data after exporting metadata to MP3 files with ID3v1.1 tags
</li>
<li>
Fix broadcasting using Opus encoding
</li>
<li>
Tango: Remove VU peak indicators from stacked layout. This fixes a visual regression in Mixxx 2.3.4.
</li>
<li>
Hercules P32: Allow optional using pregain instead of dry/wet knob
</li>
<li>
Improve Color Picker dialog
</li>
<li>
Fix blank Waveform overview after changing Skin with a track loaded
</li>
<li>
Linux: Log a warning when the audio thread is not scheduled with real-time policy
</li>
<li>
Auto DJ: Fixes stop due to tracks with changed length
</li>
<li>
Auto DJ: Fix Auto DJ indicator state when controlling it via shortcut (SHIFT+F12)
</li>
<li>
Fix building with Clang 15/16
</li>
<li>
Fix EQ and waveforms analysis when compiling with GCC 13
</li>
<li>
Numark Mixtrack Pro FX: Fix sound output via WDM-KS on Windows
</li>
<li>
Fix crash on startup caused by faulty ASIO driver like FlexASIO 1.4 or Music Maker
</li>
<li>
Windows: Show a loopback device that allows to mix in system sound
</li>
<li>
Fix sorting via column header in external library features
</li>
<li>
Fix wrong waveform background color on recent Linux distributions like Fedora 37
</li>
<li>
Serato Metadata: Don't import empty (black) cue points
</li>
<li>
Track context menu: Immediately adopt new position when resetting cues
</li>
<li>
Windows: Fix possible crash with faulty mp3 files
</li>
</ul>