User Interface Guide

Every module in 2020 is built from the same set of controls. For what an individual module’s parameters do, see the Modules Guide.


Basics

Project

Project

A project holds the whole instrument: every module’s parameters, every preset slot, and the sounds loaded into the samplers. Opening one puts it all back as you left it. Projects are saved as .2020 files.

Modifier Action Description
Command N Start a new project.
Command S Save the project file.
Command + Shift S Save the project file under a different name.
Command O Open a project file.

Undo and Redo

Undo steps back through parameter and sequence changes and preset saves, renames, and deletions, from the Edit menu or with the keys below. A sequencer recording take counts as one step, however long it ran.

Two kinds of change are left out: the tempo, and the on/off switches of the effects in the FX patcher, which the effects flip by themselves as they are triggered. Opening a project or starting a new one clears the history.

Modifier Action Description
Command Z Undo the last change.
Command + Shift Z Redo the last undone change.

Modifiers

Three modifiers turn an ordinary gesture into a second one: a drag becomes a range edit, a preset key becomes a save. They are parameters like any other, so each can be moved to a different key under Global Keys, or driven from a MIDI control or an OSC message (see MAPPING Tab and OSC Settings).

Modifier Parameter Default key mappings
SHIFT /shift Shift
FN1 /fn1 Option / Control
FN2 /fn2 Command

Modifiers apply to performance gestures only. Application shortcuts such as Command + S always use the physical keys.

What each modifier does

Where SHIFT FN1 FN2
Knob - Drag to set the randomization range. Drag to set the randomization probability.
Preset key or slot Saves the preset. Recalls it at once. -
Grid Sequencer cell Drag to draw the volume. Drag a beat to copy it. Click or drag to toggle accents.
Envelope point - Drag to set the randomization range. Point at the editor to show the pitch envelope.
Equalizer point - Drag to change the Q. -
FX Patcher node - Drag to change its arc’s width and reach. -
MIX strip - - Drag to set the strip’s distortion.

Basic UI Components

Basic UI components

Knobs, number boxes, sliders, and toggles carry every parameter in the app. A knob in a module that receives triggers has two more rings around it. The red ring is the probability that the knob picks a new value each time the module is triggered, and the yellow ring is the range it picks from. Set the probability to zero and the knob stays where you left it.

Modifier Action Description
- Double-click a component Resets the value to its default.
FN1 Double-click a Randomizable Knob Resets the randomization range.
FN2 Double-click a Randomizable Knob Resets the randomization probability.
FN1 + FN2 Drag a Randomizable Knob Changes the randomization range and probability together.
- Click a toggle component Toggles the value on or off.
- Drag a Knob or Number Box Changes the value.
Shift key Drag a Knob or Number Box Changes the value twice as fast (the physical key, even if SHIFT is remapped).
- Scroll over a Knob or Number Box Changes the value. With FN1 or FN2 held, changes the range or the probability.
- Click a Knob or Number Box, type a number Return sets it, Escape cancels.
- Up / Down arrow on a Knob or Number Box Steps the value. With the Shift key, two steps at a time.
- Drag a Slider Changes the value.

Context Menu

Context Menu

Right-clicking opens one menu with a section for every level of what you clicked: the whole app (ALL), then the group, then the instrument, then the control.

Section Items
Whole app Save Snapshot, Load Snapshot, Reset All Parameters
Group or instrument Reset <module>, Disable Preset Recall, Save Snapshot, Load Snapshot, Trigger: (see Trigger Source), and Unload Sound File on instruments that load sounds
Knob or Number Box Reset Value
Randomizable Knob Reset Randomize Range, which resets both the range and the probability
Grid Sequencer Clear Sequence, Duplicate Sequence, Double Tempo, Halve Tempo
Envelope Reset Envelope
Equalizer point The point’s filter type
MIX strip Reset Distortion Value
FX Patcher Arrange Nodes

