Mixxx 2.1 beta released

Mixxx 2.1 beta released

After two years of hard work, the Mixxx team is pleased to announce Mixxx 2.1 beta. 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. Windows, macOS, and Ubuntu users can download installers here. Updated installers will be available whenever we make changes to the code until the 2.1 release, so keep checking back for new installers. Ubuntu users can also install packages from the PPA and use apt-get to stay up to date. If you want to use 2.1 beta on a GNU/Linux distribution other than Ubuntu, you can compile it from source code.

Here is a quick summary of what is new in Mixxx 2.1:

  • Graphical interface scales for high resolution screens
  • Overhauled Deere and LateNight skins
  • New Tango skin
  • Resizable waveforms
  • 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
  • New JavaScript library for controller mapping
  • 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:

We will be beta testing 2.1 for 3 months before releasing 2.1 at the end of March 2018. The beta release will be updated continuously until that time. No big new features will be added to 2.1 after this point. We will fix small bugs, continue to polish the skins, and update more controller mappings until the final 2.1 release. We will be writing the English version of the manual during January 2018 to allow two months for translating it before the release. To get you exciting new features sooner, we have decided to move to a fixed 6 month release cycle going forward, so look for Mixxx 2.2 at the end of September 2018.

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 beta. How to uninstall Mixxx varies on different versions of Windows:

  • Windows Vista, 7, and 8: Start > Control Panel > Programs > Uninstall a Program
  • Windows 10: Start > Control Panel > Programs > Programs And Features > look for Mixxx > Uninstall

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.

There are a few rough edges in the beta that we are aware of and are still working on. First, Mixxx takes a long time to start up and shut down. Also, running batch analysis makes the interface unresponsive while the analysis is going. We are working to improve that, but we recommend letting your computer analyze all your tracks overnight or another time when you can leave your computer running for a long time.

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!

We need to convince the guys at Next.Audio to add Mixxx to the lineup of softwares to convert playlists to. :slight_smile:

It would be better to implement that directly in Mixxx than require users to install a separate proprietary program. We already have support for Traktor cues in progress and someone is also documenting the Denon Engine Prime format.

Thats even better. Im currently running Rekordbox DJ inside a windows VM for DVS. Would love to eliminate the need for the VM.

I tried signing up on the forums and I get the following:

Your IP xxx.xx.xxx.xx has been blocked because it is blacklisted. For details please see http://www.sorbs.net/lookup.shtml?xxx.xx.xxx.xx.
Your IP xxx.xx.xxx.xx has been blocked because it is blacklisted. For details please see http://www.barracudacentral.org/lookups/ip-reputation?ip_address=xxx.xx.xxx.xx.
An entry on the blacklist may have several reasons:

  1. You are a well-known spammer.
  2. Last time a well-known spammer was using the dynamic IP address which you got from your ISP (Internet Service Provider), your e-mail address or the username you have choosen.
  3. Your ISP is well-known for a lot of spamming customers and is not fighting against spammers enough.
    Please note that you will need to enter a valid e-mail address before your account is activated. You will receive an e-mail at the address you provide that contains an account activation link.

It doesn’t look like this forum supports private messages (or maybe my account is too new to access them), so private message me your IP on Mixxx’s Zulip chat and I’ll see if I can whitelist it.

So, this has actually been happening a lot with forums with automated blacklisting lately. I’m pretty sure someone is operating a botnet on some ISP’s routers and that’s causing a lot of these issues.

You can investigate a little bit more in such a way sysadmins might be able to track it down. But, IME, they’re either not capable or not interested in actually figruing it out.

Can you route Mixxx Decks into Ableton Live (Jack Router) and still use DVS control in Mixxx?

Yes, you could use the unmixed Deck 1-4 outputs. Why do you want to do this? It would probably be better if you could do what you want in Mixxx without needing a separate program.

Yeah it’s something I’ve noticed. I just don’t sign up for the forums anymore if the admins aren’t taking the time to ensure their security features are working correctly. Especially on forums where downloadable content is a large part of the main focus.

I want to use Lives effects grouping & routing & sampling/re-sampling…

What does that provide that you cannot already do with Mixxx’s built in effects? Are there effects you would like added to Mixxx? Or is there a missing feature from Mixx’s effects system?

I see in your signature that you use a Zomo MC-1000. There is not a Mixxx mapping for that yet, but fortunately the layout of its effects controls would map perfectly to Mixxx’s effects system using the EffectUnit in the new Components JS library.

Can Mixxx host vst effects?

