ReadonlydisplayThe device's user-facing display name. Falls back to name if unavailable.
ReadonlyidentifierA unique identifier for this device object.
ReadonlyisWhether the device is currently online (connected).
ReadonlyisWhether this is a virtual source (created via hs.midi.virtualSourceNamed())
rather than a physical device.
ReadonlymanufacturerThe device's manufacturer name, or an empty string if unavailable.
ReadonlymodelThe device's model name, or an empty string if unavailable.
ReadonlynameThe device's raw name.
Stops receiving from and releases all resources held by this device object. Called automatically when Hammerspoon reloads.
Sends a MIDI Identity Request. The device's reply, if any, arrives via the
callback set with setCallback() as a systemExclusive message.
Sends a MIDI command to the device.
The command type string
A table of command-specific fields
true if the command was sent, false if the device has no
Sends a System Exclusive command to the device.
A hex string (whitespace ignored), e.g. "F0 7E 7F 06 01 F7"
Sets or removes the callback fired when a MIDI message is received.
The callback receives five arguments: this device object, the device's name,
the command type as a string (e.g. "noteOn", "controlChange",
"systemExclusive" — see hs.midi.commandTypes for the full set), a
human-readable description, and a metadata table of command-specific fields.
when released, but some send noteOn with velocity 0 instead of noteOff.
The function to call on each received message, or null to remove it
This device object, for chaining
A MIDI device or virtual source, created via
hs.midi.deviceNamed()orhs.midi.virtualSourceNamed().