I wouldn't insist on being 100% sure of my result...
But it's safe to say that KM is releasing a raw MIDI-data message to core MIDI as a "broadcast" network (exept proper SysEx! for example: a banal ASCII-string on LCD "hello" F0 00 00 66 10 12 00 48 65 6C 6C 6F F7- KM is unable to successfully send). And only the "elite" soft-environment of the computer can use it, which, either by default or by directive, can assign themselves listening to the KM port. But for "stupid" controllers, patch-bay or tone generators with "control surface" functions - these "signals from space" core MIDI are unfortunately not available! For they are controlled by proprietary drivers and there is no way to modify them... and the MIDI policy itself is organized not to interfere in the internal affairs of developers... but only as a traffic controller.
But my experience and intuition did not disappoint me:
Sorry, but all of that's wrong or still not completely understood.
Once more: You're not sending an "encapsulated" Note On. You're sending an incomplete SysEx block followed by a Note On and an illegal character. All receivers ignore the incomplete SysEx block, process the Note On and ignore the illegal character (if they receive on the Keyboard Maestro MIDI port).
Compare that to sending just a Note On directly: All receivers process the Note On (if they receive on the Keyboard Maestro MIDI port).
That's 100% the same behavior as far as the results go.
"start" sysex you probably mean sysex transfer. i know that with an app like Logic Pro, if you are recording MIDI on a MIDI track, you simply send it sysex packets and it will record them.
KM responds to MIDI triggers: note, controller, packet. in order to receive MIDI sysex in KM, you'll need to 'listen for' the packet you want
see Audio MIDI Setup ... all CoreMIDI (Apple's own MIDI manager) options are available within KM. note also that you can change the names of devices in Audio MIDI Setup and this will helpfully be reflected in KM.
incoming MIDI notes/controllers/packets can arrive from a DAW or keyboard to KM and trigger things.
on the outgoing side, your Actions/MIDI are:
Send MIDI Note On
Send MIDI Note Off
Send MIDI Control Change
Send MIDI Packet
..... use these to send MIDI out of KM to anything defined in Audio MIDI Setup (coreMIDI), (including Network MIDI).
to play a key on your keyboard and use KM as a rerouter/rechannelizer - you'll likely not have the performance timing you're looking for: you'd need to set up a MIDI note trigger, figure out how to capture which note/channel, and resend out using Actions. probably not what you want and there are other MIDI utilities for this.
"rotation": Audio MIDI Setup (CoreMIDI) is the software which runs between MIDI aspects of macOS and your defined attached MIDI interfaces, keyboards etc.
example of what i think you're after:
hit a key on Maschine, send sysex packet to Bass Station would look like:
macro in a macro group is set up with a MIDI trigger:
[define note] is pressed; on [define channel]; from [Maschine]
(note: MIDI Learn feature)
triggers..... Will execute the following actions:
Send MIDI Packet (channel and device here are unclear to me - do they follow from the trigger channel and device??) / Send raw packet
... from here you will understand the features and limitations available.
Hi @renton
it is very difficult to follow your comments without reference to the original source ...
but I will try to disappoint you with one task described above:
Try sending a ASCII-message to an external MIDI device with multiple input ports: "Hello word" or as 72 101 108 108 111 32 119 111 114 100 33 form of a KM Sysex message and you will understand that it will not be delivered! If you do not provide a "gasket" for KM in the form of other applications to rotation of the message to the desired device port.
I'm not interested in techniques for receiving and processing MIDI events using KM. (There are free specialized programs for this, for example, Send MIDI, MIDI pipe, and so on).
I was hoping to use KM's ability to read GUI events and translate them into raw MIDI messages with the correct external device port assigned.
But apparently neither one nor the other way to explain GUI-source triggering and targeting to MIDI devices was found by forum users.