I’d make my own mapping for the MC-1000. :sunglasses:

Mixxx cannot host VST effects. We would like to implement support for external effects plugins in the future, but not for 2.1 (and probably not 2.2 either). There is an old branch to implement LV2 effects that needs a lot of work to update for the recent changes in the effects system, so we’ll likely support LV2 before VST. Before we can release that though, there are a lot more changes that need to be implemented in the effects system to make external effects plugins useable for live performance like user-configurable hiding and rearranging of effect parameters. I’m not sure if Mixxx will ever be able to support VST2 unless Steinberg changes the license for the VST2 SDK, but we will be able to support VST3 (Mixxx is licensed under the GNU GPL v2 or later and the VST3 SDK is licensed under the GNU GPL v3).

I would highly recommend using the EffectUnit provided by the Components JS library to map the effects controls on the Zomo MC 1000. We’ve spent over 1.5 years iterating through different designs for the mapping and implementing it in code that is easy to reuse for other controllers so you don’t have to repeat the work we’ve already done.

What VST effects would you want to use? It would probably be quicker and easier to implement similar effects in Mixxx. That way, they would be available to all Mixxx users on all platforms without having to install anything extra.

I have a question about LED Output mapping because I’m struggling with setting basic “Deck Play” On/Off LED toggle command :slight_smile:
The button on my Twister is set to values 0 and 127. Am I missing something obvious?

Or. Are this controls supposed to be addressed only trough scripting?

I’ve looked in to pre built presets for the Tweaker and some other controllers and my “Output Mappings” tab always shows empty.
My mapping is supposed to be very simple no layers and shift buttons so if that’s possible I’d rather map this via Output Mapping menu other than looking for help with the code.

You need to set the “On Range Min” and “On Range Max” both to 1. Those refer to the values of the Control in Mixxx to trigger the output message, not MIDI values. Also, you have to restart Mixxx before changes made to the output mappings via the GUI take effect. If you think this is confusing, annoying, and difficult to manage, I agree. That’s why I quickly gave up on it and wrote my mappings entirely in JavaScript, which I find easier to wrap my head around than a giant table of numbers. The mappings you tried loading that don’t show anything in the Outputs tab handle output entirely in JavaScript.

By the way, use the “play_indicator” and “cue_indicator” Controls for LED output to play and cue buttons. Those behave differently depending on the cue mode configured in Options → Preferences → Decks and will match the buttons on screen.

The Twister was one of the controllers I kept in mind when designing the effects system so it could potentially work really well with Mixxx’s effects system. The EffectUnit in the Components JS library could work for that but it wouldn’t be able to take full advantage of the Twister’s features like showing a new knob position on the controller when switching layers. Code specifically for the Twister would be needed for that, but I don’t have a Twister so that hasn’t been written.

That could be arranged, drop me a PM =)

Is sending knob position via MIDI Out what you are referring that needs to be addressed? That’s all Twister takes.

That is one feature that would require code specifically for the Twister, but I have many more ideas for what a Twister could do with Mixxx. The EffectUnit in the Components JS library allows for switching between controlling the metaknobs of each effect in a chain and controlling the parameters of one effect at a time (details of how to use this are on the Mixxx wiki). With the Twister, that could allow for controlling 4 different effect units at a time. The Twister could take that one step further and add a layer to use the entire controller for the parameters of every effect in a chain. There could also be a way to toggle the routing of decks to effect units. In the future, a way to switch between premade effect chain presets could be mapped.

Of course, it could also be used to control decks. It could potentially be used with a 4 knob EQ effect like a Xone 92 style fixed 4 band EQ or a PLAYdifferently Model 1 style semiparametric EQ, but those may require rearranging the mapping a bit to keep the other deck controls usable.

These could be designed to use multiple Twisters together, for example one for effects and one for decks, or one for decks 1 & 2 and another for decks 3 & 4, as well as designing ways to switch between all the different possibilities with a single Twister. The possibilities are endless, but putting these ideas into intuitive, usable designs and code would be a lot of work.

To take full advantage of the Twister’s capabilities may require some changes to Twister’s firmware so Mixxx could dynamically change the encoders’ behavior with standard MIDI messages instead of relying on a fixed configuration set in the MIDI Fighter Utility.

Thanks, I’ll get back to you after discussing with the other Mixxx developers.

By the way, I like your productions on Soundcloud, but I don’t like paying extra for lossless on Beatport. It would be cool if you put them on Bandcamp. :slight_smile:

Thanks! You can find those here