14. Napredne teme

14.1. Dodajanje podpore za vaš MIDI/HID kontroler

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

Z ustvarjanjem novih predlog je mogoče dodati podporo za druge naprave. Ta datoteka pove programu Mixxx, kako naj prevaja ali mapira MIDI/HID sporočila kontrolerja v ukaze, ki jih Mixxx razume.

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

Čarovnik za kontrolerje

Mixxx Controller Wizard -  Mapping a control

Mixxx čarovnik za kontrolerje - mapiranje kontrole

Zdaleč najbolj enostaven način ustvarjanja MIDI predloge je uporaba čarovnika za kontrolerje.

  1. Povežite kontroler(je) z računalnikom

  2. Zaženite Mixxx

  3. Pojdite na Nastavitve ‣ Kontrolerji

  4. Izberite napravo iz seznama vseh naprav na levi strani in desni pano se bo spremenil.

  5. Potrdite polje Omogočeno

  6. Kliknite na Čarovnik za učenje za izbirni dialog

  7. Kliknite na poljubno kontrolo v Mixxx GUI

  8. Lahko tudi kliknete na gumb Izberi kontrolo in izberete enega iz seznama.

  9. Pritisnite Učenje in potem premaknite kontrolo ali pritisnite na gumb kontrolerja, ki ga želite mapirati. Lahko tudi zgolj premaknete kontrolo, ne da bi pritisnili Učenje, če mapirate več kontrol.

  10. Če mapirate gumb, ga pritisnite zgolj enkrat. Če se mapirate regulator ali drsnik, ga premaknite preko celotnega obsega.

  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. Ko končate z mapiranjem kontrol, pritisnite Opravljeno

V Midi čarovniku je tudi nekaj naprednih možnosti, ki jih boste morda rabili:

  • 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.

  • Način stikala: Uporabite to možnost na kontrolerjih, ki imajo kontrole, ki delujejo kot stikala in pošiljajo eno vrednost ob prvem pritisku in drugačno vrednost ob naslednjem. (Kot na primer preklopno stikalo ali stikalo, ki zažari ob prvem pritisku in ugasne ob drugem).

  • Jog vrtiljak / vrtljiv izbirnik: Izberite to možnost za regulatorje, ki nimajo začetka in konca, temveč se neomejeno obračajo.

Čarovnik za kontrolerje shrani novo predlogo na naslednja mesta:

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

  • macOS: /Users/<username>/Library/Application\ Support/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://github.com/mixxxdj/mixxx/wiki/MIDI-Controller-Mapping-File-Format.

čarovnik za kontrolerje deluje le za MIDI naprave. Trenutno ni mogoče mapirati modifikacijskih (shift) tipk in vrtljivih plošč. Za to uporabite Pisanje MIDI skript z Javascript .

Pisanje MIDI skript

Da bi uprabili napredne funkcije mnogih MIDI/HID kontrolerjev, Mixxx ponuja pisanje MIDI skript.

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://github.com/mixxxdj/mixxx/wiki/Midi-Scripting and https://github.com/mixxxdj/mixxx/wiki/hid_mapping_format.

Mixxx Controls

Nearly every knob, button, or fader you see in Mixxx’s interface is controllable via Mixxx’s „control“ system. The control system allows skins, MIDI controllers, HID controllers and keyboards to control Mixxx via a single interface.

A control is identified by a „group“ (which is used for grouping associated controls) and a „key“ (the name of the individual control).

For example, the volume fader for Deck 1 is identified by the group :mixxx:cogroupref:`[Channel1] <[ChannelN]>` and key :mixxx:coref:`volume <[Channel1],volume>`. Similarly, the volume fader for Sampler 1 is identified by the group :mixxx:cogroupref:`[Sampler1] <[SamplerN]>` and key :mixxx:coref:`volume <[Sampler1],volume>`.

The group is used to collect all the controls that affect one component of Mixxx into one collection. Some groups have a high overlap of controls in common (e.g. samplers, decks, and the preview deck all share the same control keys).

In addition to controlling Mixxx, the control system can be used to inspect Mixxx’s state. For example, the sample rate of the track loaded in Deck 1 can be accessed via the :mixxx:coref:`[Channel1],track_samplerate` control. You can read the :mixxx:coref:`[Channel3],play` control to determine whether Deck 3 is playing.

The default value range is 0.0 to 1.0, unless otherwise noted. Binary means that it is either ‚ON‘ (non-zero) or ‚OFF‘ (zero).


Discovering Controls used in Skins