Disable Preset Recall appears on every module except the transport. Snapshot items appear only on modules that store presets, and Load Snapshot only once a snapshot has been saved. Trigger: appears only on modules that can follow a trigger.

Sound File Menu

Sound File Menu

The Sound File Menu loads sound files into the modules that take them. Files and folders can also be dragged in from Finder.

Item Description
Open File… Opens a file from anywhere. Its submenu lists the files already loaded in this project.
Open Folder… Opens a folder and lists its sounds in this menu. Its submenu lists the folders you opened before.
User Library Browses ~/Music/2020/Sounds. Manage User Library, at the top of it, shows that folder in Finder.
../Parent Folder Goes up one folder from the one listed.

Preset Selector

Preset selector with 80 slots Preset selector with 10 slots

A preset slot stores every parameter of the module it belongs to. Most modules have 80 slots in two rows: the top row picks a song, and the bottom row picks one of that song’s eight patterns. MIX, SEND, the FX patcher, and TRP have 10 slots and no pattern row.

The preset keys act on every module at once: the top letter row picks songs, the home row picks patterns. A song key goes to that song’s first pattern, unless that song is already playing, in which case it keeps the current pattern. Clicking a slot on a module instead recalls, or with SHIFT saves, that module alone.

Modifier Action Description
- Q - P (song) or A - K (pattern) Restore the preset at the beginning of the next bar.
FN1 Q - P (song) or A - K (pattern) Restore the preset immediately.
SHIFT Q - P (song) or A - K (pattern) Save the preset.

The letters above are for a QWERTY keyboard. On other layouts, use the letter printed on the slot; see Configuring the Keyboard Layout.

Preset keys answer with any combination of these modifiers held, except FN2, so shortcuts such as Command + Q keep working.

Named Presets (MST)

The MST module has a preset menu instead of preset keys. Its presets have names, and the keys do not reach them. The menu holds New Preset, Overwrite Preset, Rename Preset, Remove Preset, and Reset to Default, and choosing a preset from the list recalls it at once.

Disabling Preset Recall

Disabling Preset Recall

Disable Preset Recall, in a module’s context menu, holds that module where it is while the rest of the app follows preset changes. Use it for a part that should stay put as the song moves, such as a bassline. Choose Enable Preset Recall to undo it.

Snapshots

Snapshots

A snapshot keeps a sound or a sequence outside any one project, so you can bring it into the next one. Save Snapshot in a module’s section of the context menu saves that module; the same item in the whole-app section saves everything. Snapshots are stored in ~/Music/2020/Snapshots.


Performance

Transport Control

Transport Control

The three icons at the left are the metronome, the trigger mode, and the sequencer REC.

The transport sets tempo and swing, and runs the clock. Pressing play while it is already playing rewinds to the top of the bar, and pressing stop while it is already stopped cuts every voice and tail at once.

Tap TAP at least three times to set a tempo; a pause of more than two seconds starts the count over. The two nudge buttons beside BPM, and the arrow keys, nudge the tempo only while held, and it returns when you let go.

Modifier Action Description
- SPACEBAR Toggle play/stop.
- LEFT ARROW Temporarily decrease BPM.
- RIGHT ARROW Temporarily increase BPM.

The transport also holds the sequencer REC, the green circle icon, which records into the Grid Sequencer. The audio REC in the master section, which records to a file, is a different button; see Recording Settings.

Metronome

The metronome icon at the left end of the transport switches the metronome on and off. It clicks on every beat while the clock plays, higher and louder on the first beat of each bar, and the icon swings in time.

The metronome is always off when 2020 starts and is not saved in projects, snapshots, or presets.

The click is for your ears only: it never reaches the master section, Link Audio, or a recording. It has its own METRONOME row in Bus Output, where you choose which output it plays from.

Grid Sequencer

Grid Sequencer

The Grid Sequencer holds one track per instrument, with one cell per step. A cell carries a volume and an accent of its own as well as a trigger, the accent playing that step harder. For the resolution and the controls along the top, see SEQ.

