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:
Paul Lipscomb
2026-07-15 17:38:29 -04:00
parent 583ed77a67
commit e58f06d9fa
2232 changed files with 685575 additions and 1 deletions
@@ -0,0 +1,9 @@
= About dialog
This dialog appears when you click the xref:app/user-interface/help-menu.adoc#title-bar-about[] button in the help menu.
image::generated/screenshots/main/about.png[]
The version number displayed here is the version of the xref:app.adoc[], not the one of the controlled xref:plug-in.adoc[]! _App_ and _plug-in_ are often updated together, but that's not always the case. They can evolve independently.
The app version number is most relevant when running the app in xref:app.adoc#app-remote-mode[].
@@ -0,0 +1,58 @@
= Command line interface
When running in xref:app.adoc#app-remote-mode[], the app session can optionally be configured using command line arguments.
== Synopsis
*helgobox* [_OPTIONS_]
== Options
--connection=<URL>::
URL that decides how the app connects to the xref:plug-in.adoc[].
+
.Connection examples
[cols="1,2"]
|===
|
`grpc:://localhost:39051` +
`grpc:://127.0.0.1:39051`
|
Connects to the plug-in running on the same machine, assuming a xref:configuration-files.adoc#realearn-ini[standard server configuration] (`server_grpc_port=39051`).
This is the default if the connection option is omitted.
|
`grpc:://winpc:39051` +
`grpc:://192.168.1.47:39051`
|
Connects to the plug-in running on the machine with the host name `winpc` or the IP address 192.168.1.47.
|===
--location::
Path that decides which page is shown initially.
+
This is not a file system path. It's comparable to the path of a URL that you would see in a web browser's address bar.
+
.Location examples
[cols="1,2"]
|===
|
`/instance/apc/projection`
|
Opens the xref:realearn::user-interface/projection.adoc[projection page] for the xref:key-concepts.adoc#instance[] with xref:key-concepts.adoc#instance-key[] `apc`.
|
`/instance/3/playtime`
|
Opens the xref:playtime::user-interface.adoc[Playtime] page for the xref:key-concepts.adoc#instance[] with xref:key-concepts.adoc#instance-id[] *3*.
Numbers are always interpreted as instance IDs and strings as instance keys. Normally, you want to use an xref:key-concepts.adoc#instance-key[instance key] to refer to the desired instance, because instance IDs are likely to change after restarting REAPER.
|===
--help::
Displays an overview of all supported command line options.
@@ -0,0 +1,59 @@
= General usage
This page describes the basic usage of common user interface elements in the Helgobox app.
[[drag-field]]
== Drag field
image::playtime::generated/screenshots/elements/toolbar/tempo.png[]
A drag field allows you to adjust numeric values in various ways.
include::partial$app/user-interface/interactions/mouse-dragging.adoc[]
include::partial$app/user-interface/interactions/mouse-wheel-scrolling.adoc[]
include::partial$app/user-interface/interactions/touchpad-panning.adoc[]
include::partial$app/user-interface/interactions/text-entry.adoc[]
include::partial$app/user-interface/interactions/reset-to-default.adoc[]
include::partial$app/user-interface/interactions/fine-adjustment.adoc[]
== Knob
image::playtime::generated/screenshots/elements/toolbar/play-rate.png[]
A knob allows you to adjust numeric values in various ways.
include::partial$app/user-interface/interactions/mouse-dragging.adoc[]
include::partial$app/user-interface/interactions/mouse-wheel-scrolling.adoc[]
include::partial$app/user-interface/interactions/touchpad-panning.adoc[]
include::partial$app/user-interface/interactions/text-entry.adoc[]
include::partial$app/user-interface/interactions/reset-to-default.adoc[]
include::partial$app/user-interface/interactions/fine-adjustment.adoc[]
== Slider
image::playtime::generated/screenshots/elements/track-panel/volume.png[]
A slider allows you to adjust numeric values in various ways.
include::partial$app/user-interface/interactions/mouse-dragging.adoc[]
include::partial$app/user-interface/interactions/mouse-wheel-scrolling.adoc[]
include::partial$app/user-interface/interactions/touchpad-panning.adoc[]
include::partial$app/user-interface/interactions/reset-to-default.adoc[]
== Search list
image::playtime::generated/screenshots/main/sequences.png[]
Search lists allow you to pick an item from a potentially large list.
icon:search[] Search::
Simply enter text to drill the list down to items matching your search text.
icon:keyboard-o[] Navigate::
Press kbd:[↑] or kbd:[↓] to navigate within the list of items.
↕ Scroll::
Scroll within the list using the scrollbar on the right or using the mousewheel.
icon:mouse-pointer[] Select::
Click the item or press kbd:[Enter] to select it.
@@ -0,0 +1,13 @@
= Help menu
This menu appears when clicking the xref:app/user-interface/title-bar.adoc#title-bar-help[] button in the window title bar.
include::partial$generated/menus/help/open-helgobox-reference.adoc[]
include::partial$generated/menus/help/open-helgobox-website.adoc[]
include::partial$generated/menus/help/highlight-screen-areas.adoc[]
include::partial$generated/menus/help/about.adoc[]
See xref:app/user-interface/about-dialog.adoc[].
@@ -0,0 +1,44 @@
= Keyboard shortcuts
Within the app, you can use the following keyboard shortcuts.
|===
|Shortcut |Purpose
|[[esc,Esc]] kbd:[Esc]
|Hides the app window.
Hiding the window doesn't completely unload the app, it really just hides the window.
|kbd:[F]
|Toggles full-screen mode.
|kbd:[F1]
|Opens online help for the element that is currently under the mouse cursor.
|kbd:[Shift+Cmd/Ctrl+H]
|Executes the REAPER action xref:helgobox::reaper-actions.adoc#toggle-app-focus[].
|===
Depending on the currently selected page, more keyboard shortcuts are available:
- xref:playtime::user-interface/keyboard-shortcuts.adoc[Playtime shortcuts]
[TIP]
====
**Normal REAPER's keyboard shortcuts are generally disabled when the app is focused!**
This prevents conflicts and ensures flexibility for adding more app shortcuts in the future.
If you want to use a certain REAPER shortcut while the app is focused, you must make it global:
. Open menu:Actions[Show action list...]
. Press btn:[Find shortcut...]
. Press the shortcut key
+
The action list should jump to the action mapped to that key.
. Double-click the desired shortcut in the "Shortcuts for selected action" list
. Change the property "Scope" to **Global**
. Press btn:[OK]
====
@@ -0,0 +1,22 @@
= Navigation bar
The bar on the left is the _Navigation bar_.
Its main purpose is to switch between different pages.
You can show or hide it using the xref:app/user-interface/title-bar.adoc#title-bar-toggle-nav-bar[] button in the xref:app/user-interface/title-bar.adoc[].
include::partial$generated/elements/navbar/home.adoc[]
include::partial$generated/elements/navbar/projection.adoc[]
include::partial$generated/elements/navbar/playtime.adoc[]
include::partial$generated/elements/navbar/enable-disable-global-control.adoc[]
See xref:realearn::further-concepts/instance.adoc#auto-units[].
include::partial$generated/elements/navbar/show-helgobox-plugin.adoc[]
include::partial$generated/elements/navbar/pick-instance.adoc[]
This is only displayed if you run the app in xref:app.adoc#app-remote-mode[].
@@ -0,0 +1,50 @@
= Settings dialog
The dialog allows you to adjust the majority of global settings for Helgobox and its contained products.
You can open it by pressing the xref:app/user-interface/title-bar.adoc#title-bar-settings[] button in the xref:app/user-interface/title-bar.adoc[].
image::generated/screenshots/main/settings.png[]
For a description of the product-specific settings, see:
* xref:realearn::user-interface/settings-dialog.adoc[ReaLearn settings]
* xref:playtime:ROOT:user-interface/dialogs/settings-dialog.adoc[Playtime settings]
== Appearance
include::partial$generated/elements/settings/overall-size.adoc[]
include::partial$generated/elements/settings/roundness.adoc[]
.For Playtime users
TIP: If you want slot cells with rounded corners, play with the xref:playtime:ROOT:user-interface/dialogs/settings-dialog.adoc#settings-cell-color-position[] setting!
include::partial$generated/elements/settings/prefer-tidy-appearance.adoc[]
include::partial$generated/elements/settings/display-development-status-hints.adoc[]
include::partial$generated/elements/settings/display-tooltip-if-help-panel-hidden.adoc[]
include::partial$generated/elements/settings/display-license-info.adoc[]
include::partial$generated/elements/settings/prefer-native-popup-menus.adoc[]
include::partial$generated/elements/settings/theme-mode.adoc[]
include::partial$generated/elements/settings/use-context-coloring.adoc[]
include::partial$generated/elements/settings/use-host-colors.adoc[]
include::partial$generated/elements/settings/contrast.adoc[]
include::partial$generated/elements/settings/custom-color-rendering.adoc[]
include::partial$generated/elements/settings/color-scheme.adoc[]
== Title bar
include::partial$generated/elements/settings/dim-opacity.adoc[]
== Shortcuts
include::partial$generated/elements/settings/hide-window-when-escape-pressed.adoc[]
@@ -0,0 +1,55 @@
= Title bar
The bar on the top of the app window is the _Title bar_.
It primarily provides general functions, such as window controls, access to settings, and quick access to the REAPER transport.
image::generated/screenshots/elements/area/window-title-bar-0.png[]
include::partial$generated/elements/title-bar/close-window.adoc[]
This has the same effect as pressing xref:helgobox::plug-in/user-interface/menu-bar.adoc#close-app[].
include::partial$generated/elements/title-bar/full-screen.adoc[]
include::partial$generated/elements/title-bar/move-window.adoc[]
include::partial$generated/elements/title-bar/toggle-nav-bar.adoc[]
include::partial$generated/elements/title-bar/theme-mode.adoc[]
include::partial$generated/elements/title-bar/dim.adoc[]
The opacity of the opaque window can be adjusted via xref:app/user-interface/settings-dialog.adoc#settings-dim-opacity[].
include::partial$generated/elements/title-bar/settings.adoc[]
See xref:app/user-interface/settings-dialog.adoc[].
include::partial$generated/elements/title-bar/refresh.adoc[]
include::partial$generated/elements/title-bar/undo.adoc[]
include::partial$generated/elements/title-bar/redo.adoc[]
include::partial$generated/elements/title-bar/theme-switcher.adoc[]
Themes are simply pre-selected combinations of various appearance settings.
Once youve selected a theme, you can further customize it by adjusting the settings.
include::partial$generated/elements/title-bar/panic-midi.adoc[]
include::partial$generated/elements/title-bar/save-project.adoc[]
include::partial$generated/elements/title-bar/play-arrangement.adoc[]
include::partial$generated/elements/title-bar/stop-arrangement.adoc[]
include::partial$generated/elements/title-bar/pause-arrangement.adoc[]
include::partial$generated/elements/title-bar/help.adoc[]
See xref:app/user-interface/help-menu.adoc[].
include::partial$generated/elements/title-bar/helgobox-info.adoc[]
See xref:key-concepts.adoc#instance-id[].