You can view the control connected to any part of a skin by running Mixxx with the --developer command line option and hovering your mouse cursor over part of the skin. If no tooltip appears, enable tooltips for the Library and Skin in Options ‣ Preferences ‣ Interface.


Changing any control from the GUI in Developer Mode

When running Mixxx in Developer Mode (with the --developer command line option), you can view and manually set the state of any control in Mixxx by going to Developer ‣ Developer Tools.

Poglej Tudi

See controlindex for a full list.

ControlPotMeter controls

The following extensions add some features to ControlPotMeter controls (volume, crossfader, …). Use in conjunction with [ChannelN], [SamplerN], [Master], … groups.

Control Suffix



Increases the value, e.g. :mixxx:coref:`[ChannelN],rate_perm_up` sets the speed one step higher (4 % default)


Decreases the value, sets the speed one step lower (4 % default)


Increases the value by smaller step, sets the speed one small step higher (1 % default)


Decreases the value by smaller step, sets the speed one small step lower (1 % default)


Sets the value to 1.0, sets the channel volume to full


Sets the value to -1.0, sets the channel volume to zero


Sets the control to its default, return to default waveform zoom level


Sets the value to 0.0, put the crossfader in the middle again


Sets the value to 0.0 if the value was > 0.0, and to 1.0 if the value was 0.0, will cut off/on a track while you’re playing


Sets the value to -1.0 if the value was > -1.0, and to 1.0 if the value was -1.0, can tilt the crossfader from left to right

These controls can be used in JavaScript files like this:

// This won't work:
engine.setValue(group, "pitch_up_small", 1.0);

// Use this instead:
script.triggerControl(group, "pitch_up_small", 50);

To use *_toggle the respective shortcut for scripts is:

script.toggleControl(group, "keylock_toggle", 100);

The [Master] group

The :mixxx:cogroupref:`[Master]` group generally corresponds to controls that affect the mixing engine. This will bear some similarity to what you will find on a DJ mixer (e.g. crossfader controls, headphone cueing controls, etc.).

Decks, Preview Decks and Samplers

Each deck in Mixxx corresponds to a :mixxx:cogroupref:`[ChannelN]` group. Whenever you see :mixxx:cogroupref:`[ChannelN]`, think „Deck N“. N can range from 1 to the number of active decks in Mixxx.

Preview decks and Sample decks („samplers“) in Mixxx are identical to regular decks, they simply have a different purpose (previewing tracks or playing samples, respectively). Any control listed above for :mixxx:cogroupref:`[ChannelN]` will work for a samplers and preview decks, just replace :mixxx:cogroupref:`[ChannelN]` with :mixxx:cogroupref:`[PreviewDeckN]` or :mixxx:cogroupref:`[SamplerN]`.

Poglej Tudi

There are some additional global controls for samplers.

Deprecated controls

These controls have been deprecated, new controller mappings should use the alternatives.

Global Sampler controls

These controls can be used to control all samplers.

Microphones and Auxiliary Channels

In contrast to decks, preview decks and samplers, microphones and auxiliary channels are input channels. You can map audio interface’s inputs to mixxx’s auxiliary input channels and connect external audio source to it (cellphone, mp3 player). Then you can use your MIDI controller to control its volume and some other parameters (orientation, gain, volume), apply effects and use the prelisten function.


Although the first auxiliary group is named :mixxx:cogroupref:`[Auxiliary1]`, the group for the first microphone is just called :mixxx:cogroupref:`[Microphone] <[MicrophoneN]>`, not :mixxx:cogroupref:`[Microphone1] <[MicrophoneN]>`.

The [VinylControl] group

The :mixxx:cogroupref:`[VinylControl]` group can toggle the vinyl control feature.

The [Recording] controls

The controls in the :mixxx:cogroupref:`[Recording]` group can be used to query and control the recording of your mix.

AutoDJ controls

The :mixxx:cogroupref:`[AutoDJ]` controls allow interacting with AutoDJ.

The [Library] controls

The controls in the :mixxx:cogroupref:`[Library]` group can be used to navigate the library. Note that :mixxx:coref:`[Library],MoveUp` and other Move and Scroll controls emulate keypresses and therefore require the Mixxx window to be focused.

The [Playlist] controls

:mixxx:cogroupref:`[Playlist]` controls allow navigating the sidebar and tracks table directly without considering the currently focused widget. This is helpful when another application’s window is focused. This group is going to be deprecated at some point, with its controls added to [Library] above.

Poglej Tudi

See bug #1772184 for the current status.

The [Controls] controls

The :mixxx:cogroupref:`[Controls]` group contains controls that didn’t fit in any other group.

The Effects Framework