Modifier Action Description
- Click or drag over cells Toggles triggers.
FN2 Click or drag over cells Toggles accents.
SHIFT Drag over cells Changes the volume sequence.
FN1 Drag and drop Copies the sequence one beat at a time.

The context menu adds Clear Sequence, Duplicate Sequence, which appends a copy of the sequence and doubles BEAT (up to 32), and Double Tempo and Halve Tempo, which rearrange the grid to play the sequence at double or half speed.

Trigger Mode

The icon next to the metronome decides when a trigger you play by hand reaches its instrument, for every instrument at once. Click it to choose a mode.

Mode Description
LIVE The trigger sounds as soon as you play it.
QUANTIZE The trigger waits for the next cell of the instrument’s own track in the Grid Sequencer.
REPEAT As QUANTIZE, repeating on every cell for as long as the pad, key, or note is held.

With the clock stopped there is no grid to wait for, and both quantized modes behave as LIVE.

Recording into the Sequencer

The sequencer REC, next to the trigger mode, writes what you play into the Grid Sequencer.

  1. Start the clock with SPACEBAR. Nothing is recorded while it is stopped.
  2. Switch the sequencer REC on.
  3. Play the pads, a MIDI keyboard, or computer keys you have mapped to pads with Learn Mode or the MAPPING tab (by default Z to M only switch instruments and groups on and off).
  4. Switch the sequencer REC off to end the take.

Each trigger overwrites the nearest cell on that instrument’s track and carries the strength it was played at. In QUANTIZE and REPEAT it is written to the cell it sounded on, so the pattern you recorded is the one you heard.

Dejavu

Dejavu

Dejavu gives the parameter randomizers a memory. It keeps the last 32 generations of random values, and its probability sets how often a randomizer reaches back for an old value instead of picking a new one.

At 100% with a length of 8, every randomizer repeats what it produced 8 triggers ago, which turns them into 8-step sequencers. At 0% nothing repeats. Values in between let a pattern half-form and drift. The steps count triggers rather than bars, so a module played twice a bar and one played sixteen times end up with loops of different lengths.

Dejavu also covers the sequencer’s own dice: whether a cell fires under TRIG, and where ADD places an extra trigger.

DJV and LEN in the transport set this globally. Individual modules can be set over OSC or MIDI with an address such as /group1/1/dejavu/prob.

Mute

Mute Mute

With MUTE GRP on, an instrument that triggers stops the sound of the others in its group that share a bus with it, the way a closing hi-hat cuts an open one. In GRP3, with MUTE GRP on, the two FM voices cut each other whatever their buses.


Sound Editing

Envelope

Envelope

An envelope draws how a parameter moves over the life of a note. FM and granular modules hold several envelopes at once, selected with the algorithm selector or the tabs, and point positions randomize like any other value.

Modifier Action Description
- Drag a point Moves the envelope point.
- Drag a line between points up or down Changes the curve of the envelope.
FN1 Drag a point Changes the range of randomization.
- Double-click a point Resets its range of randomization.
- Double-click a line between points Straightens the curve.
FN2 Mouse over Switches to the pitch envelope.

LFO

LFO

Most modules carry one or more LFOs, each behind its own button. The button draws the LFO’s shape and names its targets: one target’s name, a count such as 3 TGT, or NONE. On a MIX strip it shows only the shape. Hovering highlights its targets; clicking opens the panel, where you tick the parameters to drive.

