Skip to content

Commit 622ffc4

Browse files
authored
[CoreMidi] Move fields to the api definition. (#21043)
1 parent 2868080 commit 622ffc4

File tree

13 files changed

+554
-533
lines changed

13 files changed

+554
-533
lines changed

src/CoreMidi/MidiServices.cs

Lines changed: 345 additions & 290 deletions
Large diffs are not rendered by default.

src/coremidi.cs

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,4 +573,206 @@ interface MidiCIResponder {
573573
void Stop ();
574574
}
575575

576+
[Internal]
577+
enum MidiProperty {
578+
[NoTV, NoWatch]
579+
[Field ("kMIDIPropertyName")]
580+
Name,
581+
582+
[NoTV, NoWatch]
583+
[Field ("kMIDIPropertyManufacturer")]
584+
Manufacturer,
585+
586+
[NoTV, NoWatch]
587+
[Field ("kMIDIPropertyModel")]
588+
Model,
589+
590+
[NoTV, NoWatch]
591+
[Field ("kMIDIPropertyUniqueID")]
592+
UniqueId,
593+
594+
[NoTV, NoWatch]
595+
[Field ("kMIDIPropertyDeviceID")]
596+
DeviceId,
597+
598+
[NoTV, NoWatch]
599+
[Field ("kMIDIPropertyReceiveChannels")]
600+
ReceiveChannels,
601+
602+
[NoTV, NoWatch]
603+
[Field ("kMIDIPropertyTransmitChannels")]
604+
TransmitChannels,
605+
606+
[NoTV, NoWatch]
607+
[Field ("kMIDIPropertyMaxSysExSpeed")]
608+
MaxSysExSpeed,
609+
610+
[NoTV, NoWatch]
611+
[Field ("kMIDIPropertyAdvanceScheduleTimeMuSec")]
612+
AdvanceScheduleTimeMuSec,
613+
614+
[NoTV, NoWatch]
615+
[Field ("kMIDIPropertyIsEmbeddedEntity")]
616+
IsEmbeddedEntity,
617+
618+
[NoTV, NoWatch]
619+
[Field ("kMIDIPropertyIsBroadcast")]
620+
IsBroadcast,
621+
622+
[NoTV, NoWatch]
623+
[Field ("kMIDIPropertySingleRealtimeEntity")]
624+
SingleRealtimeEntity,
625+
626+
[NoTV, NoWatch]
627+
[Field ("kMIDIPropertyConnectionUniqueID")]
628+
ConnectionUniqueId,
629+
630+
[NoTV, NoWatch]
631+
[Field ("kMIDIPropertyOffline")]
632+
Offline,
633+
634+
[NoTV, NoWatch]
635+
[Field ("kMIDIPropertyPrivate")]
636+
Private,
637+
638+
[NoTV, NoWatch]
639+
[Field ("kMIDIPropertyDriverOwner")]
640+
DriverOwner,
641+
642+
[NoiOS, NoTV, NoMacCatalyst, NoWatch]
643+
[Field ("kMIDIPropertyFactoryPatchNameFile")]
644+
FactoryPatchNameFile,
645+
646+
[NoiOS, NoTV, NoMacCatalyst, NoWatch]
647+
[Field ("kMIDIPropertyUserPatchNameFile")]
648+
UserPatchNameFile,
649+
650+
[NoTV, NoWatch]
651+
[Field ("kMIDIPropertyNameConfiguration")]
652+
NameConfiguration,
653+
654+
[NoTV, NoWatch]
655+
[Field ("kMIDIPropertyNameConfigurationDictionary")]
656+
NameConfigurationDictionary,
657+
658+
[NoTV, NoWatch]
659+
[Field ("kMIDIPropertyImage")]
660+
Image,
661+
662+
[NoTV, NoWatch]
663+
[Field ("kMIDIPropertyDriverVersion")]
664+
DriverVersion,
665+
666+
[NoTV, NoWatch]
667+
[Field ("kMIDIPropertySupportsGeneralMIDI")]
668+
SupportsGeneralMidi,
669+
670+
[NoTV, NoWatch]
671+
[Field ("kMIDIPropertySupportsMMC")]
672+
SupportsMmc,
673+
674+
[NoTV, NoWatch]
675+
[Field ("kMIDIPropertyCanRoute")]
676+
CanRoute,
677+
678+
[NoTV, NoWatch]
679+
[Field ("kMIDIPropertyReceivesClock")]
680+
ReceivesClock,
681+
682+
[NoTV, NoWatch]
683+
[Field ("kMIDIPropertyReceivesMTC")]
684+
ReceivesMtc,
685+
686+
[NoTV, NoWatch]
687+
[Field ("kMIDIPropertyReceivesNotes")]
688+
ReceivesNotes,
689+
690+
[NoTV, NoWatch]
691+
[Field ("kMIDIPropertyReceivesProgramChanges")]
692+
ReceivesProgramChanges,
693+
694+
[NoTV, NoWatch]
695+
[Field ("kMIDIPropertyReceivesBankSelectMSB")]
696+
ReceivesBankSelectMsb,
697+
698+
[NoTV, NoWatch]
699+
[Field ("kMIDIPropertyReceivesBankSelectLSB")]
700+
ReceivesBankSelectLsb,
701+
702+
[NoTV, NoWatch]
703+
[Field ("kMIDIPropertyTransmitsClock")]
704+
TransmitsClock,
705+
706+
[NoTV, NoWatch]
707+
[Field ("kMIDIPropertyTransmitsMTC")]
708+
TransmitsMtc,
709+
710+
[NoTV, NoWatch]
711+
[Field ("kMIDIPropertyTransmitsNotes")]
712+
TransmitsNotes,
713+
714+
[NoTV, NoWatch]
715+
[Field ("kMIDIPropertyTransmitsProgramChanges")]
716+
TransmitsProgramChanges,
717+
718+
[NoTV, NoWatch]
719+
[Field ("kMIDIPropertyTransmitsBankSelectMSB")]
720+
TransmitsBankSelectMsb,
721+
722+
[NoTV, NoWatch]
723+
[Field ("kMIDIPropertyTransmitsBankSelectLSB")]
724+
TransmitsBankSelectLsb,
725+
726+
[NoTV, NoWatch]
727+
[Field ("kMIDIPropertyPanDisruptsStereo")]
728+
PanDisruptsStereo,
729+
730+
[NoTV, NoWatch]
731+
[Field ("kMIDIPropertyIsSampler")]
732+
IsSampler,
733+
734+
[NoTV, NoWatch]
735+
[Field ("kMIDIPropertyIsDrumMachine")]
736+
IsDrumMachine,
737+
738+
[NoTV, NoWatch]
739+
[Field ("kMIDIPropertyIsMixer")]
740+
IsMixer,
741+
742+
[NoTV, NoWatch]
743+
[Field ("kMIDIPropertyIsEffectUnit")]
744+
IsEffectUnit,
745+
746+
[NoTV, NoWatch]
747+
[Field ("kMIDIPropertyMaxReceiveChannels")]
748+
MaxReceiveChannels,
749+
750+
[NoTV, NoWatch]
751+
[Field ("kMIDIPropertyMaxTransmitChannels")]
752+
MaxTransmitChannels,
753+
754+
[NoTV, NoWatch]
755+
[Field ("kMIDIPropertyDriverDeviceEditorApp")]
756+
DriverDeviceEditorApp,
757+
758+
[NoTV, NoWatch]
759+
[Field ("kMIDIPropertySupportsShowControl")]
760+
SupportsShowControl,
761+
762+
[NoTV, NoWatch]
763+
[Field ("kMIDIPropertyDisplayName")]
764+
DisplayName,
765+
766+
[NoTV, NoWatch]
767+
[Field ("kMIDIPropertyProtocolID")]
768+
ProtocolId,
769+
770+
[Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0), NoTV, NoWatch]
771+
[Field ("kMIDIPropertyUMPActiveGroupBitmap")]
772+
UmpActiveGroupBitmap,
773+
774+
[Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0), NoTV, NoWatch]
775+
[Field ("kMIDIPropertyUMPCanTransmitGroupless")]
776+
UmpCanTransmitGroupless,
777+
}
576778
}

