xamarin-macios icon indicating copy to clipboard operation
xamarin-macios copied to clipboard

Old CoreMIDI APIs are missing

Open mandel-macaque opened this issue 6 years ago • 4 comments

The following CoreMIDI APIs ere not reported as not bound on Mac OS X. A new change in xtro reports them but we should consider if binding them needs to be done, since some of them are quite low level:

  • !missing-pinvoke! MIDIClientCreateWithBlock is not bound Documentation Versions iOS 9.0+ macOS 10.11+
  • !missing-pinvoke! MIDIDestinationCreateWithBlock is not bound Documentation Versions iOS 9.0+ macOS 10.11+
  • !missing-pinvoke! MIDIDeviceCreate is not bound Documentation Versions iOS 4.2+ macOS 10.0+
  • !missing-pinvoke! MIDIDeviceDispose is not bound Documentation Versions iOS 4.2+ macOS 10.3+
  • !missing-pinvoke! MIDIDeviceRemoveEntity is not bound Documentation Versions iOS 4.2+ macOS 10.1+
  • !missing-pinvoke! MIDIDriverEnableMonitoring is not bound Documentation Versions macOS 10.1+
  • !missing-pinvoke! MIDIEntityAddOrRemoveEndpoints is not bound Documentation Versions iOS 4.2+ macOS 10.2+
  • !missing-pinvoke! MIDIExternalDeviceCreate is not bound Documentation Versions iOS 4.2+ macOS 10.1+
  • !missing-pinvoke! MIDIGetDriverDeviceList is not bound Documentation Versions iOS 4.2+ macOS 10.1+
  • !missing-pinvoke! MIDIGetDriverIORunLoop is not bound Documentation Versions iOS 4.2+ macOS 10.0+
  • !missing-pinvoke! MIDIInputPortCreateWithBlock is not bound Documentation Versions iOS 9.0+ macOS 10.11+
  • !missing-pinvoke! MIDIPacketListAdd is not bound Documentation Versions iOS 4.2+ macOS 10.0+
  • !missing-pinvoke! MIDIPacketListInit is not bound Documentation Versions iOS 4.2+ macOS 10.0+
  • !missing-pinvoke! MIDISendSysex is not bound Documentation Versions iOS 4.2+ macOS 10.0+
  • !missing-pinvoke! MIDISetupAddDevice is not bound Documentation Versions iOS 4.2+ macOS 10.1+
  • !missing-pinvoke! MIDISetupAddExternalDevice is not bound Documentation Versions iOS 4.2+ macOS 10.1+
  • !missing-pinvoke! MIDISetupRemoveDevice is not bound Documentation Versions iOS 4.2+ macOS 10.1+
  • !missing-pinvoke! MIDISetupRemoveExternalDevice is not bound Documentation Versions iOS 4.2+ macOS 10.1+

mandel-macaque avatar Jul 17 '18 10:07 mandel-macaque

New ones that have been added in Xcode 12 beta 2:

  • !missing-pinvoke! MIDIDestinationCreateWithProtocol is not bound Versions iOS 14.0+ macOS 10.16+
  • !missing-pinvoke! MIDIDeviceNewEntity is not bound Versions iOS 14.0+ macOS 10.16+
  • !missing-pinvoke! MIDIEventListAdd is not bound Versions iOS 14.0+ macOS 10.16+
  • !missing-pinvoke! MIDIEventListInit is not bound Versions iOS 14.0+ macOS 10.16+
  • !missing-pinvoke! MIDIInputPortCreateWithProtocol is not bound Versions iOS 14.0+ macOS 10.16+
  • !missing-pinvoke! MIDIReceivedEventList is not bound Versions iOS 14.0+ macOS 10.16+
  • !missing-pinvoke! MIDISendEventList is not bound Versions iOS 14.0+ macOS 10.16+
  • !missing-pinvoke! MIDISourceCreateWithProtocol is not bound Versions iOS 14.0+ macOS 10.16+

mandel-macaque avatar Jul 17 '20 16:07 mandel-macaque

@mandel-macaque some of the newer API should have been bound in xcode12 since they are replacing API that are deprecated - and for which we already have bindings. That does not seem it was the goal of the original issue too...

  • MIDIInputPortCreateWithProtocol -> MIDIInputPortCreate
  • MIDIDeviceNewEntity -> MIDIDeviceAddEntity
  • MIDIReceivedEventList -> MIDIReceived
  • MIDISendEventList -> MIDISend
  • MIDISourceCreateWithProtocol -> MIDISourceCreate

spouliot avatar Sep 29 '20 22:09 spouliot

Will add those to xcode12.2

mandel-macaque avatar Oct 01 '20 20:10 mandel-macaque

Xcode13.3 introduced MIDIEventListForEachEvent that is also low level and cannot be tested without a device so we will not bind for the time being.

  • !missing-pinvoke! MIDIEventListForEachEvent is not bound Documentation Versions iOS 15.0+ macOS 13.0+ tvOS 15.0+ watchOS 8.0+ MacCatalyst 15,0+

tj-devel709 avatar Sep 08 '22 19:09 tj-devel709