Mac 版 Logic Pro 中的脚本编辑器 HandleMIDI 函数

HandleMIDI() 函数可让你处理插件接收的 MIDI 事件。插件每次接收到 MIDI 事件都要调用 HandleMIDI,HandleMIDI 是处理传入的 MIDI 事件的必须函数。如果你没有执行 HandleMIDI 函数,那么事件将原样通过插件。

HandleMIDI 与一个自变量一起调用,该自变量是表示传入的 MIDI 事件的 JavaScript 对象。以下示例显示了 HandleMIDI 和 JavaScript Event 对象的使用。

载入相应的 Tutorial 设置以在脚本编辑器中查看脚本。这有助于你理解语法结构以及代码和注释的布局。请参阅使用脚本编辑器

Tutorial 脚本 1:简单通过

让 MIDI 事件通过插件。

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

Tutorial 脚本 2:追踪事件

将事件存入插件控制台并且不将其发送到任何地方。

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

Tutorial 脚本 3:移调和延迟

重复一个八度音程带有 100ms 延迟的音符,并让所有其他事件通过。

“/*”之后的文本显示解释 JavaScript 代码的注释。

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 脚本 4:微调音符音高

按音分(半音的 1/100)值上下调整事件上的所有音符。范围从 -100 音分到 +100 音分。

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.
有帮助?
字符限制: 250
最多 250 个字符。
感谢您的反馈。
Morty Proxy This is a proxified and sanitized view of the page, visit original site.