Waveform Description
SIN / TRI / SAW / SQR Sine, triangle, sawtooth, and square.
RND A new random value each cycle, so FRQ sets how often it jumps.
NOISE Continuous noise, sweeping from brown through white to blue as you raise FRQ.
Control Description
FRQ Rate, following the tempo. The dial reads -64 to 64: 0 is one cycle per beat, and every 16 steps doubles or halves it.
AMT Amount of modulation. Negative values run the shape in the opposite direction.
SKEW Leans the shape: a saw’s slope ratio, a square’s pulse width, a triangle’s apex.
RISE / FALL Slow how fast the shape may rise or fall. 0 leaves the shape untouched; 127 stretches a rise or fall over four bars.
TRIG Chooses the trigger the LFO follows. See also Trigger Source.
RETRIG Resets the phase every time the LFO is triggered.
CYCLE When off, the shape runs once per trigger and holds its end value: a one-shot ramp.
INVERT Turns the shape upside down.
SAH Holds the output at a fixed clock resolution: NONE, 1/4, 1/8, 1/12, 1/16, 1/20, 1/24, 1/28, 1/32.

FRQ, AMT, SKEW, RISE, and FALL randomize like any other knobs, and pick their new values together each time the LFO is triggered, whether or not RETRIG is on.

FM Algorithm

FM algorithm

The algorithm sets how the operators feed one another. It also selects which of operators 1 to 3 the editor below is showing.

Modifier Action Description
- Click an operator Displays the clicked operator in the editor.
- Click outside of operators Steps to the next algorithm.

Equalizer

Equalizer EQ Point

The equalizer sits at the top of each MST strip. Q sets how narrow the curve around a point is.

Modifier Action Description
- Drag a point Sideways sets frequency, up and down sets gain.
FN1 Drag a point Changes the Q value of the EQ point.
- Double-click a point Resets its Q and gain.
- Right-click on a point and select a filter type from the context menu Selects the EQ type.

Routing and Triggers

Where a module’s sound goes, where its triggers come from, and what a trigger carries with it. For the whole signal path at a glance, see How sound moves.

Audio Bus

Audio Bus

Each instrument sends to every bus it has switched on:

Switch Color Where the sound goes
BUS1 - BUS3 Red Straight to that channel of the MIX.
FX1 - FX3 Purple Into that input of the FX Patcher, whose outputs come back on BUS4 - BUS6.
SEND Orange Switches the instrument’s DL1, DL2, and RVB send dials on or off. See SEND.

FX Patcher

FX Patcher

The FX patcher connects its effects by where they sit, not by cables. Signal flows down the patcher: nodes higher up come first, and nodes at the same height are taken left to right. Each node that has an output draws an arc below it. It feeds every node that comes after it and sits inside its arc, so moving a node changes what it feeds and what feeds it.

FX1, FX2, and FX3 are inputs only, where the instruments come in. BUS4, BUS5, and BUS6 are outputs only, and go on to the MIX.

Modifier Action Description
- Drag a node Moves the node.
FN1 Drag a node Sets how wide the node’s arc opens and how far down it reaches.
- Drag on an empty area Draws a rectangle that selects the nodes inside it.
- Drag a selected node Moves all the selected nodes together.
- Click an empty area Clears the selection.

Arrange Nodes in the right-click menu lays the nodes out again so the patch is easier to read. It keeps every connection and every order the sound depends on, so the sound does not change.

Trigger Source

Trigger Source

A module normally runs on its own input: its pad, its key, its MIDI note, its sequencer track. Trigger: in its right-click menu points it at something else instead. The entry names what the module follows now. Every LFO makes the same choice with TRIG in its panel, so an LFO can run on a different trigger from the module hosting it.

Choice Description
INPUT What the module ran on before: an instrument’s own pad, key, MIDI note and sequencer track; an FX or SEND module’s incoming trigger. Default.
NONE Shown in place of INPUT on HGR and on the looper LFOs’ TRIG, which have no trigger of their own.
INSTRUMENTS ▸ TRIG 1-1 … TRIG 4-6 Another instrument’s trigger.
INSTRUMENTS ▸ TRIG SLC The Slicer’s trigger.
CLOCK ▸ RESET The start of every bar.
CLOCK ▸ 1/16, 1/8, 1/4 Every sixteenth, eighth, or quarter note.

