14. Tópicos Avançados

14.1. Adicionando suporte para o seu Controlador MIDI/HID

With several dozens of DJ controllers supported out-of-the-box, Mixxx gives you comprehensive hardware control for your DJ mixes, see Usando Controladores MIDI/HID.

Support for additional devices can be added to Mixxx by creating a new preset file. This file tells Mixxx how to translate, or map, MIDI/HID messages from a controller into commands that Mixxx understands.

You can download and share custom controller presets in the Mixxx User customizations forums.

14.1.1. Assistente de Controlador

Assistente de Controlador do Mixxx - Mapeando um controle

Assistente de Controlador do Mixxx - Mapeando um controle

By far, the easiest way to create a new MIDI preset is by using the Controller Wizard.

  1. Conecte o(s) seu(s) controlador(es) no seu computador

  2. Inicie o Mixxx

  3. Vá para Preferências ‣ Controladores

  4. Selecione o seu dispositivo da lista de dispositivos disponíveis na esquerda, e o painel da direita vai mudar

  5. Ative a caixa de seleção Ativado

  6. Clique em Assistente de Aprendizado para abrir o diálogo de seleção

  7. Clique em qualquer controle do GUI do Mixxx

  8. Alternativamente, clique no botão Escolher Controle e escolha um de uma lista de seleção

  9. Aperte Aprender e mova um controle ou aperte um botão no seu controlador para mapeá-lo. Você também pode mover um controle sem apertar o botão Aprender se você estiver aprendendo vários controles.

  10. Se você estiver aprendendo um botão, aperte apenas uma vez. Se você está aprendendo um botão giratório ou um deslizante, tente movê-lo por todo a sua extensão.

  11. After Mixxx detects the control, you may click Learn Another or you can click on another button in the Mixxx GUI to learn another control.

  12. Quando você estiver terminado de mapear controles, clique Concluído

Há algumas opções avançadas no Assistente Midi que você pode precisar usar:

  • Soft Takeover: Use this option for knobs or sliders to avoid sudden jumps in when the knob in the GUI doesn’t match the physical knob. If you select this option, you won’t be able to perform super-fast motions as easily. (Recommended off)

  • Invert: Use this option for controls that you want to work backwards from how they were detected.

  • Modo Chave: Use esta opção em controladores que tem diferentes controles que agem como chaves e emitem um valor na primeira vez que são apertados, e um valor diferente na próxima vez. (Pense como um interruptor físico, ou um botão que acende quando você aperta e depois desliga na segunda vez).

  • Jog Wheel / Botão de Seleção: Use isso para potenciômetros que não tem um começo ou fim, mas giram continuamente.

The Controller wizard saves the new preset to the following file paths:

  • Linux: /home/<username>/.mixxx/controllers

  • macOS: /Users/<username>/Library/ApplicationSupport/Mixxx/controllers

  • Windows: %LOCALAPPDATA%\Mixxx\controllers

You can then modify the XML file it creates (or any of the ones that ship with Mixxx) if you’d like to fine-tune it or add more presets. For more information, go to https://mixxx.org/wiki/doku.php/midi_controller_mapping_file_format.

O Assistente de Controlador funciona apenas para dispositivos MIDI. Atualmente você não pode mapear teclas modificadoras (shift) e rotações de prato. Ao invés disso use ref:Scripting MIDI <advanced-controller-midiscript>.

14.1.2. Scripting MIDI

Para suportar as funcionalidades mais avançadas de vários controladores MIDI/HID, o Mixxx oferece o que chamamos de Scripting MIDI.

It enables MIDI controls to be mapped to QtScript (aka Javascript/EMCAScript) functions stored in function library files, freeing Mixxx from a one-to-one MIDI mapping ideology. These user-created functions can then do anything desired with the MIDI event such as have a single controller button simultaneously affect two or more Mixxx properties (“controls”), adjust incoming control values to work better with Mixxx (scratching), display a complex LED sequence, or even send messages to text displays on the controller.

For more information, go to https://mixxx.org/wiki/doku.php/midi_scripting and https://mixxx.org/wiki/doku.php/hid_mapping_format.

14.2. Fazendo um Mapeamento Personalizado de Teclado