tests/cecil-tests/Documentation.KnownFailures.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62274,7 +62274,6 @@ P:CoreMidi.MidiDevice.DriverDeviceEditorApp
6227462274
P:CoreMidi.MidiDevice.DriverOwner
6227562275
P:CoreMidi.MidiDevice.DriverVersion
6227662276
P:CoreMidi.MidiDevice.EntityCount
62277-
P:CoreMidi.MidiDevice.FactoryPatchNameFile
6227862277
P:CoreMidi.MidiDevice.Image
6227962278
P:CoreMidi.MidiDevice.IsDrumMachine
6228062279
P:CoreMidi.MidiDevice.IsEffectUnit
@@ -62292,6 +62291,7 @@ P:CoreMidi.MidiDevice.NameConfigurationDictionary
6229262291
P:CoreMidi.MidiDevice.Offline
6229362292
P:CoreMidi.MidiDevice.PanDisruptsStereo
6229462293
P:CoreMidi.MidiDevice.Private
62294+
P:CoreMidi.MidiDevice.ProtocolId
6229562295
P:CoreMidi.MidiDevice.ReceivesBankSelectLSB
6229662296
P:CoreMidi.MidiDevice.ReceivesBankSelectMSB
6229762297
P:CoreMidi.MidiDevice.ReceivesClock
@@ -62309,7 +62309,6 @@ P:CoreMidi.MidiDevice.TransmitsMTC
6230962309
P:CoreMidi.MidiDevice.TransmitsNotes
6231062310
P:CoreMidi.MidiDevice.TransmitsProgramChanges
6231162311
P:CoreMidi.MidiDevice.UniqueID
62312-
P:CoreMidi.MidiDevice.UserPatchNameFile
6231362312
P:CoreMidi.MidiDevice.UsesSerial
6231462313
P:CoreMidi.MidiEndpoint.AdvanceScheduleTimeMuSec
6231562314
P:CoreMidi.MidiEndpoint.ConnectionUniqueIDData
@@ -62327,8 +62326,11 @@ P:CoreMidi.MidiEndpoint.Name
6232762326
P:CoreMidi.MidiEndpoint.NameConfiguration
6232862327
P:CoreMidi.MidiEndpoint.Offline
6232962328
P:CoreMidi.MidiEndpoint.Private
62329+
P:CoreMidi.MidiEndpoint.ProtocolId
6233062330
P:CoreMidi.MidiEndpoint.ReceiveChannels
6233162331
P:CoreMidi.MidiEndpoint.TransmitChannels
62332+
P:CoreMidi.MidiEndpoint.UmpActiveGroupBitmap
62333+
P:CoreMidi.MidiEndpoint.UmpCanTransmitGroupless
6233262334
P:CoreMidi.MidiEntity.AdvanceScheduleTimeMuSec
6233362335
P:CoreMidi.MidiEntity.CanRoute
6233462336
P:CoreMidi.MidiEntity.ConnectionUniqueIDData
@@ -62354,6 +62356,7 @@ P:CoreMidi.MidiEntity.NameConfiguration
6235462356
P:CoreMidi.MidiEntity.Offline
6235562357
P:CoreMidi.MidiEntity.PanDisruptsStereo
6235662358
P:CoreMidi.MidiEntity.Private
62359+
P:CoreMidi.MidiEntity.ProtocolId
6235762360
P:CoreMidi.MidiEntity.ReceivesBankSelectLSB
6235862361
P:CoreMidi.MidiEntity.ReceivesBankSelectMSB
6235962362
P:CoreMidi.MidiEntity.ReceivesClock
@@ -62370,6 +62373,8 @@ P:CoreMidi.MidiEntity.TransmitsClock
6237062373
P:CoreMidi.MidiEntity.TransmitsMTC
6237162374
P:CoreMidi.MidiEntity.TransmitsNotes
6237262375
P:CoreMidi.MidiEntity.TransmitsProgramChanges
62376+
P:CoreMidi.MidiEntity.UmpActiveGroupBitmap
62377+
P:CoreMidi.MidiEntity.UmpCanTransmitGroupless
6237362378
P:CoreMidi.MidiException.ErrorCode
6237462379
P:CoreMidi.MidiNetworkConnection.Host
6237562380
P:CoreMidi.MidiNetworkHost.Address

tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-CoreMIDI.ignore

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,3 @@
1-
# manually added in MidiServices.cs (not bindings)
2-
!missing-field! kMIDIPropertyAdvanceScheduleTimeMuSec not bound
3-
!missing-field! kMIDIPropertyCanRoute not bound
4-
!missing-field! kMIDIPropertyConnectionUniqueID not bound
5-
!missing-field! kMIDIPropertyDeviceID not bound
6-
!missing-field! kMIDIPropertyDisplayName not bound
7-
!missing-field! kMIDIPropertyDriverDeviceEditorApp not bound
8-
!missing-field! kMIDIPropertyDriverOwner not bound
9-
!missing-field! kMIDIPropertyDriverVersion not bound
10-
!missing-field! kMIDIPropertyImage not bound
11-
!missing-field! kMIDIPropertyIsBroadcast not bound
12-
!missing-field! kMIDIPropertyIsDrumMachine not bound
13-
!missing-field! kMIDIPropertyIsEffectUnit not bound
14-
!missing-field! kMIDIPropertyIsEmbeddedEntity not bound
15-
!missing-field! kMIDIPropertyIsMixer not bound
16-
!missing-field! kMIDIPropertyIsSampler not bound
17-
!missing-field! kMIDIPropertyManufacturer not bound
18-
!missing-field! kMIDIPropertyMaxReceiveChannels not bound
19-
!missing-field! kMIDIPropertyMaxSysExSpeed not bound
20-
!missing-field! kMIDIPropertyMaxTransmitChannels not bound
21-
!missing-field! kMIDIPropertyModel not bound
22-
!missing-field! kMIDIPropertyName not bound
23-
!missing-field! kMIDIPropertyOffline not bound
24-
!missing-field! kMIDIPropertyPanDisruptsStereo not bound
25-
!missing-field! kMIDIPropertyPrivate not bound
26-
!missing-field! kMIDIPropertyReceiveChannels not bound
27-
!missing-field! kMIDIPropertyReceivesBankSelectLSB not bound
28-
!missing-field! kMIDIPropertyReceivesBankSelectMSB not bound
29-
!missing-field! kMIDIPropertyReceivesClock not bound
30-
!missing-field! kMIDIPropertyReceivesMTC not bound
31-
!missing-field! kMIDIPropertyReceivesNotes not bound
32-
!missing-field! kMIDIPropertyReceivesProgramChanges not bound
33-
!missing-field! kMIDIPropertySingleRealtimeEntity not bound
34-
!missing-field! kMIDIPropertySupportsGeneralMIDI not bound
35-
!missing-field! kMIDIPropertySupportsMMC not bound
36-
!missing-field! kMIDIPropertySupportsShowControl not bound
37-
!missing-field! kMIDIPropertyTransmitChannels not bound
38-
!missing-field! kMIDIPropertyTransmitsBankSelectLSB not bound
39-
!missing-field! kMIDIPropertyTransmitsBankSelectMSB not bound
40-
!missing-field! kMIDIPropertyTransmitsClock not bound
41-
!missing-field! kMIDIPropertyTransmitsMTC not bound
42-
!missing-field! kMIDIPropertyTransmitsNotes not bound
43-
!missing-field! kMIDIPropertyTransmitsProgramChanges not bound
44-
!missing-field! kMIDIPropertyUniqueID not bound
45-
!missing-field! kMIDIPropertyNameConfigurationDictionary not bound
46-
!missing-field! kMIDIPropertyProtocolID not bound
47-
481
# no known use
492
!missing-pinvoke! MIDIEndpointGetRefCons is not bound
503
!missing-pinvoke! MIDIEndpointSetRefCons is not bound
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
!missing-pinvoke! MIDIEventListForEachEvent is not bound
2-
!missing-field! kMIDIPropertyUMPActiveGroupBitmap not bound
3-
!missing-field! kMIDIPropertyUMPCanTransmitGroupless not bound
42
!missing-pinvoke! MIDIEventPacketSysexBytesForGroup is not bound
53
!missing-pinvoke! MIDISendUMPSysex is not bound
64
!missing-pinvoke! MIDISendUMPSysex8 is not bound

