14. Thèmes avancés

14.1. Ajouter le support pour votre contrôleur MIDI/HID

Avec plusieurs dizaines de contrôleurs DJ pris en charge prêts à l’emploi, Mixxx vous offre un contrôle matériel complet pour vos mixages DJ, voir Utiliser des contrôleurs MIDI/HID.

Le support pour du matériel supplémentaire peut être ajouté à Mixxx en créant un nouveau fichier prédéfini. Ce fichier permet à Mixxx de traduire ou assigner les messages MIDI/HID du contrôleur à des commandes que Mixxx comprend.

Vous pouvez télécharger et partager des fichiers de configuration de contrôleurs personnalisés dans les “Forums Mixxx de personnalisation des utilisateurs” <http://mixxx.org/forums/viewforum.php?f=6>`_.

Assistant contrôleur

Mixxx Controller Wizard -  Mapping a control

Assistant de contrôleur de Mixxx - Assigner un bouton

La façon la plus simple de créer un nouveau préréglage MIDI est d’utiliser l’assistant contrôleur.

  1. Branchez votre (ou vos) contrôleur(s) à votre ordinateur

  2. Lancer Mixxx

  3. Allez à Preferences ‣ Controllers

  4. Choisissez votre appareil dans la liste des appareils disponibles sur la gauche, et le panneau de droite se met à jour

  5. Activez la base à cocher Enabled

  6. Cliquez sur Learning Wizard pour ouvrir la fenêtre de sélection

  7. Cliquez sur n’importe quel contrôle de la GUI de Mixxx

  8. A la place, vous pouvez cliquer sur le bouton Choose Control et en sélectionner un dans la liste

  9. Appuyez sur Learn puis déplacez le contrôle ou pressez un bouton de votre contrôleur pour l’associer. Vous pouvez également déplacer un contrôle sans appuyer sur le bouton Learn si vous mémorisez plusieurs contrôles.

  10. Si vous mémorisez un bouton, ne le pressez qu’une fois. Si vous mémorisez un potentiomètre rond ou à glissière, essayez de le déplacer sur toute sa course.

  11. Dès que Mixxx détecte le contrôle, vous pouvez cliquer sur Learn Another ou cliquer sur un autre bouton dans la GUI de Mixxx pour mémoriser un autre contrôle.

  12. Lorsque vous avez terminé de mémoriser les contrôles, cliquez sur Done

Il existe également des options avancées dans l’assistant MIDI que vous pourriez avoir envie d’utiliser :

  • Prise en compte progressive : Utiliser cette option sur les potentiomètres ou curseurs pour éviter des sauts de valeurs brusques lorsque le potentiomètre de la GUI n’a pas la même valeur que le potentiomètre physique. Si vous sélectionnez cette option, vous ne pourrez pas aussi facilement effectuer des transition très rapides. (Valeur recommandée : éteint)

  • Inverser: utilisez cette option pour les contrôles que vous souhaitez inverser par rapport à la façon dont ils ont été détectés.

  • Mode interrupteur : Utilisez cette option pour les contrôleurs ayant des contrôles qui agissent comme des interrupteurs et émettent une valeur lors du premier appui et une autre valeur au second appui. (Par exemple, un bouton poussoir, ou un bouton qui s’allume au premier appui et s’éteind au second).

  • Roulette : Utilisez ceci pour les contrôles qui n’ont pas de début et de fin, mais peuvent tourner à l’infini.

L’assistant contrôleur enregistre les nouveaux paramètres aux emplacements de fichiers suivants :

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

L’assistant contrôleur ne fonctionne qu’avec des appareils MIDI. Pour le moment, vous ne pouvez pas mémoriser des touches alternatives (majuscules) ni des plateaux rotatifs. Utilisez le MIDI Scripting à la place.

Scriptage MIDI

Afin de prendre en charge les fonctionnalités avancées de nombreux contrôleurs MIDI/HID, Mixxx propose le Scriptage MIDI.

Ceci permet aux contrôles MIDI d’être assignés à des fonctions QtScript (aka Javascript/EMCAScript) enregistrées dans des fichiers de bibliothèques de fonctions, libérant Mixxx d’une idéologie d’affectation MIDI un-par-un. Ces fonctions créées par les utilisateurs peuvent ensuite faire tout ce qui est désiré avec les évènements MIDI, comme affecter un seul bouton de contrôle à deux propriétés Mixxx ou plus (“contrôles”), ajuster les valeurs de contrôle entrantes pour mieux fonctionner sur Mixxx (scratching), afficher une séquence LED complexe, ou même envoyer des messages à des afficheurs de texte sur le contrôleur.

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

Indication

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.

Indication

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.

Voir aussi

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

Description

_up

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

_down

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

_up_small

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

_down_small

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

_set_one

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

_set_minus_one

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

_set_default

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

_set_zero

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

_toggle

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

