-
-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Labels
π© refinementAn enhancement to an existing featureAn enhancement to an existing featureπΉ i/oMIDIKit I/OMIDIKit I/O
Milestone
Description
General
-
MIDIManager: Add remaining accessors for things like Core MIDI ExternalDevices, etc. -
MIDIIOObjectProtocol: Add remainingset...()property methods (counterparts toget...()property methods) - New method to send multiple
MIDIEventPacketin a singleMIDIEventList(similar to existingMIDIPacketListmethod) - Formalize
ReceivesMIDIEventsandSendsMIDIEventsprotocols and how they are used internally.
When usingevents: [MIDIEvent]variations of send or receive, I/O should attempt to pack all events into a singleMIDIPacketList/MIDIEventList -
getConnectionUniqueID()can beInt32orCFData- see Core MIDI docs:The value provided may be an integer. To indicate that a driver connects to multiple external objects, pass the array of big-endian SInt32 values as a CFData object.
- MIDI thru connections: add transforms that exist in Core MIDI to thru params
Legacy (non-UMP MIDI 1.0)
- Multi-packet chunking of legacy MIDI 1.0 SysEx messages
- Add
compoundEventParsing: Boolproperty toMIDI1Parserthat buffers received events that match certain RPN, NRPN messages and return compound events (ie:.rpn()instead of a series of.cc()events) upon receipt of all messages that comprise the compound event.
Done
- Carry MIDI packet timestamp through to
MIDIEventconsumers? (ReceivesMIDIEventsprotocol) Or at least provide it in the receive handler. - MIDI non-persistent thru connections:
- do they need to be reconnected (refreshed) when a received MIDI notification indicates setup has changed or things were added/removed in the Core MIDI subsystem? or does Core MIDI handle some of that autonomously?
- what happens when ports involved disappear and reappear in the system? Do we need to worry about a refreshConnections(in:) method like with the inputs and outputs?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
π© refinementAn enhancement to an existing featureAn enhancement to an existing featureπΉ i/oMIDIKit I/OMIDIKit I/O