Key concepts

This section offers brief descriptions of ReaLearn’s key concepts. A solid understanding of these concepts is essential for effectively using ReaLearn, regardless of which features you plan to utilize.

Control

In ReaLearn, the term control typically refers to the process of triggering or adjusting something in REAPER, such as executing an action or modifying an FX parameter.

Feedback

In ReaLearn, the term feedback refers to controlling LEDs, motorized faders, or displays on your device in response to events in REAPER, such as a track volume change.

Controller

A controller is the device you use to control REAPER. It is usually a hardware device, such as a MIDI keyboard or control surface, but it can also be software, like an OSC app.

Control element

A control element is any component you can use to control something. In most cases, it’s a physical part of your hardware Controller.

Examples include knobs, encoders, faders, buttons, keys, pads, pitch wheels and acceleration sensors.

Control element interaction

A control element interaction is the act of using a Control element.

Typically, each control element has one primary interaction type:

  • Turning a knob

  • Pressing/releasing a button

  • Moving a fader

However, some control elements allow multiple interactions:

  • Moving a touch-sensitive fader

  • Touching/releasing a touch-sensitive fader

In this reference, Control element often implies Control element interaction, as they are usually synonymous.

Feedback element

A feedback element is any part of your Controller that can indicate or display information.

Examples includes LEDs, motor faders and displays.

Very frequently, control elements and feedback elements are combined:

  • Button with an integrated LED

  • Encoder with an LED ring

  • Motorized fader

For this reason, this reference sometimes uses Control element to refer to both the Control element and the corresponding Feedback element.

Input port

To enable control, ReaLearn needs to respond to events from your Controller. It achieves this by listening to events from an input port, which can be a MIDI device port, an OSC port or your computer keyboard.

You can change the input port using the Input menu.

Output port

To send Feedback back to your Controller, ReaLearn transmits instructions through an output port, which can be a MIDI device port or an OSC port.

You can change the output port using the Output menu.

Instance

Helgobox/ReaLearn is an instrument plug-in. That means you can add multiple instances of it, just as you would add multiple instances of a synth or effect. For example, you could place one instance on the monitoring FX chain and two instances somewhere in your project.

Unit

Each ReaLearn Instance contains at least one unit, known as the main unit, but it can also contain an arbitrary number of additional units.

Units function like "mini instances" within a single ReaLearn Instance, allowing that instance to manage multiple controllers simultaneously. Each unit has its own Input port, Output port, Controller compartment, Main compartment, Controller preset, Main preset, and more.

Compartment

Each unit consists of two compartments. A compartment is a self-contained list of mappings that can be saved as an independent preset. The two compartments in each unit are:

Main compartment

This is the primary compartment. Its purpose is to define what the controller device should do, e.g., allowing a fader to control track volume or displaying the name of an FX parameter on a hardware display.

We refer to the mappings in this compartment as main mappings and to the presets as main presets.

Controller compartment

The controller compartment is optional and serves two main purposes: Describing all control elements of the controller, assigning them descriptive names and enabling Virtual control.

We refer to the mappings in this compartment as controller mappings and to the presets as controller presets.

Mapping

Each compartment contains a list of mappings.

A mapping connects a Control element and/or Feedback element on your Controller with an action or parameter in REAPER.

Each mapping consists of Source, Glue and Target.

Source

A source is the part of a Mapping that typically describes a Control element and/or Feedback element on the Controller. More generally, it can be anything that emits control values.

Examples: MIDI source, OSC source

Glue

A glue is the part of a Mapping that sits between Source and Target, filtering and transforming Control and Feedback streams.

Target

A target is the part of the Mapping that describes the thing which should be controlled and/or provides feedback data.

Examples: Track volume, cursor position, REAPER action

Learning

This section wouldn’t be complete without mentioning the concept that inspired ReaLearn’s name: Learning. Learning simply means that you press a Learn button instead of performing manual setup, saving you valuable time!

In ReaLearn, you can learn sources and targets.

Learn source

Sources can be learned by pressing the Learn source button and then touching a Control element on your controller. This saves you from the tedious job of setting up MIDI or OSC sources manually.

Learn target

Targets can be learned by pressing the Learn target button and then invoking a Target within REAPER. This saves you from choosing Target object selectors and other stuff manually.