What a module borrows is the timing and the level, nothing else. It keeps its own sound, its own randomization, and its own routing: a snare following a kick plays snare, on the kick’s rhythm.

  • On an instrument, the chosen source replaces the sequencer track that would otherwise drive it. Its own pad stays live, so you can always play it by hand.
  • On an LFO, INPUT means whatever its module runs on. Any other choice detaches it, so it stops retriggering with the module.
  • On an FX module the choice also replaces what it passes on to everything after it in the patcher.
  • Choices chain: follow an instrument that follows a third one and you get the third one’s timing. If the choices form a loop, one module in it falls back to its own input.
  • A clock source arrives at a plain hit’s level with no accent, exactly as a pad pressed on screen does.
  • An instrument that is switched off sends no triggers, so nothing following it fires.

Trigger Events (CV)

Trigger Events (CV)

The CV number box on an instrument sets the probability, from 0% to 100%, that its trigger is sent onward at all. It starts at 100%. The probability is decided once per trigger and applies to every destination together: the FX buses, the delay and reverb sends, the mixer strips, and the trigger outputs on your audio interface.

The instrument plays either way. Modules that follow it through Trigger Source still get every trigger.

In the patcher, an FX module’s THRESHOLD and PROB decide what an arriving trigger does; see Triggers. CV from several instruments on one step adds up.

CV stays inside the app. To drive hardware, use Trigger Output instead.


Preferences

Preferences opens from the 2020 menu ▸ Preferences..., or with Command + ,. The Recorder Settings... item in the menu next to the audio REC button opens it too. Its tabs are AUDIO, MIDI, MAPPING (see MAPPING Tab), ABLETON LINK, OSC, RECORDING, THEME, and CHANGE LOG.

Audio Settings

AUDIO

The AUDIO tab chooses the audio device and where each bus and trigger comes out.

Audio Device

Routing is remembered per output device, so switching devices also brings back the routing you set up for that one.

Input Channel

CHANNEL picks the stereo input pair. Link Audio input is chosen separately, under Ableton Link.

Bus Output

The bus router sends each bus to a pair of physical outputs on the current interface.

Row What it carries
MST1, MST2 The two master outputs, after the MST section.
BUS1 - BUS6 The six MIX channels, for sending a bus to its own output.
METRONOME The metronome click only.

Each row has an OUTPUT pair, a LEVEL, a CLIP mode, and a DELAY of 0 to 100 ms.

On a device you have not set up before, MST1 plays from outputs 1-2. MST2 plays from 3-4 if the device has four or more outputs, and from 1-2 otherwise. BUS1 - BUS6 start at NONE, every LEVEL at 0 dB except METRONOME at -6 dB, and every CLIP at SOFT 6 dB. RESET puts the table back to these settings: click it, then click RESET? within three seconds. If every row is left at NONE, 2020 puts MST1 and MST2 back on their default outputs the next time the device opens, so it cannot go silent.

METRONOME starts on the same pair as MST1, or at NONE if a trigger or clock output already uses that pair; point it at your headphones to keep the click off the main speakers.

Trigger Output

The trigger router sends clock and trigger pulses out of individual physical channels, for modular gear and anything else that takes a pulse. The table is folded at first: click TRIGGER OUTPUT to open it.

Each row has a SOURCE, an OUTPUT channel, and a DELAY of 0 to 100 ms.

  • TRIG and SLC send an 8 ms pulse each time the instrument is triggered. A TRIG pulse’s height follows how hard the instrument was hit: half scale for a plain hit, full scale for an accent. SLC always sends full scale.
  • RESET sends an 8 ms pulse at the start of every bar.
  • CLOCK sources send a square wave that is high for the first half of each sixteenth, eighth, or quarter note.

A pulse is a steady voltage, so it only survives an interface with DC-coupled outputs, such as one made for modular gear. The table’s RESET puts every row back to NONE, again with a second click on RESET?.

MIDI Settings

MIDI

The MIDI tab lists your MIDI devices and what 2020 does with each.

