View Source Midiex.MidiNotification (Midiex v0.6.1)
A struct representing notifications of MIDI changes.
This is currently only implemented on MacOS and is capturing added or removed messages only (e.g. a device or port has been added or removed).
An example use of this is for hot swapping of devices, responding to if a device has been added or removed.
The main fields are:
notification_type:which is of type:addedor:removedname:which is the same as the port name used in%Midiex.MidiPort{}direction:which is the same as the port direction used in%Midiex.MidiPort{}.
Additionally, the following fields have been included from coreaudio (MacOS):
parent_name:which may or may not be the same as thename:field aboveparent_type:the 'parent type' reported by coreaudio, often:entityparent_id:the unique numerical ID reported by coreaudio for the parentnative_id:the unique numerical ID reported by coreaudio for the port
  
  example
  
  Example
# KeyStep Pro keyboard has been hot-plugged into the Mac:
%Midiex.MidiNotification{
  notification_type: :added,
  parent_name: "KeyStep Pro",
  parent_id: 1384647386,
  parent_type: :entity,
  name: "KeyStep Pro",
  native_id: 493507367,
  direction: :input
}
%Midiex.MidiNotification{
  notification_type: :added,
  parent_name: "KeyStep Pro",
  parent_id: 1384647386,
  parent_type: :entity,
  name: "KeyStep Pro",
  native_id: 2688501783,
  direction: :output
}
# KeyStep Pro keyboard has been unplugged into the Mac:
%Midiex.MidiNotification{
  notification_type: :removed,
  parent_name: "KeyStep Pro",
  parent_id: 1384647386,
  parent_type: :entity,
  name: "KeyStep Pro",
  native_id: 493507367,
  direction: :input
}
%Midiex.MidiNotification{
  notification_type: :removed,
  parent_name: "KeyStep Pro",
  parent_id: 1384647386,
  parent_type: :entity,
  name: "KeyStep Pro",
  native_id: 2688501783,
  direction: :output
}