Os mapeamentos padrões mappings são definidos em um arquivo de texto que pode ser encontrado no seguinte caminho:

  • Linux: /usr/local/share/mixxx/keyboard/en_US.kbd.cfg

  • macOS: /Applications/Mixxx.app/Contents/Resources/keyboard/en_US.kbd.cfg

  • Windows: <diretório de instalação do Mixx>\keyboard\en_US.kbd.cfg

Depending on your system’s language settings, Mixxx might use a different file as default, e.g. de_DE.kbd.cfg for German or es_ES.kbd.cfg for Spanish.

It is not recommended that you modify the system-wide keyboard mapping file because all your changes may be lost if you uninstall or upgrade Mixxx. Instead, copy the default mapping file to the following location:

  • Linux: ~/.mixxx/Custom.kbd.cfg

  • macOS: ~/Library/ApplicationSupport/Mixxx/Custom.kbd.cfg

  • Windows: %LOCALAPPDATA%\Mixxx\Custom.kbd.cfg

Then edit this file and save the changes. On the next startup, Mixxx will check if Custom.kbd.cfg is present and load that file instead of the default mapping file. This has the advantage that you can always revert back to the default mapping by deleting Custom.kbd.cfg.

For a list of controls that can be used in a keyboard mapping, see https://mixxx.org/wiki/doku.php/mixxxcontrols.

You can download and share custom keyboard mappings in the Mixxx User customizations forums.

14.3. Efeitos Adicionais via Modo de Mixer Externo

Mixxx comes with a set of native effects. Additionally, using the external mixer mode you can route each deck directly to 3rd party effect hosts.

The following examples are only intended to encourage experimentation, they are not definitive guidance.

14.3.1. Effects via AU Lab on macOS

The Au Lab routing for external effects

The Au Lab routing for external effects on macOS

On macOS there is a simple and free way to give Mixxx access to the collection of AU/VST/MAS plugins that are installed on your system.

  • Install the free Soundflower, a system extension for inter-application audio routing.

  • Download AU Lab.app standalone from Apple (you will need an free Apple Developer Login though), go to the Downloads for Developers page and search for “AU Lab” to get it.

No Mixxx

  • Vá em Preferências ‣ Hardware do Som ‣ Saída

  • Selecione para o Deck 1 o dispositivo Soundflower 16 com Canal 1-2

  • Selecione para o Deck 2 o dispositivo Soundflower 16 com Canal 3-4

  • Clique no botão Aplicar

No AU Lab

  • Clique no botão + para criar uma nova configuração

  • Add 2 stereo input tracks in the Audio Input Tab

  • Adicione 2 saídas estéreo na Guia de Saída de Áudio

  • Clique OK

  • Mude o dispositivo de entrada de áudio para Soundflower 16

  • Mude o dispositivo de saída de áudio para, por exemplo Entrada Embutida

  • Clique em Criar documento

  • In the Output 1 channel, select an effect from the drop-down menu, for example Apple > AUCompressor

O efeito agora deve reagir se você tocar uma faixa no Mixxx.

14.3.2. Efeitos via JACK Rack no GNU/Linux

The Jack routing for external effects

O roteamento Jack para efeitos externos no GNU/Linux

Use Jack to route each deck directly through JACK Rack effect racks, or for more control you can use Ardour (or another DAW) using sends for effects. This gives Mixxx access to the extensive collection of LADSPA plugins.

Make sure the correct multichannel audio interface has been selected in Jack (Jack settings visible bottom left). Note that Mixxx possibly labels its Jack ports as “Portaudio”.

14.4. Deleting Your Library

The library file is stored in the following places depending on your operating system:


The Mixxx library is stored in the %USERPROFILE%\Local Settings\Application Data\Mixxx\ folder. To delete your library on Windows, delete the mixxxdb.sqlite file in this folder.


The Mixxx library is stored in the Library/Application Support/Mixxx folder in your home directory. To delete your library on macOS type the following command into a terminal:

rm ~/Library/Application\ Support/Mixxx/mixxxdb.sqlite

The Mixxx library is stored in the .mixxx folder in your home directory. To delete your library on GNU/Linux type the following command into a terminal:

rm ~/.mixxx/mixxxdb.sqlite


Deleting your library will lose all of your metadata. This includes saved hotcues, loops, comments, ratings, and other library related metadata. Only delete your library if you are fine with losing these.