_minus_toggle

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]`.

Voir aussi

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.

Note

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.

Voir aussi

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.

Nouveau dans la version 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

Interpretation

None

0

Not controlled by the metaknob

Linked

1

Controlled by the metaknob as it is

Linked Left

2

Controlled by the left side of the metaknob

Linked Right

3

Controlled by the right side of the metaknob

Linked Left Right

4

Controlled by both sides of the metaknob

Link Inverse

Integer Value

Interpretation

Normal

0

Linked in equal relation

Inverse

1

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.

Controls

Removed controls

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

14.2. Créer une configuration clavier personnalisée

Les configurations clavier par défaut sont définis dans un fichier texte qui se trouve à l’emplacement suivant:

  • 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

En fonction du réglage de la langue de votre système, Mixxx pourrait utiliser un fichier différent par défaut, par exemple fr_FR.kbd.cfg pour le français ou de_DE.kbd.cfg pour l’allemand.

Il n’est pas recommandé de modifier le fichier de configuration du clavier pour tout le système parce que vos changements peuvent être perdus si vous désinstallez ou mettez à jour Mixxx. Copiez plutôt le fichier de configuration par défaut vers l’emplacement suivant:

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

  • macOS: ~/Library/Application\ Support/Mixxx/Custom.kbd.cfg

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

Puis éditer ce fichier et enregistrer les modifications. Au prochain démarrage, Mixxx vérifiera si Custom.kbd.cfg est présent et chargera ce fichier au lieu du fichier de configuration par défaut. Ceci a l’avantage de pouvoir revenir à la configuration par défaut à tout moment, en supprimant Custom.kbd.cfg.

For a list of controls that can be used in a keyboard mapping, see https://github.com/mixxxdj/mixxx/wiki/mixxxcontrols.

Vous pouvez télécharger et partager des configurations clavier personnalisées dans le forum Mixxx User customizations.

14.3. Effets supplémentaires via le mode Mixeur externe

Mixxx est livré avec un ensemble de native effects. De plus, en utilisant le external mixer mode vous pouvez router chaque platine directement vers des hôtes d’effets tiers.

Les exemples suivants n’ont pour but que d’encourager l’expérimentation, et ne sont pas des guides exhaustifs.

Effets via AU Lab sous MacOS

The Au Lab routing for external effects

Le routage d’AU Lab pour les effets externes sous MacOS

Sous MacOS, il existe un moyen simple et gratuit permettant à Mixxx d’accéder à votre collection de plugins AU/VST/MAS installés sur votre machine.

  • Installez Soundflower, une extension gratuite de votre système pour le routage entre applications audio.

  • Installer l’application de mixage audio numérique gratuite AU Lab.

Indication

macOS 10.15 (Catalina) introduit des restrictions supplémentaires sur l’exécution de logiciels non Apple. Assurez-vous d’accorder l’autorisation dans Préférences Système -> Sécurité et confidentialité -> 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.

Dans Mixxx

  • Allez à Préférences ‣ Matériel Audio‣ Sortie

  • Pour la Platine 1, sélectionnez le périphérique Soundflower 16 avec Canal 1-2

  • Pour la Platine 2, sélectionnez le périphérique Soundflower 16 avec Canal 3-4

  • Cliquez le bouton Appliquer

Dans AU Lab

  • Cliquez le bouton + pour créer une nouvelle configuration

  • Ajoutez 2 pistes d’entrée stéréo dans l’onglet Entrée Audio

  • Ajoutez 2 pistes de sortie stéréo dans l’onglet Sortie Audio

  • Cliquez OK

  • Changez le périphérique d’entrée audio en Soundflower 16

  • Changez le périphérique de sortie audio par exemple en Sortie Intégrée

  • Cliquez Créer le document

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

L’effet devrait dorénavant réagir si vous jouez une piste dans Mixxx.

Effets via JACK Rack sous GNU/Linux

The Jack routing for external effects

Le routage JACK des effets externes sous GNU/Linux

Utilisez Jack pour router directement chaque platine vers un rack d’effets JACK Rack. Pour plus de contrôle, vous pouvez utiliser Ardour (ou un autre DAW) à l’aide d’envois auxiliaires pour les effets. Ceci donne accès pour Mixxx à une large collection de greffons LADSPA.

Assurez vous que la bonne interface audio multi-canaux est sélectionnée dans JACK (les paramètres de JACK apparaissent en bas à gauche). Notez que Mixxx nomme potentiellement ses ports JACK en Portaudio.

14.4. Supprimer votre bibliothèque

Le fichier de bibliothèque est enregistré aux emplacements suivants en fonction de votre système d’exploitation:

Windows

La bibliothèque Mixxx est enregistrée dans le dossier %USERPROFILE%\Local Settings\Application Data\Mixxx\ . Pour supprimer votre bibliothèque sous Windows, supprimez le fichier mixxxdb.sqlite dans ce dossier.

macOS

La bibliothèque Mixxx est enregistrée dans le dossier Library/Application Support/Mixxx dans votre répertoire personnel. Pour supprimer votre bibliothèque sous MacOS, entrez la commande suivante dans un terminal:

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

La bibliothèque Mixxx est enregistrée dans le dossier .mixxx dans votre répertoire personnel. Pour supprimer votre bibliothèque sous GNU/Linux, entrez la commande suivante dans un terminal :

rm ~/.mixxx/mixxxdb.sqlite

Avertissement

Supprimer votre bibliothèque vous fera perdre également toutes vos métadonnées. Ceci comprend les repères, boucles, commentaires, notes et toutes métadonnées relatives à la bibliothèque. Ne la supprimez donc que si vous êtes sûr de pouvoir vous en passer.