Vendor helgoboss/helgobox (ReaLearn) as basis for custom UI fork
Stripped upstream git history; starting point for replacing the native SWELL/Win32 mapping UI with something more suited to bulk editing. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
= Bottom section
|
||||
|
||||
image:realearn/screenshots/main-panel-bottom.png[Screenshot]
|
||||
|
||||
== Unit enabled/disabled checkbox
|
||||
|
||||
This checkbox lets you enable or disable the currently displayed unit. You can even do this dynamically by using the xref:targets/realearn/enable-disable-units.adoc[].
|
||||
|
||||
== Unit menu
|
||||
|
||||
Press the button will reveal a menu with the following actions to manage xref:key-concepts.adoc#unit[Units]:
|
||||
|
||||
Remove current unit:: Removes the current unit.
|
||||
This can't be undone!
|
||||
_List of units_:: Switch to an arbitrary unit by clicking on it.
|
||||
Add unit:: Adds a new unit within this instance.
|
||||
The new unit will automatically be named after the randomly-generated unit key.
|
||||
You can change the name by pressing the <<set-unit-data>>.
|
||||
|
||||
== Info area
|
||||
|
||||
In the center you can see the info area, made up of 3 rows:
|
||||
|
||||
Row 1::
|
||||
* The current scroll position.
|
||||
* The xref:helgobox:ROOT:key-concepts.adoc#instance-id[] of this Helgobox xref:helgobox:ROOT:key-concepts.adoc#instance[].
|
||||
* The xref:further-concepts/unit.adoc#unit-key[] of the currently visible ReaLearn xref:key-concepts.adoc#unit[].
|
||||
* xref:further-concepts/unit.adoc#unit-tag[] assigned to this ReaLearn xref:key-concepts.adoc#unit[].
|
||||
|
||||
Row 2::
|
||||
* Information about the current xref:further-concepts/unit.adoc#unit-track[] and xref:further-concepts/unit.adoc#unit-fx[].
|
||||
* Information whether control and/or feedback is currently inactive unit-wide.
|
||||
|
||||
Row 3::
|
||||
* Information about what version of Helgobox is running.
|
||||
|
||||
[[set-unit-data]]
|
||||
== Unit data… button
|
||||
|
||||
Press this button to change various key-value data of this ReaLearn unit as a whole.
|
||||
|
||||
Unit key…:: Allows you to change the xref:further-concepts/unit.adoc#unit-key[] of this xref:key-concepts.adoc#unit[].
|
||||
Unit name:: The display name of this xref:key-concepts.adoc#unit[].
|
||||
Tags:: Lets you assign xref:further-concepts/unit.adoc#unit-tag[] to this xref:key-concepts.adoc#unit[] as a comma-separated list.
|
||||
+136
@@ -0,0 +1,136 @@
|
||||
= Input/output section
|
||||
|
||||
image:realearn/screenshots/main-panel-input-output.png[Screenshot]
|
||||
|
||||
Use this section to connect ReaLearn to a specific controller.
|
||||
|
||||
Also see xref:best-practices.adoc#best-practices-input-output[].
|
||||
|
||||
[#input]
|
||||
== Input menu
|
||||
|
||||
Allows you to select the xref:key-concepts.adoc#input-port[] to which this ReaLearn unit listens.
|
||||
ReaLearn works with MIDI or OSC input.
|
||||
In addition, it can listen to keyboard input.
|
||||
|
||||
[[fx-input]] MIDI: <FX input>::
|
||||
When selected, ReaLearn captures all MIDI events that flow into this ReaLearn VSTi FX instance, for example coming from track MIDI items, track MIDI receives or the track input.
|
||||
This is the default selection.
|
||||
|
||||
MIDI: _Some input device_::
|
||||
When selected, ReaLearn captures events from the given MIDI device directly, before it reaches REAPER's tracks.
|
||||
+
|
||||
This will only work if _Enable input from this device_ is checked for the selected MIDI input device in REAPER's preferences (menu:Options[Settings > MIDI Inputs]).
|
||||
The device name is prefixed with the device ID, which also shows up in the REAPER preferences.
|
||||
|
||||
Unavailable MIDI input devices::
|
||||
This submenu contains MIDI input devices which are currently disconnected or not enabled in the REAPER preferences.
|
||||
|
||||
OSC: _Some device_::
|
||||
When selected, ReaLearn captures events from the given OSC device.
|
||||
Before any device shows up here, you need to add it via <<manage-osc-devices>>.
|
||||
|
||||
Unavailable OSC devices::
|
||||
This submenu contains OSC devices for which control is currently disabled.
|
||||
|
||||
|
||||
[[manage-osc-devices]] Manage OSC devices::
|
||||
Lets you display and modify the list of OSC devices (globally).
|
||||
|
||||
<New>:::
|
||||
Opens a dialog window for adding a new OSC device.
|
||||
See <<osc-device-dialog>>.
|
||||
|
||||
_Some OSC device_:::
|
||||
|
||||
Edit::::
|
||||
Lets you edit the device.
|
||||
See <<osc-device-dialog>>.
|
||||
|
||||
Remove::::
|
||||
Removes the device.
|
||||
This is a global action.
|
||||
If you remove a device, all existing ReaLearn instances which use this device will point to a device that doesn't exist anymore.
|
||||
+
|
||||
CAUTION: This can't be undone!
|
||||
|
||||
Enabled for control:::: If you disable this, ReaLearn will stop listening to this device.
|
||||
This can save resources, so you should do this with each device that is not in use (as an alternative for removing it forever).
|
||||
|
||||
Enabled for feedback:::: If you disable this, ReaLearn won't send anything to this device.
|
||||
|
||||
Can deal with bundles:::: By default, ReaLearn aggregates multiple OSC messages into so-called OSC bundles.
|
||||
Some devices (e.g. from Behringer) can't deal with OSC bundles.
|
||||
Untick the checkbox in this case and ReaLearn will send single OSC messages.
|
||||
|
||||
Stream Deck: <None>::
|
||||
Disables Stream Deck control.
|
||||
|
||||
Stream Deck: _Some device_::
|
||||
When selected, this ReaLearn instance will _additionally_ listen to button presses of the chosen Stream Deck device. See xref:sources/stream-deck.adoc[] for details.
|
||||
+
|
||||
Unlike MIDI or OSC, choosing a Stream Deck device automatically enables feedback to the Stream Deck buttons, so you won't find a Stream Deck entry in the <<output>>.
|
||||
|
||||
_Unavailable Stream Deck devices_::
|
||||
This submenu contains supported Stream Deck devices that are currently not connected.
|
||||
|
||||
[[computer-keyboard]] Computer keyboard::
|
||||
|
||||
If enabled, this ReaLearn instance will _additionally_ listen to key press and release events.
|
||||
|
||||
[#output]
|
||||
== Output menu
|
||||
|
||||
Here you can choose to which xref:key-concepts.adoc#output-port[] ReaLearn should send MIDI/OSC xref:key-concepts.adoc#feedback[].
|
||||
|
||||
<None>::
|
||||
This means, ReaLearn won't send any feedback to MIDI or OSC devices.
|
||||
This is the default.
|
||||
|
||||
[[fx-output]] MIDI: <FX output>::
|
||||
This makes feedback MIDI events stream down to the next FX in the chain or to the track's hardware MIDI output.
|
||||
+
|
||||
CAUTION: Under normal circumstances, it is better to use <<midi-some-output-device, select a specific output device>> instead. See xref:best-practices.adoc#best-practices-input-output[].
|
||||
|
||||
[[midi-some-output-device]] MIDI: _Some output device_::
|
||||
If selected, ReaLearn will send feedback to the given MIDI output device.
|
||||
This only works if _Enable output to this device_ is checked in REAPER's preferences (menu:Options[Settings > MIDI Outputs]).
|
||||
|
||||
OSC: _Some device_::
|
||||
When selected, ReaLearn will send feedback to the given OSC device.
|
||||
Before any device shows up here, you need to add it via <<manage-osc-devices>>.
|
||||
|
||||
Unavailable OSC devices::
|
||||
This submenu contains OSC devices for which feedback is currently disabled.
|
||||
|
||||
Manage OSC devices::
|
||||
See <<manage-osc-devices>> in the input section of the menu.
|
||||
|
||||
[#osc-device-dialog]
|
||||
== OSC device dialog
|
||||
|
||||
The OSC device dialog lets you edit the settings of a ReaLearn OSC device and can be opened via <<manage-osc-devices>>.
|
||||
|
||||
Name:: A descriptive name of the device, e.g. "TouchOSC on my Android phone".
|
||||
|
||||
Local port:: Required for control.
|
||||
The UDP port on which ReaLearn should listen for OSC control messages.
|
||||
+
|
||||
This port must be reserved exclusively for ReaLearn!
|
||||
If you already use this port in another application (e.g. in REAPER's own OSC control surface) it won't work and ReaLearn will bless you with an "unable to connect" message in the "Input" dropdown.
|
||||
|
||||
Device host:: Required for feedback only.
|
||||
It's the IP address of the OSC device to which ReaLearn should send feedback messages.
|
||||
This address is usually displayed on your OSC device (e.g. as "Local IP address").
|
||||
When targeting an OSC software that runs on the same computer as REAPER and ReaLearn, enter the special IP address `127.0.0.1` (or `localhost`).
|
||||
+
|
||||
When you configure your OSC connection on the device side, you must provide a _host_ as well.
|
||||
There you should enter the IP address of the computer which runs REAPER and ReaLearn.
|
||||
You can easily find it by pressing the xref:further-concepts/unit.adoc#projection[] button in ReaLearn, choosing the old browser-based projection and scrolling down a bit.
|
||||
It's the value next to *Host* and should start with `192.168.`.
|
||||
|
||||
Device port:: Required for feedback only.
|
||||
The UDP port on which the OSC device listens for OSC feedback messages.
|
||||
|
||||
All OSC device configurations will be saved in the REAPER resource directory (menu:Options[Show REAPER resource path in explorer/finder]) in the file
|
||||
`Helgoboss/ReaLearn/osc.json`.
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
= Let MIDI through section
|
||||
|
||||
image:realearn/screenshots/main-panel-let-through-checkboxes.png[Screenshot]
|
||||
|
||||
See xref:further-concepts/unit.adoc#letting-through-events[].
|
||||
|
||||
Matched events:: If checked, even MIDI events matched by at least one mapping are let through.
|
||||
If unchecked (default), such events are filtered out.
|
||||
|
||||
Unmatched events:: If checked (default), MIDI events that are not matched by any mappings are let through.
|
||||
If unchecked, such events are filtered out.
|
||||
|
||||
Check out xref:user-interface/main-panel/menu-bar.adoc#match-even-inactive-mappings[] to fine-tune matching behavior.
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
= Mapping group section
|
||||
|
||||
image:realearn/screenshots/main-panel-group.png[Screenshot]
|
||||
|
||||
[[mapping-group]]
|
||||
== Group menu
|
||||
|
||||
See xref:further-concepts/mapping.adoc#group[].
|
||||
|
||||
The group menu contains the following options:
|
||||
|
||||
<All>:: Displays all mappings in the compartment, no matter to which group they belong.
|
||||
In this view, you will see the name of the group on the right side of a mapping row.
|
||||
|
||||
<Default>:: Displays mappings that belong to the _default_ group.
|
||||
This is where mappings end up if you don't care about grouping.
|
||||
This is a special group that can't be removed.
|
||||
|
||||
_Custom group_::
|
||||
Displays all mappings in your custom group.
|
||||
|
||||
== Add button
|
||||
|
||||
Allows you to add a group and give it a specific name.
|
||||
|
||||
== Remove button
|
||||
|
||||
Removes the currently displayed group.
|
||||
It will ask you if you want to remove all the mappings in that group as well.
|
||||
Alternatively they will automatically be moved to the default group.
|
||||
|
||||
== Edit button
|
||||
|
||||
Opens the group panel, which allows you to change xref:further-concepts/target.adoc#group-properties[].
|
||||
|
||||
image:realearn/screenshots/group-panel.png[Group panel]
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
|
||||
= Mapping row
|
||||
|
||||
image:realearn/screenshots/main-panel-mapping-row.png[Screenshot]
|
||||
|
||||
Each mapping row represents one ReaLearn mapping.
|
||||
|
||||
The mapping, source and target labels of a mapping row are greyed out whenever the mapping is _off_.
|
||||
See xref:key-concepts.adoc#mapping[].
|
||||
|
||||
== Mapping-enabled checkbox
|
||||
|
||||
This checkbox at the top left of the mapping row enables or disables the mapping as a whole.
|
||||
|
||||
== Activity indicator (●)
|
||||
|
||||
This indicator at the very left of the mapping row lights up on incoming control messages whenever they match the mapping source.
|
||||
|
||||
Attention: This doesn't necessarily mean that the message will reach the target, although it often does.
|
||||
There are certain settings in the xref:user-interface/mapping-panel/glue-section.adoc[] section which allow you to filter messages even they matched the source (e.g. xref:user-interface/mapping-panel/glue-section.adoc#source-min-max[]).
|
||||
|
||||
== Up/down buttons
|
||||
|
||||
Use these buttons to move this mapping up or down the list.
|
||||
|
||||
== Control/feedback-enabled checkboxes (→/←)
|
||||
|
||||
Use these checkboxes to enable/disable control and/or feedback for this mapping.
|
||||
Disabling both has the same effect as disabling the mapping as a whole.
|
||||
|
||||
[[row-edit]]
|
||||
== Edit button
|
||||
|
||||
Opens the mapping panel for this mapping.
|
||||
|
||||
== Duplicate button
|
||||
|
||||
Creates a new mapping just like this one right below.
|
||||
|
||||
== Remove button
|
||||
|
||||
Removes this mapping from the list.
|
||||
|
||||
[[learn-source]]
|
||||
== Learn source button
|
||||
|
||||
Starts or stops learning the source of this mapping.
|
||||
See xref:key-concepts.adoc#learn-source[].
|
||||
|
||||
[[learn-target]]
|
||||
== Learn target button
|
||||
|
||||
Starts or stops learning the target of this mapping.
|
||||
|
||||
Learning a target that is currently being automated is not possible at the moment because ReaLearn can't know if the value change notification is coming from the automation or your touch interaction.
|
||||
|
||||
== Right-click menu
|
||||
|
||||
Each mapping row provides a right-click menu for accessing the following functions:
|
||||
|
||||
Copy:: Copies this mapping to the clipboard.
|
||||
Paste (replace):: Replaces this mapping with the mapping in the clipboard.
|
||||
If the clipboard contains just a part of a mapping (source, mode or target), then just this part gets replaced.
|
||||
Paste (insert below):: Creates a new mapping that's like the mapping in the clipboard and places it below this mapping.
|
||||
Copy part:: Copies just a part of the mapping (activation condition, source, mode or target).
|
||||
Move to group:: Lets you move this mapping to another mapping group.
|
||||
Advanced:: Provides access to expert features.
|
||||
Copy as Lua::: Copies this mapping as Lua/Luau code.
|
||||
This is an indispensable tool if you want to build your mappings in Luau because it gives you a readily executable code snippet that you can adjust as desired.
|
||||
Copy as Lua (include default values)::: Includes even default values.
|
||||
Paste from Lua (replaces)::: Like _Paste (replace)_ but treats the clipboard content as Luau code.
|
||||
Paste from Lua (insert below)::: Like _Paste (insert below)_ but treats the clipboard content as Luau code.
|
||||
Log debug info (now)::: Logs debug information about this particular mapping.
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
|
||||
= Mappings toolbar
|
||||
|
||||
image:realearn/screenshots/main-panel-mapping-toolbar.png[Screenshot]
|
||||
|
||||
[[add-one]]
|
||||
== Add one button
|
||||
|
||||
Adds a new mapping at the end of the current mapping list.
|
||||
|
||||
[[learn-many]]
|
||||
== Learn many button
|
||||
|
||||
Allows you to add and learn many new mappings in a convenient batch mode.
|
||||
Click this button and follow the on-screen instructions.
|
||||
Click _Stop_ when you are finished with your bulk learning strike.
|
||||
|
||||
[#search]
|
||||
== Search field
|
||||
|
||||
Enter text here in order to display just mappings whose name matches the text.
|
||||
|
||||
You can search for mappings that have a certain tag by entering the tag name prefixed with the hash character `#`.
|
||||
For example, you can search for all mappings tagged with the tag `mixing` by entering `#mixing`.
|
||||
|
||||
The search expression also supports wildcards `\*` and `?` for doing blurry searches. `*` stands for zero or more arbitrary characters and `?` stands for one arbitrary character.
|
||||
|
||||
[[filter-source]]
|
||||
== Filter source button
|
||||
|
||||
When you press this button, ReaLearn will start listening to incoming MIDI/OSC events and temporarily disable all target control.
|
||||
You can play around freely on your controller without having to worry about messing up target parameters.
|
||||
Whenever ReaLearn detects a valid source, it will filter the mapping list by showing only mappings which have that source.
|
||||
|
||||
This is a great way to find out what a specific knob/fader/button etc. is mapped to.
|
||||
Please note that the list can end up empty (if no mapping has that source).
|
||||
|
||||
As soon as you press btn:[Stop], the current filter setting will get locked.
|
||||
This in turn is useful for temporarily focusing on mappings with a particular source.
|
||||
|
||||
When you are done, and you want to see all mappings again, press the btn:[X]
|
||||
button to the right, which clears the filter.
|
||||
|
||||
TIP: Before you freak out thinking that ReaLearn doesn't work anymore because it won't let you control targets, have a quick look at this button.
|
||||
ReaLearn might still be in "filter source" mode.
|
||||
Then just calm down and press btn:[Stop].
|
||||
It's easy to forget.
|
||||
|
||||
[[filter-target]]
|
||||
== Filter target button
|
||||
|
||||
If you want to find out what mappings exist for a particular target, press this button and touch something in REAPER.
|
||||
|
||||
As soon as you have touched a valid target, the list will show all mappings with that target.
|
||||
|
||||
Unlike <<filter-source>>, ReaLearn will automatically stop learning as soon as a target was touched.
|
||||
|
||||
Press the btn:[X] button to clear the filter and show all mappings again.
|
||||
|
||||
The mapping rows area consists of multiple mapping rows.
|
||||
One for each mapping.
|
||||
+301
@@ -0,0 +1,301 @@
|
||||
= Menu bar
|
||||
|
||||
image:realearn/screenshots/main-panel-menu-bar.png[Screenshot]
|
||||
|
||||
== Menu button
|
||||
|
||||
This opens the main menu of Helgobox/ReaLearn.
|
||||
The same menu opens when you right-click an empty area.
|
||||
|
||||
It provides the following entries.
|
||||
|
||||
[[copy-listed-mappings]] Copy listed mappings::
|
||||
Copies all mappings that are visible in the current mapping list (respecting group, search field and filters) to the clipboard.
|
||||
You can insert them by opening the right-click menu of a xref:user-interface/main-panel/mapping-row.adoc[].
|
||||
|
||||
[[paste-mappings-replace-all-in-group]] Paste mappings (replace all in group)::
|
||||
Replaces all mappings in the current group with the mappings in the clipboard.
|
||||
|
||||
Modify multiple mappings::
|
||||
|
||||
Auto-name listed mappings:::
|
||||
Clears the names of all listed mappings.
|
||||
As a result, ReaLearn will display dynamically auto-generated mapping names instead.
|
||||
|
||||
Name listed mappings after source:::
|
||||
Sets the names of each listed mapping to the first line of its source label.
|
||||
|
||||
Make sources of all main mappings virtual:::
|
||||
Attempts to make the sources in the main compartment virtual by matching them with the sources in the controller compartment.
|
||||
This is useful if you already learned a bunch of MIDI/OSC/keyboard sources in the main compartment, just to find out later that you would like to use a controller preset that exposes virtual sources.
|
||||
|
||||
Make targets of listed mappings sticky:::
|
||||
Changes the targets of all currently listed mappings so that they use xref:further-concepts/target.adoc#sticky-selectors[] object selectors by attempting to resolve the objects from xref:further-concepts/target.adoc#non-sticky-selectors[].
|
||||
|
||||
Make targets of listed mappings non-sticky:::
|
||||
Changes the targets of all currently listed mappings so that they use the desired xref:further-concepts/target.adoc#non-sticky-selectors[].
|
||||
You can see this in action in link:https://www.youtube.com/watch?v=kebF_NKAweA&list=PL0bFMT0iEtAgKY2BUSyjEO1I4s20lZa5G&index=9[tutorial video 9].
|
||||
+
|
||||
The general procedure is:
|
||||
+
|
||||
1. Choose the desired track selector
|
||||
2. Choose the desired FX selector
|
||||
3. ReaLearn will change the selectors for all targets where this is applicable
|
||||
|
||||
Move listed mappings to group::
|
||||
Moves all currently listed mappings to the specified group.
|
||||
|
||||
Advanced::
|
||||
Provides access to expert features.
|
||||
|
||||
Copy listed mappings as Lua:::
|
||||
Like <<copy-listed-mappings>> but generates Lua/Luau code instead.
|
||||
|
||||
Copy listed mappings as Lua (include default values):::
|
||||
Generates Lua/Luau code that contains even those properties that correspond to ReaLearn's defaults.
|
||||
|
||||
Paste from Lua (replace all in group):::
|
||||
Like <<paste-mappings-replace-all-in-group>> but treats the clipboard content as Luau code.
|
||||
|
||||
[[dry-run-lua-script]] Dry-run Lua script from clipboard:::
|
||||
Executes the Luau code in the clipboard and opens the returned data structure in a link:https://en.wikipedia.org/wiki/Text_editor[text editor].
|
||||
See xref:best-practices.adoc#troubleshooting-luau-import[] to learn in which situations this can be useful.
|
||||
|
||||
[[compartment-parameters,Compartment parameters menu]] Compartment parameters::
|
||||
This shows all parameters of the current compartment and makes it possible to customize them.
|
||||
See xref:further-concepts/compartment.adoc#compartment-parameter[] to learn what such parameters are good for.
|
||||
+
|
||||
Each parameter provides the following customization options:
|
||||
|
||||
Name:::
|
||||
Changes the name of this parameter.
|
||||
|
||||
[[set-compartment-parameter-value-count]]Value count:::
|
||||
Lets you enter the maximum number of values.
|
||||
This automatically turn this parameter into a discrete parameter.
|
||||
See xref:further-concepts/compartment.adoc#continuous-vs-discrete-compartment-parameters[].
|
||||
|
||||
Compartment presets::
|
||||
|
||||
Create compartment preset workspace:::
|
||||
Exports the Luau SDK files of this ReaLearn version into a new compartment preset workspace directory with a random name.
|
||||
See section xref:further-concepts/compartment.adoc#writing-presets-with-luau[] for details.
|
||||
|
||||
Create compartment preset workspace (including factory presets):::
|
||||
Exports the Luau SDK files of this ReaLearn version and all factory presets for this compartment into a new compartment preset workspace directory with a random name.
|
||||
See section xref:further-concepts/compartment.adoc#writing-presets-with-luau[] for details.
|
||||
|
||||
Open compartment preset folder:::
|
||||
Opens the ReaLearn preset folder for this compartment in a file manager.
|
||||
|
||||
[[reload-all-presets]] Reload all compartment presets from disk:::
|
||||
If you made direct changes to preset files, you should choose this entry in order to reflect these changes in the preset list of this xref:key-concepts.adoc#compartment[].
|
||||
+
|
||||
This *will not* apply an adjusted preset to the current compartment, it will just reload the list.
|
||||
If you want to apply a preset that has been changed on disk, you need to reload it by selecting it in the preset menu once again!
|
||||
|
||||
Compartment tools::
|
||||
|
||||
Convert toolbar to Stream Deck mappings:::
|
||||
This takes a toolbar of your choice and converts it to a list of mappings that will project the toolbar on your Stream Deck via xref::sources/stream-deck.adoc[].
|
||||
+
|
||||
This feature is experimental and subject to improvement.
|
||||
+
|
||||
NOTE: It will work best with custom toolbars that use non-default icons.
|
||||
Many of the default toolbar icons are not in the `Data/toolbar_icons` folder and therefore can't yet be loaded by ReaLearn.
|
||||
However, in this case, you will see a descriptive text instead.
|
||||
|
||||
|
||||
[[edit-compartment-wide-lua-code]] Edit compartment-wide Lua code::
|
||||
Allows you to edit the compartment-wide Lua code.
|
||||
See section xref:further-concepts/compartment.adoc#compartment-wide-lua-code[].
|
||||
|
||||
[[unit-options]] Unit options::
|
||||
|
||||
[[match-even-inactive-mappings]] Match even inactive mappings:::
|
||||
By default, when encountering an incoming MIDI or keyboard event that matches at least one mapping, ReaLearn filters it out so that it doesn't reach other parts of REAPER anymore. Normally, xref:further-concepts/mapping.adoc#mapping-activation-state[inactive] mappings are not relevant here. Inactive mappings never match.
|
||||
+
|
||||
Consider a mapping with a xref:targets/track.adoc[track target], for example. As long as the corresponding track exists, the target and its mapping are active. Each incoming MIDI event which triggers that target will be filtered out. But as soon as you remove that track, the target and its mapping turn inactive. Consequently, the same type of MIDI events will not be filtered out anymore.
|
||||
+
|
||||
This behavior can be undesired. To get a more predictable MIDI and keyboard filtering behavior, you can enable this checkbox. If you do that, even inactive mappings will participate in matching. That way, temporarily inactive mappings will not let unwanted events "leak through".
|
||||
|
||||
[[send-feedback-only-if-track-armed]] Send feedback only if track armed:::
|
||||
Here you can tell ReaLearn to only send feedback when the track is armed.
|
||||
+
|
||||
At the moment, this can only be unchecked if ReaLearn is on the normal FX chain.
|
||||
If it's on the input FX chain, unarming forcefully disables feedback because REAPER generally excludes input FX from audio/MIDI processing while a track is unarmed (this is subject to change in the future).
|
||||
+
|
||||
[TIP]
|
||||
.Recommendations
|
||||
====
|
||||
* If input is set to xref:user-interface/main-panel/input-output-section.adoc#fx-input[], you probably want to enable this option.
|
||||
Rationale: Unarming will naturally disable control, so disabling feedback is just consequent.
|
||||
* If input is set to a specific MIDI or OSC device, you probably want to disable this option in order to allow feedback even when unarmed.
|
||||
====
|
||||
|
||||
Reset feedback when releasing source:::
|
||||
When using ReaLearn the normal way, it's usually desired that feedback is reset when the corresponding sources are not in use anymore (e.g. lights are switched off, displays are cleared, motor faders are pulled down).
|
||||
+
|
||||
You can prevent this unit from doing that by disabling this option.
|
||||
This can be useful e.g. when using REAPER/ReaLearn just in feedback direction, in order to take control of a hardware device (= using ReaLearn the other way around, "controlling from target to source").
|
||||
|
||||
[[make-unit-superior]] Make unit superior:::
|
||||
Makes this unit superior.
|
||||
See xref:further-concepts/unit.adoc#superior-units[] to learn more about this feature.
|
||||
|
||||
Use unit-wide FX-to-preset links only:::
|
||||
By default, xref:further-concepts/unit.adoc#unit-fx-to-preset-link[unit-wide links] are applied *in addition* to the global links and take precedence over them.
|
||||
This checkbox makes sure that *only* unit-wide links are used for this xref:key-concepts.adoc#unit[].
|
||||
|
||||
Stay active when project in background:::
|
||||
Determines if and under which conditions this ReaLearn unit should stay active when the containing project tab is not the active one.
|
||||
Applies to in-project ReaLearn instances only, not to monitoring FX instances!
|
||||
|
||||
Never::::
|
||||
Will only be active when its project tab is active.
|
||||
Only if background project is running::::
|
||||
Follows REAPER's project tab settings ("Run background projects" and "Run stopped background projects").
|
||||
Always (more or less)::::
|
||||
Attempts to stay active no matter what.
|
||||
Please note that this is technically not always possible when input is set to xref:user-interface/main-panel/input-output-section.adoc#fx-input[] or output to xref:user-interface/main-panel/input-output-section.adoc#fx-output[], when the background project is not running.
|
||||
|
||||
[[unit-fx-to-preset-links]] Unit-wide FX-to-preset links::
|
||||
Manage a unit-wide list of links from FXs (plug-ins or JS effects) to ReaLearn main compartment presets.
|
||||
Covered in link:https://www.youtube.com/watch?v=HtmWO7QNpgE&list=PL0bFMT0iEtAgKY2BUSyjEO1I4s20lZa5G&index=10[video tutorial 10].
|
||||
|
||||
Add link from last focused FX to preset:::
|
||||
This lets you link whatever FX window was focused before focusing ReaLearn, to an arbitrary main compartment preset.
|
||||
This only works if an FX has been focused before.
|
||||
|
||||
_Arbitrary FX ID_:::
|
||||
If you have added a link already, you will see it here in the list.
|
||||
In particular, you see the _FX ID_, which by default simply corresponds to the plug-in's original name (e.g. menu:Name: VSTi: ReaSynth (Cockos)[]).
|
||||
|
||||
[[edit-fx-id]] <Edit FX ID…>::::
|
||||
With this, you can edit the FX ID manually.
|
||||
See <<fx-id-dialog>> for details.
|
||||
|
||||
<Remove link>::::
|
||||
(Globally) removes this FX-to-preset link.
|
||||
|
||||
_Arbitrary main preset_::::
|
||||
The rest of the submenu tells you to which main preset the FX ID is linked.
|
||||
You can change the linked preset by choosing another one in the list.
|
||||
|
||||
[[logging,Logging Menu]] Logging::
|
||||
|
||||
Log debug info (now)::: Logs some information about ReaLearn's internal state.
|
||||
Can be interesting for investigating bugs or understanding how this plug-in works.
|
||||
Log real control messages::: When enabled, all incoming MIDI messages, OSC messages or key presses will be logged to the console.
|
||||
See xref:further-concepts/unit.adoc#logging-of-real-control-messages[].
|
||||
Log virtual control messages::: When enabled, all triggered virtual control elements and their values will be logged (see xref:key-concepts.adoc#controller-compartment[]).
|
||||
Log target control::: When enabled, all target invocations (parameter changes etc.) will be logged.
|
||||
Log virtual feedback messages::: When enabled, all feedback events to virtual control elements will be logged (see xref:key-concepts.adoc#controller-compartment[]).
|
||||
Log real feedback messages::: When enabled, all outgoing MIDI or OSC messages will be logged to the console.
|
||||
See xref:further-concepts/unit.adoc#logging-of-real-feedback-messages[].
|
||||
|
||||
Send feedback now::
|
||||
Usually ReaLearn sends feedback whenever something changed to keep the LEDs or motorized faders of your controller in sync with REAPER at all times.
|
||||
There might be situations where it doesn't work though.
|
||||
In this case you can send feedback manually for this xref:key-concepts.adoc#unit[] by selecting this menu entry.
|
||||
+
|
||||
There's a related REAPER action xref:reaper-actions.adoc#send-feedback-for-all-instances[] which sends feedback for all instances.
|
||||
|
||||
Instance options::
|
||||
|
||||
[[enable-global-control]] Enable global control:::
|
||||
If you enable this option, this xref:key-concepts.adoc#instance[] will start to automatically add/remove units based on connected controllers.
|
||||
See xref:further-concepts/instance.adoc#auto-units[].
|
||||
|
||||
[[open-pot-browser]] Open Pot Browser::
|
||||
See xref:helgobox::plug-in/user-interface/menu-bar.adoc#open-pot-browser[].
|
||||
|
||||
Show App::
|
||||
See xref:helgobox::plug-in/user-interface/menu-bar.adoc#show-app[].
|
||||
|
||||
Close App::
|
||||
See xref:helgobox::plug-in/user-interface/menu-bar.adoc#close-app[].
|
||||
|
||||
User interface::
|
||||
|
||||
Background colors:::
|
||||
Enables/disables the usage of background colors in the ReaLearn user interface (enabled by default).
|
||||
|
||||
Server::
|
||||
See xref:helgobox::plug-in/user-interface/menu-bar.adoc#server[].
|
||||
|
||||
[[global-fx-to-preset-links]] Global FX-to-preset links::
|
||||
Lets you manage xref:further-concepts/unit.adoc#global-fx-to-preset-link[global FX-to-preset links].
|
||||
Works exactly as the <<unit-fx-to-preset-links>> menu.
|
||||
|
||||
[[fx-id-dialog]]
|
||||
== FX ID dialog
|
||||
|
||||
The FX ID dialog is used to edit which properties of a FX trigger a preset change.
|
||||
It is opened via menu action <<edit-fx-id>>.
|
||||
|
||||
FX name::
|
||||
Allows you to adjust the (original) plug-in name that triggers the preset change.
|
||||
|
||||
FX file name::
|
||||
Allows you to adjust the plug-in file name that triggers the preset change.
|
||||
|
||||
FX preset name::
|
||||
Maybe the FX name or file name is not enough for you to decide which preset you want to load.
|
||||
You can add a preset name as additional criteria.
|
||||
+
|
||||
.Samplers
|
||||
====
|
||||
If you have a sampler, you can load different ReaLearn presets depending on which sample library is loaded into your sampler.
|
||||
Just add two links with the same FX file name (e.g. `Kontakt 5.dll`) but different preset names.
|
||||
====
|
||||
|
||||
All above-mentioned fields support wildcards.
|
||||
You can use `*` for matching zero or arbitrary many characters and `?` for matching exactly one arbitrary character.
|
||||
|
||||
.Matching both VST2 and VST3 plug-ins
|
||||
====
|
||||
Instead of relying on the original plug-in name you could match plug-ins with similar file names (e.g. VST2 and VST3 at once): `Pianoteq 7 STAGE.*` would match both `Pianoteq 7 STAGE.dll` (VST2) and `Pianoteq 7 STAGE.vst3` (VST3).
|
||||
====
|
||||
|
||||
[[export-to-clipboard-button]]
|
||||
== Export to clipboard button
|
||||
|
||||
Pressing the export button allows you to copy ReaLearn's settings to the clipboard so you can import them in another instance/unit or edit them in a link:https://en.wikipedia.org/wiki/Text_editor[text editor].
|
||||
See xref:further-concepts/general.adoc#import-export[].
|
||||
|
||||
The following list only describes the ReaLearn-related menu entries. For the rest, see xref:helgobox::plug-in/user-interface/menu-bar.adoc#export-to-clipboard[] in the Helgobox Reference.
|
||||
|
||||
Export instance as JSON::
|
||||
Copies a _complete_ dump of this xref:helgobox:ROOT:key-concepts.adoc#instance[] to the clipboard in JSON format.
|
||||
|
||||
Export main/controller compartment as JSON::
|
||||
Copies a dump of the currently visible compartment to the clipboard.
|
||||
It contains about the same data that a compartment preset would contain.
|
||||
|
||||
Export main/controller compartment as Lua::
|
||||
Copies a dump of the currently visible compartment to the clipboard as Lua/Luau code.
|
||||
This form of Lua/Luau export skips properties that correspond to ReaLearn's default values, resulting in a minimal result.
|
||||
Perfect for pasting into a forum or programming ReaLearn with focus on only those properties that matter to you.
|
||||
|
||||
Export main/controller compartment as Lua (include default values)::
|
||||
This Lua/Luau export includes even those properties that correspond to ReaLearn's default values, resulting in more text.
|
||||
This gives you the perfect starting point if you want to extensively modify the current compartment (using the Luau programming language) or build a compartment from scratch, using even properties that you haven't touched yet in the user interface!
|
||||
|
||||
[[import-from-clipboard]]
|
||||
== Import from clipboard button
|
||||
|
||||
Pressing the import button applies whatever ReaLearn dump is currently in the clipboard.
|
||||
It supports JSON or Luau.
|
||||
See xref:further-concepts/general.adoc#import-export[].
|
||||
|
||||
[#projection]
|
||||
== Projection button
|
||||
|
||||
Click this button to enter ReaLearn's xref:further-concepts/unit.adoc#projection[] feature.
|
||||
You can choose between the old browser-based projection (which is going to disappear at some point) and the new projection that is part of the xref:helgobox::app.adoc[] (but not yet fully functional).
|
||||
Hopefully, the transition to the Helgobox App, including mobile versions of that App, will soon be finished.
|
||||
|
||||
== Help button (?)
|
||||
|
||||
See xref:helgobox::plug-in/user-interface/menu-bar.adoc#help[].
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
|
||||
= Notes button
|
||||
|
||||
image:realearn/screenshots/main-panel-notes-button.png[Screenshot]
|
||||
|
||||
Allows you to save custom notes/comments for the current compartment.
|
||||
These notes are also included in compartment presets.
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
= Preset section
|
||||
|
||||
image:realearn/screenshots/main-panel-preset.png[Screenshot]
|
||||
|
||||
== Preset menu
|
||||
|
||||
This menu makes it possible to load compartment presets for the currently shown compartment.
|
||||
If you select a preset in this list, its corresponding mappings will be loaded and immediately get active.
|
||||
|
||||
The following menu entries are available:
|
||||
|
||||
[[none-preset]] <None>::
|
||||
This entry is selected by default.
|
||||
It means that no particular preset is active.
|
||||
+
|
||||
Selecting this will always clear the complete compartment, including all mappings!
|
||||
|
||||
Factory:: Contains available xref:further-concepts/compartment.adoc#factory-compartment-preset[factory presets].
|
||||
|
||||
User (...):: Contains available xref:further-concepts/compartment.adoc#user-compartment-preset[user presets].
|
||||
Multiple of such submenus may exist.
|
||||
Each one represents a different preset namespace/workspace.
|
||||
The namespace named after you (macOS/Linux/Windows username) is your personal user namespace.
|
||||
+
|
||||
For more information about preset workspaces/namespaces, see
|
||||
xref:further-concepts/compartment.adoc#writing-presets-with-luau[].
|
||||
|
||||
User (Unsorted)::
|
||||
This submenu contains top-level presets which are not part of a particular preset namespace/workspace.
|
||||
This was common in older versions of ReaLearn, when namespaces/workspaces were not yet available.
|
||||
|
||||
== Save button
|
||||
|
||||
If you made changes to a user preset, you can save them by pressing this button.
|
||||
|
||||
== Save as… button
|
||||
|
||||
This allows you to save all currently visible mappings as a new preset.
|
||||
Please choose a descriptive name.
|
||||
|
||||
== Delete button
|
||||
|
||||
This permanently deletes the currently chosen user preset.
|
||||
|
||||
== Auto-load button
|
||||
|
||||
Activates or deactivates xref:further-concepts/unit.adoc#auto-load[] mode for this ReaLearn unit.
|
||||
This button is only available for the xref:key-concepts.adoc#main-compartment[] because auto-load is only about loading xref:further-concepts/compartment.adoc#main-preset[main presets].
|
||||
|
||||
Off:: Disables auto-load mode (the default).
|
||||
|
||||
[[auto-load-based-on-unit-fx,Auto-load based on unit FX]] Based on unit FX::
|
||||
Switches auto-load mode on, letting ReaLearn decide about which main preset to load depending on the currently active xref:further-concepts/unit.adoc#unit-fx[].
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
= Show section
|
||||
|
||||
image:realearn/screenshots/main-panel-show-buttons.png[Screenshot]
|
||||
|
||||
This lets you choose which mapping compartment is displayed.
|
||||
See xref:key-concepts.adoc#compartment[].
|
||||
Reference in New Issue
Block a user