Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Automation

File: Rhapsodist/Core/Includes/Automation.js · Namespace: Automation

Overview

Automation builds the Automation tab of the Settings window: MIDI CC and Macro assignment (via HISE’s own MidiLearnPanel/FrontendMacroPanel), plus an MPE assignment table if the module tree contains any MPEModulators.

There’s no public API; an expansion benefits from this automatically once Core.js is included.

The MPE table lists every currently MPE-connected, non-bypassed MPEModulator (Parameter, Gesture, Mode, Intensity); edits write straight back to the modulator’s attributes.

Automation also registers 32 frontend macros (“Macro 1”..“Macro 32”) unconditionally at load.

Usage

Automation runs automatically once Core.js is included, no project code needs to call anything here. Add an MPEModulator to the module tree and it appears in the MPE tab on its own.

Internal Reference

FunctionDescriptionReturns
getMpeModFromParameterId(id: string)Returns the MPEModulator with the given ID from mpeMods.—
populateMpeTable()Rebuilds mpeTableData from the MPE-connected, non-bypassed modulators in mpeMods and pushes it to vptMpe.—
getMpeModulators()Scans all modulators for MPEModulators, populates mpeMods, and shows/hides the MPE tab on pnlAutomation accordingly.—
getMpeMode(modulator: ScriptObject)Reads a modulator’s Monophonic/Retrigger attributes and returns the corresponding mode index (Polyphonic, Legato, Retrigger).number
setMpeMode(modulator: ScriptObject, mode: number)Sets a modulator’s Monophonic/Retrigger attributes for the given mode index.—
registerMacros()Calls Engine.setFrontendMacros() with the 32 fixed macro names.—

Broadcasters

BroadcasterDescription
bcMpeBypassWatcherFires when the Enabled attribute changes on an MPE-connected modulator. Rebuilds the MPE table via populateMpeTable(). getMpeModulators() attaches it to the current set of MPEModulators, or bypasses it entirely when there are none.