MIDI Input

  • IN: Plays and controls 2020 from that device.

On macOS, 2020 also offers a virtual MIDI port named 2020 MIDI IN, so another app on the same computer can play and control it. On first launch, the system’s default MIDI input is switched on, and so is OUT on the output with the same name.

MIDI Output

  • SYNC: Sends MIDI clock to that device.
  • OUT: Sends the value of every mapped parameter back to that device, so LEDs and motorized faders follow 2020. It does not send notes or triggers.

MIDI Clock

CLOCK DELAY delays the outgoing MIDI clock by 0 to 100 ms, for gear that answers the clock late.

What SYNC sends:

  • Start when the clock starts, and again when you rewind by pressing play while it plays.
  • Stop when the clock stops.
  • Clock pulses at 24 per quarter note, at the current BPM, even while the clock is stopped, so the receiving gear keeps the tempo.
  • The clock runs straight: swing is not applied to it.

2020 does not follow an incoming MIDI clock. To keep it in time with other software or gear, use Ableton Link.

ABLETON LINK

Link keeps tempo and bar position together across devices on the same network, and Link Audio carries audio between them. Link can also be switched on from the Options menu; Link Audio is switched on only here.

Tempo Sync

START STOP SYNC starts and stops 2020 together with other Link peers that also have start and stop sync on. SYNC DELAY offsets Link timing by -300 to 300 ms.

Link Audio works on its own, with or without ABLETON LINK switched on. 2020 sends eight stereo channels to other Link Audio peers: MST1, MST2, and BUS1 to BUS6.

  • PEER NAME: The name other Link Audio peers see for 2020, 2020 at first.
  • SEND LEVEL: The level of the channels 2020 sends: 0 dB, -6 dB, -12 dB, or -24 dB.
  • MUTE 2020: Mutes 2020’s buses on its own audio device while Link Audio keeps sending. The trigger and clock outputs keep running.
  • RECEIVE CHANNEL: The peer and channel 2020 receives, chosen from the peers on the network.
  • OVERRIDE INPUT: Replaces the hardware input with the selected Link Audio input when LINK AUDIO is enabled and the selected receive channel is currently available.
  • LATENCY: The receive latency, -300 to 300 ms, 100 ms at first.

OSC Settings

OSC

Almost every parameter in the app has an OSC address; see Parameters for the full list.

Every OSC value is a number from 0.0 to 1.0, standing for the parameter’s whole range: 0.0 is its lowest value and 1.0 its highest. A switch is on at 0.5 and above. This holds for messages 2020 receives and for those it sends. An address must match exactly; wildcards are not supported.

Receive Port

RECEIVE OSC is off at first. ADDRESS shows this computer’s network address, for the sending device to aim at. PORT is 8001 at first.

Send Ports 1-3

The three send ports have the same controls, so one machine can take everything while another takes only what it needs.

SEND OSC is off at first. ADDRESS starts at 127.0.0.1, this computer, and PORT at 9000, 9001, and 9002.

SEND PARAMS is where a port picks its share: MOD, CLOCK, PARAM, TRIG, SEQ, and PRESET. All of them start off, and a port sends nothing until at least one is ticked. MOD is the SHIFT/FN1/FN2 modifiers; all six match the Category column in Parameters.

If 2020 cannot open a port, for example because another app is already using it, its RECEIVE OSC or SEND OSC tick clears itself.

Recording Settings

RECORDING

The RECORDING tab sets up the audio REC button in the master section, which records the sound to a file.

Source

  • CHANNELS: Selects what is recorded.
    • 2 CH MIX : MST1 + MST2: MST1 and MST2 added together into one stereo file.
    • 4 CH STEM : MST1 / MST2: MST1 and MST2 as two stereo stems.
    • 12 CH STEM : BUS1 / BUS2 / BUS3 / BUS4 / BUS5 / BUS6: The six MIX buses as six stereo stems.
  • REC START and REC STOP: When a take begins and ends after you click REC.