tests/xtro-sharpie/api-annotations-dotnet/iOS-CoreMIDI.ignore

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,3 @@
1-
# manually added in MidiServices.cs (not bindings)
2-
!missing-field! kMIDIPropertyAdvanceScheduleTimeMuSec not bound
3-
!missing-field! kMIDIPropertyCanRoute not bound
4-
!missing-field! kMIDIPropertyConnectionUniqueID not bound
5-
!missing-field! kMIDIPropertyDeviceID not bound
6-
!missing-field! kMIDIPropertyDisplayName not bound
7-
!missing-field! kMIDIPropertyDriverDeviceEditorApp not bound
8-
!missing-field! kMIDIPropertyDriverOwner not bound
9-
!missing-field! kMIDIPropertyDriverVersion not bound
10-
!missing-field! kMIDIPropertyImage not bound
11-
!missing-field! kMIDIPropertyIsBroadcast not bound
12-
!missing-field! kMIDIPropertyIsDrumMachine not bound
13-
!missing-field! kMIDIPropertyIsEffectUnit not bound
14-
!missing-field! kMIDIPropertyIsEmbeddedEntity not bound
15-
!missing-field! kMIDIPropertyIsMixer not bound
16-
!missing-field! kMIDIPropertyIsSampler not bound
17-
!missing-field! kMIDIPropertyManufacturer not bound
18-
!missing-field! kMIDIPropertyMaxReceiveChannels not bound
19-
!missing-field! kMIDIPropertyMaxSysExSpeed not bound
20-
!missing-field! kMIDIPropertyMaxTransmitChannels not bound
21-
!missing-field! kMIDIPropertyModel not bound
22-
!missing-field! kMIDIPropertyName not bound
23-
!missing-field! kMIDIPropertyOffline not bound
24-
!missing-field! kMIDIPropertyPanDisruptsStereo not bound
25-
!missing-field! kMIDIPropertyPrivate not bound
26-
!missing-field! kMIDIPropertyReceiveChannels not bound
27-
!missing-field! kMIDIPropertyReceivesBankSelectLSB not bound
28-
!missing-field! kMIDIPropertyReceivesBankSelectMSB not bound
29-
!missing-field! kMIDIPropertyReceivesClock not bound
30-
!missing-field! kMIDIPropertyReceivesMTC not bound
31-
!missing-field! kMIDIPropertyReceivesNotes not bound
32-
!missing-field! kMIDIPropertyReceivesProgramChanges not bound
33-
!missing-field! kMIDIPropertySingleRealtimeEntity not bound
34-
!missing-field! kMIDIPropertySupportsGeneralMIDI not bound
35-
!missing-field! kMIDIPropertySupportsMMC not bound
36-
!missing-field! kMIDIPropertySupportsShowControl not bound
37-
!missing-field! kMIDIPropertyTransmitChannels not bound
38-
!missing-field! kMIDIPropertyTransmitsBankSelectLSB not bound
39-
!missing-field! kMIDIPropertyTransmitsBankSelectMSB not bound
40-
!missing-field! kMIDIPropertyTransmitsClock not bound
41-
!missing-field! kMIDIPropertyTransmitsMTC not bound
42-
!missing-field! kMIDIPropertyTransmitsNotes not bound
43-
!missing-field! kMIDIPropertyTransmitsProgramChanges not bound
44-
!missing-field! kMIDIPropertyUniqueID not bound
45-
!missing-field! kMIDIPropertyNameConfigurationDictionary not bound
46-
!missing-field! kMIDIPropertyProtocolID not bound
47-
481
# no known use
492
!missing-pinvoke! MIDIEndpointGetRefCons is not bound
503
!missing-pinvoke! MIDIEndpointSetRefCons is not bound
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
!missing-pinvoke! MIDIEventListForEachEvent is not bound
2-
!missing-field! kMIDIPropertyUMPActiveGroupBitmap not bound
3-
!missing-field! kMIDIPropertyUMPCanTransmitGroupless not bound
42
!missing-pinvoke! MIDIEventPacketSysexBytesForGroup is not bound
53
!missing-pinvoke! MIDISendUMPSysex is not bound
64
!missing-pinvoke! MIDISendUMPSysex8 is not bound

0 commit comments

Comments
 (0)