This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
trigger:MIDI [2017/11/06 01:26] peternlewis [Controller Change] |
trigger:MIDI [2021/02/19 04:22] peternlewis |
||
---|---|---|---|
Line 3: | Line 3: | ||
You can trigger on specific notes, specific controller changes (v8+), or on any raw MIDI packet (v8+). | You can trigger on specific notes, specific controller changes (v8+), or on any raw MIDI packet (v8+). | ||
- | If the *Allow Recording* checkbox is on, and the note field has the text focus, and you press a MIDI note, then Keyboard Maestro will set the fields to the correct value for you; similarly for the controller field or the raw packet fields. | + | If the *Allow Recording* (*MIDI Learn*) checkbox is on, and the note field has the text focus, and you press a MIDI note, then Keyboard Maestro will set the fields to the correct value for you; similarly for the controller field or the raw packet fields. |
====== Notes ======= | ====== Notes ======= | ||
Line 11: | Line 11: | ||
You can configure the trigger to execute the macro when the note is received from a particular device, from a particular channel or from any device or channel. | You can configure the trigger to execute the macro when the note is received from a particular device, from a particular channel or from any device or channel. | ||
- | The [[token:TriggerValue|%TriggerValue%]] token will hold `channel,note,velocity,device` for press and release (just the velocity was included prior to version 8.0). | + | The [[token:TriggerValue|%TriggerValue%]] token will hold `channel,note,velocity,device` for press and release (just the velocity was included prior to version 8.0). You can easily access the individual parts using the token array notation, eg `%TriggerValue[2]%` will be the controller (8.0.4+). |
====== Controller Change ======= | ====== Controller Change ======= | ||
Line 36: | Line 36: | ||
You can configure the trigger to execute the macro when the controller change is received from a particular device, from a particular channel or from any device or channel. | You can configure the trigger to execute the macro when the controller change is received from a particular device, from a particular channel or from any device or channel. | ||
- | The [[token:TriggerValue|%TriggerValue%]] token will hold `channel,controller,value,device`. | + | The [[token:TriggerValue|%TriggerValue%]] token will hold `channel,controller,value,device`. You can easily access the individual parts using the token array notation, eg `%TriggerValue[2]%` will be the controller (8.0.4+). |
====== Raw Packet ======= | ====== Raw Packet ======= | ||
Line 43: | Line 44: | ||
This should allow you to capture things like SysEx and HUI protocol packets and the like. | This should allow you to capture things like SysEx and HUI protocol packets and the like. | ||
- | The [[token:TriggerValue|%TriggerValue%]] token will the space-separated hex values representing the packet. | + | The [[token:TriggerValue|%TriggerValue%]] token will the space-separated hex values representing the packet. You can easily access the individual parts using the token array notation, eg `%TriggerValue[3] %` will be the third value (8.0.4+) — note the `[space]` in `][space]%`, the space is the separator for the array, instead of the default comma. |