Verwenden der beatPos-Eigenschaft des MIDI-Events

Jedes MIDI-Event im Scripter verfügt über die Eigenschaft „beatPos“, die die exakte Taktposition des Events transportiert. Hierdurch ist ein exakteres Event-Timing möglich und Loops werden korrekt verarbeitet. Diese Eigenschaft kann anstelle von timingInfo.blockStartBeat verwendet werden. Weitere Informationen findest du unter Verwenden des JavaScript TimingInfo-Objekts.

Hinweis: Diese Eigenschaft funktioniert nur, wenn "var NeedsTimingInfo = true" angegeben ist. Andernfalls hat sie den Wert 0 und gibt bei Änderung eine Warnung aus.

  • In Logic Progib die folgenden Zeilen im Fenster des Script Editors ein (beide führen zum selben Ergebnis):

    event.send()event.sendAtBeat(event.beatPos)
  • Alternativ kannst du eine der folgenden Zeilen im Fenster des Skripteditors verwenden (beide führen zum selben Ergebnis):

    event.beatpos += 1; event.send()event.sendAtBeat(event.beatPos + 1)

Verwendungsbeispiel für die beatPos-Eigenschaft

Du kannst die beatPos-Eigenschaft verwenden, um ein MIDI-Event an einer bestimmten Taktposition zu senden. Im folgenden Beispiel wird ein Note-Off-Event einen Takt später als die Taktposition der zugehörigen Note im Event gesendet.

Hinweis: Du kannst die Methode „event.sendAtBeat(pos)“ verwenden, um ein Event an einer bestimmten Taktposition zu senden. Der Vorteil bei der Verwendung der beatPos-Eigenschaft ist, dass du ein Event nicht tatsächlich senden musst. Du kannst stattdessen die Eigenschaft verwenden, um die exakte Taktposition des Events zu erhalten.

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

var NeedsTimingInfo = true; /* needed to make beatPos work */function HandleMIDI(event) {var on = new NoteOn; /* make a new note on */on.pitch = 60; /* set its pitch to C3 */on.beatPos = event.beatPos; /* copy beat position from incoming event */on.send(); /* send the note on */var off = new NoteOff(on); /* make a note off using the note on to initialize its pitch value to C3 */ /* note that the beatPos does not get copied here */off.beatPos = on.BeatPos+1; /* set the beat position of the note off event */off.send(); /* send the note off event */}

Handbücher zum Download:

Logic Pro – Benutzerhandbuch: Apple Books

Logic Pro – Instrumente: Apple Books

Logic Pro – Effekte: Apple Books

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.