IMMEDIATE starts or stops at once, CLOCK RESET waits for the start of the next bar, and ANY TRIGGER (start only) waits for the first trigger to reach the output. The REC button stays dimly lit while a take is waiting. If the clock is stopped, a take set to stop on CLOCK RESET ends immediately.

File Format

FORMAT is WAV or AIFF. BIT DEPTH is 16-bit, 24-bit, or 32-bit; 32-bit is available only with WAV. LEVEL and CLIP are applied after the recorded channels are summed. CLIP offers SOFT 6 dB, SOFT 0 dB, and CLIP 0 dB, plus NONE at 32-bit.

To record stems and remix them fully in another DAW, use WAV at 32-bit with CLIP at NONE: it keeps signals above 0 dB intact.

Warning. A 32-bit file can hold peaks far above full scale. Play one back carefully, and protect your equipment and your hearing.

File Location

  • PATH: Recordings are saved in ~/Music/2020/Recordings. OPEN shows that folder in Finder.
  • AUTO REVEAL: Reveals the saved recording as soon as recording finishes.

File Name

New takes are named from the PATTERN, using the placeholders listed under PLACEHOLDERS. The default is:

{project}-{year}{month}{day}-{hour}{minute}{second}-bpm{bpm}

A stem adds the bus it holds to the name, and a name that is already taken gets (1) added. AIFF files end in .aif. For example, the BUS1 stem of a take might be named:

MyProject-20260925-142501-bpm120-BUS1.wav

Theme Settings

Customizing Color Theme THEME

The THEME tab picks and edits the color scheme. COLOR SCHEME selects one, and New Color Scheme in the same menu starts a new one under a name you give it.

Eleven colors make up a scheme: Background, Base, Text, Blue, Green, Orange, Pink, Purple, Red, Teal, and Yellow. Each scheme also has its own DARK MODE switch.

Schemes are saved as .2020colorscheme files in this folder, and a scheme file placed there appears in the menu the next time 2020 starts. To share a scheme, pass its file on. To open the folder, choose Go > Go to Folder from the Finder menu, type the path, and press Return:

~/Library/Containers/com.dubrussell.2020beatmachine/Data/Library/Application Support/com.dubrussell.2020beatmachine/colorschemes/

Controllers and Key Mapping

Binding hardware controls and computer keys to parameters. Learn Mode is the quickest way to bind one control to one parameter. The MAPPING tab does everything else: one control driving several parameters, ranges, and the app’s own keys.

Learn Mode

LEARN Mode

  1. Turn learn mode on from the Options menu, or with Command + L.
  2. Click the control on screen that you want to drive. It stays selected.
  3. Move the knob or press the key that should drive it. MIDI learns control changes (CC) and notes.
  4. Turn learn mode off the same way.

A mapping made in learn mode replaces mappings of the same kind: a learned key stops the key driving any other parameter and takes the place of the parameter’s other keys, and a learned MIDI control does the same among MIDI controls. The mapping covers the parameter’s whole range, even if it had a range before.

Keys already spoken for globally, such as the preset and instrument keys, cannot be taken, and a parameter that has a global key, such as play, cannot take another key in learn mode.

Pressing Delete or Backspace while learn mode is active removes every key and MIDI mapping of the selected parameter, including ones with a range set in the MAPPING tab. Learn mode ignores Tab, Return, Escape, and the arrow keys, and leaves Command shortcuts to the menus.

MAPPING Tab

MAPPING

The MAPPING tab in Preferences lists every key and MIDI control bound to a parameter, and is where you add, change, and delete them. Every change takes effect at once and is saved straight away. Mappings belong to the app, not to a project, so undo does not step through them.

One control can drive several parameters, and one parameter can take several controls. Each mapping also has its own range, so a knob can sweep just part of a parameter, or sweep it the other way.

Finding a Mapping

