Funktion „Scripter HandleMIDI“ in Logic Pro für Mac

Die Funktion HandleMIDI() ermöglicht die Verarbeitung von MIDI-Events, die das Plug-in empfängt. HandleMIDI wird jedes Mal aufgerufen, wenn ein MIDI-Event durch das Plug-in empfangen wird. Es wird zudem für die Verarbeitung eingehender MIDI-Events benötigt. Wird HandleMIDI nicht implementiert, werden Events unbearbeitet durch das Plug-in durchgereicht.

HandleMIDI wird mit einem Argument aufgerufen. Dabei handelt es sich um ein JavaScript-Objekt, das das eingehende MIDI-Event repräsentiert. Die Verwendung von Event-Objekten in HandleMIDI und JavaScript soll anhand der nachfolgenden Beispiele veranschaulicht werden.

Lade die entsprechende Tutorial-Einstellung, um das Skript im Skripteditor anzuzeigen. Dies erleichtert das Verständnis der Syntaxstruktur und des Layouts von Code und Kommentaren. Weitere Informationen findest du unter Script Editor verwenden.

Tutorial-Skript 1: Simple Pass Through

MIDI-Events durch das Plug-in durchreichen.

function HandleMIDI(event) {event.send();}

Tutorial-Skript 2: Trace Events

Events in Plug-in-Konsole protokollieren, jedoch nicht aussenden.

function HandleMIDI(event) {event.trace();}

Tutorial-Skript 3: Transpose and Delay

Noten um eine Oktave transponiert und mit einer Verzögerung von 100 Millisekunden wiederholen und alle anderen Events durchreichen.

Text nach „/*“ zeigt Kommentare an, die den JavaScript-Code erklären.

function HandleMIDI(event) {event.send(); /* send original event */if (event instanceof Note) { /* if it is a note */event.pitch += 12; /* transpose up one octave */event.sendAfterMilliseconds(100); /* send after delay */ }}

Tutorial-Skript 4: Detune Note Pitch

Stimme alle Noten in Events um Cent-Werte (1/100 eines Halbtons) nach oben oder unten. Der Bereich liegt zwischen -100 und +100 Cents.

function HandleMIDI(event) {if (event instanceof NoteOn) { /* if it's a note on */event.detune = GetParameter("Detune") /* retrieve detune parameter value from var PluginParameters */}event.send(); /* send detune value */}var PluginParameters = [{name:"Detune", type:"lin", numberOfSteps:200, minValue:-100.0, maxValue: 100.0, defaultValue:0}];/* create a linear parameter called "Detune" with a range of -100 to 100, and a default value of 0 */
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
Hilfreich?
Zeichenbeschränkung: 250
Die maximal zulässige Anzahl von Zeichen beträgt 250.
Vielen Dank für Ihre Rückmeldung.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.