In the list below,

  • EffectRack1 leaves room for future expansion to multiple EffectRacks.

  • N ranges from 1 to [EffectRack1],num_effectunits, inclusive.

  • M ranges from 1 to [EffectRack1_EffectUnitN],num_effectslots, inclusive. (For a given value of N)

  • K ranges from 1 to [EffectRack1_EffectUnitN_EffectM],num_parameters, inclusive. (For given values of N and M)

  • I ranges from 1 to [Master],num_decks, inclusive.

  • J ranges from 1 to [Master],num_samplers, inclusive.

Novo v verziji 2.0.0.

Linking Values

Effect parameters can be linked to the effect’s metaknob. This linkage can be user-controlled by changing the link_type and the link_inverse control of the parameter. The default link type is loaded from the effect parameter’s manifest’s linkHint property.

Link Type

Integer Value




Not controlled by the metaknob



Controlled by the metaknob as it is

Linked Left


Controlled by the left side of the metaknob

Linked Right


Controlled by the right side of the metaknob

Linked Left Right


Controlled by both sides of the metaknob

Link Inverse

Integer Value




Linked in equal relation



Linked in an inverse relation.

EQs and Filters

Equalizers and filters are special effects units. The EQs are controlled by :mixxx:cogroupref:`[EqualizerRack1_[ChannelI]_Effect1]` and the filter knob is controlled by :mixxx:coref:`[QuickEffectRack1_[ChannelI]],super1` and :mixxx:coref:`[QuickEffectRack1_[ChannelI]_Effect1],enabled`. Users can choose between several options for the effects loaded in these racks in the Equalizers section of the Preferences window.


Removed controls

These controls have been removed from Mixxx. Skins and controller mappings that attempt to use them will not work correctly.

14.2. Ustvarjanje lastnega razporeda za tipkovnico

privzeti razporedi tipkovnice so definirani v tekstovni datoteki, ki se nahaja na naslednji lokaciji:

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

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

  • Windows: <Mixxx installation directory>\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/Application\ Support/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://github.com/mixxxdj/mixxx/wiki/mixxxcontrols.

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

14.3. Dodatni učinki preko načina delovanja z zunanjim mikserjem

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.

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.

  • Install the free digital audio mixing application AU Lab.


macOS 10.15 (Catalina) introduces additional restrictions on running non-Apple software. Make sure to grant permission in System Preferences –> Security & Privacy –> Microphone –> AU Lab.

Alternatively, try Blackhole, a modern virtual audio driver that allows applications to pass audio to other applications with zero additional latency, and Hosting AU, a free micro-sized DAW that hosts Audio Unit instruments and effect plugins.

V Mixxx

  • Pojdite na Nastavitve ‣ Strojna oprema za zvok ‣ Izhod

  • Izberite za Predvajalnik 1 napravo Soundflower 16 s kanal 1-2

  • Izberite za Predvajalnik 2 napravo Soundflower 16 s kanal 3-4

  • Pritisnite gumb Prevzemi

V AU Lab

  • Pritisnite gumb +, da ustvarite novo konfiguracijo

  • Add 2 stereo input tracks in the Audio Input Tab

  • Dodajte 2 stereo izhoda v Zvočni izhodi Tab

  • Pritisnite V redu

  • Spremenite zvočno vhodno napravo v Soundflower 16

  • Spremenite zvočno izhodno napravo v Vgrajen izhod

  • Pritsnite Ustvari dokument

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

Efekt bi sedaj moral delovati, ko predvajate skladbo v Mixxx.

Efekti preko JACK Rack na GNU/Linux

The Jack routing for external effects

Usmerjanje preko Jack za zunanje efekte na GNU/Linux platoformah

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. Brisanje vasših knjižnic

Knjižnična datoteka je shranjena na naslednjih mestih, odvisno od tega, kateri je vaš operacijski sistem:


Mixxx knjižnica je shranjena v imeniku %USERPROFILE%\Local Settings\Application Data\Mixxx\. Da bi jo izbrisali v Windowsih, pobrišite mixxxdb.sqlite datoteko v tem imeniku.


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

Mixxx knjižnica je shranjena v .mixxx imeniku v domačem direktoriju. Za izbris na GNU/Linux vtipkajte naslednji ukaz v terminal:

rm ~/.mixxx/mixxxdb.sqlite


Z izbrisom knjižnice se izgubijo vsi metapodatki, vključno s shranjenimi hotcue izočnicami, zankami, komentarji, ocenami in drugimi metapodatki, ki so povezani s knjižnico. Izbrišite knjižnico le v primeru, da teh podatkov ne boste pogrešali.