User Tools

Site Tools


getting_ready_for_112

Getting Controller Presets Ready for Mixxx 1.12.0

Script authors! Mixxx 1.12.0 is almost here. Here is what you need to know to get your controller presets ready.

MIDI Mapping Additions

MIDI Script API Additions

getParameter / setParameter

Your MIDI scripts no longer have to care about the minimum and maximum value of potmeter/knob controls! “Parameter” values range from 0 to 1. If you set a parameter to 1 then the value of the control becomes the maximum value. If you set the parameter to 0 then the value of the control becomes the minimum value.

  • engine.setParameter(group, item, parameter)
  • engine.getParameter(group, item)

Example:

engine.setParameter("[Channel1]", "rate", 0);

Is the same as:

engine.setValue("[Channel1]", "rate", -1);

You don't have to build assumptions about the control into your scripts now. This is particularly important for effect parameters. Since you do not know ahead of time what the valid values of an effect parameter are, you should always set effect parameters using setParameter.

getParameterForValue

You can also call getParameterForValue to get the parameter for a given value:

// Returns 0
engine.getParameterForValue("[Channel1]", "rate", -1)
// Returns 1
engine.getParameterForValue("[Channel1]", "rate", 1)

reset

Calling reset(group, item) resets the control to its default value.

// Resets the rate control to 0. (its default value)
engine.reset("[Channel1]", "rate");

// Resets the Master volume to 1. (its default value)
engine.reset("[Master]", "volume");

Master Sync

Mixxx finally has a master sync system! There are two ways sync can work:

  • Internal master
  • Deck master

When internal master is active, then all decks track an internal master clock. A change to the rate of one deck changes the rate of all decks so they stay in sync. You can also elect a particular deck as the master deck.

New Controls

[Group]Key/ControlRangeWhat it doesOn-screen feedback
[InternalClock]bpmreal-valuedThe BPM of the internal master clockInternal Clock BPM changes
[InternalClock]sync_masterbinarySets internal clock as master clockMASTER status lights on internal master (don't make this a button for 1.12)
[ChannelN]sync_enabledbinaryPress: instant sync; Hold: enable sync mode. Press while sync mode is enabled disables sync mode.SYNC button lights & Pitch slider snaps to the appropriate value
[ChannelN]sync_masterbinarySets deck as master clockMASTER button lights (FUTURE feature, do not include in 1.12)
[ChannelN]sync_modetoggleSYNC_NONE = 0, SYNC_FOLLOWER = 1, SYNC_MASTER = 2No user feedback needed

If your controller has a dedicated sync button, that button should be mapped to [ChannelN],sync_enabled. This button will instant sync when you press it and holding it will enable sync mode for the deck. You should also bind this to your output so that the SYNC light on the controller matches the deck's sync mode.

Key Detection and Harmonic Mixing

Mixxx 1.12.0 detects the musical key of all tracks and allows pitch adjustment independent of the player speed.

New Controls

[Group]Key/ControlRangeWhat it doesOn-screen feedback
[ChannelN]sync_keypushbuttonAdjust the key of the target deck to match that of the master deck.pitch knob adjusts, audible pitch changes
[ChannelN]pitch-1.0..1.0Pitch adjust. -1 is a full octave shift down, +1 is a full octave shift up. Steps of 0.042 shift by semitonesPitch knob
[ChannelN]pitch_uppushbuttonShift pitch up by one full step (2 semitones).Pitch knob
[ChannelN]pitch_up_smallpushbuttonShift pitch up by one half step / semitone.Pitch knob
[ChannelN]pitch_downpushbuttonShift pitch down by one full step (2 semitones).Pitch knob
[ChannelN]pitch_down_smallpushbuttonShift pitch down by one half step / semitone.Pitch knob
[ChannelN]key0 - 24Current musical key after pitch shifting.Key value widget
[ChannelN]file_key0 - 24File's musical keyKey value widget

Key value definitions can be found here: keys.proto

  • If your controller has a pitch adjust knob for harmonic mixing, map it to pitch.
  • If there is a sync key button, map it to sync_key.
  • If there are pitch adjust buttons, map them to the individual semitone pitch adjust buttons.

Effects

Mixxx 1.12.0 has a new modular effects system. There are 4 main concepts:

  • Effect Racks
  • Effect Units
  • Effects
  • Parameters

Effect Racks

There is one effect rack. The rack contains all of the effect units and is a handy grouping for quick clearing of all effect units and saving / loading of rack presets.

Effect Units

Effects

Effect Parameters

Vinyl Control Passthrough

Mixxx now supports passing through audio from vinyl control inputs into the corresponding deck. This overrides the playing track in the deck with whatever audio is coming from the turntable or CD player configured for input.

New Controls

[Group]Key/ControlRangeWhat it doesOn-screen feedback
[ChannelN]passthroughtoggleConnects the vinyl control input for the deck to the channel output. Allows to mix external media into DJ sets.GUI control currently missing FIXME
  • If you expect your controller to be used by Vinyl Control users, consider mapping a spare button combination to the passthrough toggle control.

Microphones and Auxiliary Inputs

Mixxx previously came with one microphone input, [Microphone]. In Mixxx 1.12.0 we are adding 3 more microphones and 4 new “Auxiliary” inputs for routing audio directly into the mix.

For backwards compatibility, the first microphone's group is [Microphone], not [Microphone1]. All other microphones are [MicrophoneN]. Similarly, auxiliary inputs are numbered [AuxiliaryN].

Microphone Ducking

Mixer Changes

Headphone Split Cueing

Headphone and Master Delay

Mute

Deck Changes

Beat Jump

[Group]Key/ControlRangeWhat it doesOn-screen feedback
[ChannelN]beatjump7real numberJump forward by X beats (positive) or backward by X beats (negative). Player jumps forward or backward by X beats.
[ChannelN]beatjump_X_forward7binaryJump forward by X beats. A control exists for X = 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64 Player jumps forward by X beats.
[ChannelN]beatjump_X_backward7binaryJump backward by X beats. A control exists for X = 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64 Player jumps backward by X beats.

Loop Move

[Group]Key/ControlRangeWhat it doesOn-screen feedback
[ChannelN]loop_move7real numberMove loop forward by X beats (positive) or backward by X beats (negative). Loop moves forward or backward by X beats.
[ChannelN]loop_move_X_forward7binaryMove loop forward by X beats. A control exists for X = 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64 Loop moves forward by X beats.
[ChannelN]loop_move_X_backward7binaryMove loop backward by X beats. A control exists for X = 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64 Loop moves backward by X beats.

Reverse Roll / Censor

[Group]Key/ControlRangeWhat it doesOn-screen feedback
[ChannelN]reverseroll7binary Enables reverse and slip mode while held (Censor)REV button

Cue Changes

BPM Adjust Up/Down

Library Changes

Playlist / Sidebar Selector Knob

Translations of this page:
getting_ready_for_112.txt · Last modified: 2014/08/13 16:19 by ywwg