Mappings are listed one card per input, grouped by module. Each card shows the parameter’s name, its OSC address, its source (KEY, MIDI, or GLOBAL), the input, and its range.

  • Search field: finds mappings by parameter name, address, key, or CC. Type cc21 to see everything that control drives. Common words such as cutoff or volume also find the labels the panels use, such as LPF.
  • ALL, KEY, MIDI, GLOBAL: show every mapping, or only one kind.

When an input drives other parameters too, its box shows how many, such as +2 PARAMS. Click that to search for the input and see them all.

Adding a Mapping

Adding never takes an input away from anything else.

  1. Click + ADD.
  2. Type part of the parameter’s name or address under ADD MAPPING, then click the result, or pick it with the arrow keys and press Return.
  3. Give it an input in one of three ways:
    • LEARN: press a key or move a MIDI control.
    • MIDI: type the channel (CH, 1 to 16), choose CC or NOTE, type the number (NO, 0 to 127), and click ADD.
    • KEY: type a key name such as 1, shift + 1, or F5, and click ADD.

CANCEL closes the panel without adding anything.

Changing the Input

Click the input box on a card, which shows LEARN when you point at it, then press a key or move a MIDI control. Only that card’s input changes; the parameter’s other mappings stay. Press Escape or click the box again to stop waiting.

A key that 2020 already uses, such as a preset key, is refused, and the box says what uses it. So are Command shortcuts, which belong to the menus. A parameter that has a global key, such as play, changes its key under Global Keys instead.

Setting the Range

The two fields on the right of a card set what the parameter does at each end of the control, in the parameter’s own units, such as Hz or ms. Type a value and press Return, or drag the slider that opens under the field. A value ending in % is read as a percentage of the parameter’s range.

  • A MIDI control sweeps from the left field to the right field. Set a range of 50% to 100% and the knob covers only the top half.
  • A key sends its DOWN value while held and its UP value when released.
  • On a trigger, the range is the strength it plays at (VEL).
  • A switch or a choice moved by a MIDI control is picked from a menu; one a key or note steps shows no range.

To invert a mapping, set the left field higher than the right one, so turning the control up turns the parameter down. Some cards show no range, such as a preset key, because their input does not use one.

Deleting a Mapping

Click ✕ on the card. It turns into a red DELETE?; click it again within three seconds to delete the mapping.

Global Keys

The app’s own keys, such as the preset keys, the instrument keys, SPACE, and the modifiers, are listed under ▸ GLOBAL KEYS at the bottom of ALL, or on their own under GLOBAL. Click that heading to open or close the list.

To move one, click its key box and press the new key. The modifier rows, /shift, /fn1, and /fn2, also take a modifier key on its own. A changed key shows RESET, which puts it back to its default. Global keys cannot be deleted.

Configuring the Keyboard Layout

The song preset keys, the pattern preset keys, and the instrument enable keys are bound by position rather than by letter. On an AZERTY keyboard the first song preset is therefore A rather than Q. A layout that cannot give every position a distinct character, such as a Cyrillic or Greek one, keeps the QWERTY defaults rather than moving part of a row.

2020 reads your keyboard layout at startup, and binds these keys to it the first time it starts. After you switch layouts and start 2020 again, a key that stayed where it was shows RESET under Global Keys; press it to move the key to the new layout. To put back every key at once instead, quit 2020, delete mappings.config, and start it again.

Note. Deleting the file also removes every mapping you made.

mappings.config is in this folder. To open it, choose Go > Go to Folder from the Finder menu, type the path, and press Return:

~/Library/Containers/com.dubrussell.2020beatmachine/Data/Library/Application Support/com.dubrussell.2020beatmachine/

Default keys on a QWERTY keyboard:

Keys Parameter
Q - P (top row) Song presets
A - K (home row) Pattern presets
Z - M (bottom row) Instrument and group on/off
Space Play/stop
Left Arrow / Right Arrow Nudge tempo down / up while held
Shift / Option or Control / Command SHIFT / FN1 / FN2