Skip to content

CoreMIDI tvOS xcode16.0 b2

Rolf Bjarne Kvinge edited this page Jul 11, 2024 · 3 revisions

#CoreMIDI.framework https://github.com/xamarin/xamarin-macios/pull/20882

diff -ruN /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDICIDevice.h /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDICIDevice.h
--- /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDICIDevice.h	2024-05-30 10:34:48
+++ /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDICIDevice.h	2024-06-12 20:35:24
@@ -71,7 +71,7 @@
 	@discussion	The client instance MIDICIDeviceManager maintains a list of discovered CI devices.
 				MIDICIDevice objects are not constructible via API.
 */
-MIDIUMP1_1
+MIDI_AVAILABLE_UMP1_1
 @interface MIDICIDevice : NSObject
 
 /// @property   deviceInfo
diff -ruN /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDICIDeviceManager.h /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDICIDeviceManager.h
--- /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDICIDeviceManager.h	2024-05-30 02:32:41
+++ /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDICIDeviceManager.h	2024-06-12 20:40:59
@@ -57,7 +57,7 @@
 	@discussion		The userInfo dictionary will contain a MIDICIDeviceObjectKey with the
 					MIDI-CI Device which has been added to the subsystem.
 */
-OS_EXPORT NSNotificationName const MIDICIDeviceWasAddedNotification MIDIUMP1_1;
+OS_EXPORT NSNotificationName const MIDICIDeviceWasAddedNotification MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDICIDeviceManager.deviceWasAddedNotification);
 
 /*!
 	@constant		MIDICIDeviceWasRemovedNotification
@@ -67,17 +67,17 @@
 					will be removed. The userInfo dictionary will contain a MIDICIDeviceObjectKey with the
 					MIDI-CI Device which has been removed or has had its MUID invalidated.
 */
-OS_EXPORT NSNotificationName const MIDICIDeviceWasRemovedNotification MIDIUMP1_1;
+OS_EXPORT NSNotificationName const MIDICIDeviceWasRemovedNotification MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDICIDeviceManager.deviceWasRemovedNotification);
 
 /*!
-	@constant		MIDICIProfileStateChangedNotification
-	@brief			A notification posted when a MIDI-CI Device has been enabled/disabled.
+	@constant		MIDICIProfileWasUpdatedNotification
+	@brief			A notification posted when a MIDI-CI Device has been enabled/disabled or updated.
 
 	@discussion		The userInfo dictionary will contain a MIDICIDeviceObjectKey and
 					MIDICIProfileObjectKey with the MIDICIDevice and MIDI-CI Profile which
 					was recently enabled or disabled.
 */
-OS_EXPORT NSNotificationName const MIDICIProfileStateChangedNotification MIDIUMP1_1;
+OS_EXPORT NSNotificationName const MIDICIProfileWasUpdatedNotification MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDICIDeviceManager.profileWasUpdatedNotification);
 
 /*!
 	@constant		MIDICIProfileWasRemovedNotification
@@ -87,21 +87,23 @@
 					MIDICIProfileObjectKey with the MIDICIDevice and MIDI-CI Profile which
 					has been removed.
 */
-OS_EXPORT NSNotificationName const MIDICIProfileWasRemovedNotification MIDIUMP1_1;
+OS_EXPORT NSNotificationName const MIDICIProfileWasRemovedNotification MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDICIDeviceManager.profileWasRemovedNotification);
 
 #pragma mark Keys for NSNotification userInfo dictionaries
 
+typedef NSString* const MIDICIDeviceManagerDictionaryKey NS_TYPED_ENUM NS_SWIFT_NAME(MIDICIDeviceManager.DictionaryKey);
+
 /*!
 	@constant		MIDICIDeviceObjectKey
 	@brief			Value is an MIDIUMPEndpoint.
 */
-OS_EXPORT NSString* const MIDICIDeviceObjectKey MIDIUMP1_1;
+OS_EXPORT MIDICIDeviceManagerDictionaryKey MIDICIDeviceObjectKey MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDICIDeviceManagerDictionaryKey.deviceObject);
 
 /*!
 	@constant		MIDICIProfileObjectKey
 	@brief			Value is an MIDIUMPCIProfile
 */
-OS_EXPORT NSString* const MIDICIProfileObjectKey MIDIUMP1_1;
+OS_EXPORT MIDICIDeviceManagerDictionaryKey MIDICIProfileObjectKey MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDICIDeviceManagerDictionaryKey.profileObject);
 
 #pragma mark MIDICIDeviceManager
 
@@ -112,7 +114,7 @@
 	@discussion	MIDICIDeviceManager is used to retrieve information about MIDI-CI devices that
 				to MIDI-CI Discovery.
 */
-MIDIUMP1_1
+MIDI_AVAILABLE_UMP1_1
 @interface MIDICIDeviceManager : NSObject
 
 /*!
@@ -125,7 +127,7 @@
 				However, any suspended process will receive an updated copy of the cache when it
 				resumes its running state.
  */
-@property (class, nonatomic, readonly) MIDICIDeviceManager* sharedInstance;
+@property (class, nonatomic, readonly) MIDICIDeviceManager* sharedInstance NS_SWIFT_NAME(shared);
 
 /*!
 	@property	discoveredCIDevices
diff -ruN /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIServices.h /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIServices.h
--- /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIServices.h	2024-05-30 05:03:14
+++ /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIServices.h	2024-06-12 20:26:08
@@ -1367,10 +1367,12 @@
 /*!
 	constant		kMIDIPropertyAssociatedEndpoint
 	@discussion
-		endpoint property, MIDIEndpointRef. If this property is present, the indicated endpoint should be
+		endpoint property, MIDIUniqueID. If this property is present, the indicated endpoint should be
 		used for bidirectional communication purposes, (e.g. UMP Endpoint pairing or MIDI-CI devices).
 		When setting this property on an endpoint, it should also be set on the assocated endpoint to
 		create a bidirectional mapping.
+
+		Note: This value is a MIDIUniqueID, use MIDIObjectFindByUniqueID to resolve it to a MIDIObjectRef.
 */
 extern const CFStringRef kMIDIPropertyAssociatedEndpoint API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(tvos, watchos);
 
diff -ruN /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPCI.h /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPCI.h
--- /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPCI.h	2024-05-30 04:27:45
+++ /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPCI.h	2024-06-12 21:54:30
@@ -37,7 +37,7 @@
 #define MIDICI1_0_DEPRECATED API_DEPRECATED("No longer supported for CoreMIDI", macos(10.14, 15.0), ios(12.0, 18.0)) API_UNAVAILABLE(watchos, tvos)
 #define MIDICI1_1_DEPRECATED API_DEPRECATED("No longer supported for CoreMIDI", macos(11.0, 15.0), ios(14.0, 18.0)) API_UNAVAILABLE(watchos, tvos)
 
-#define MIDIUMP1_1 API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(tvos, watchos)
+#define MIDI_AVAILABLE_UMP1_1 API_AVAILABLE(macos(15.0), ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos)
 
 	typedef struct
 	{
@@ -50,7 +50,7 @@
 	} MIDI2DeviceRevisionLevel;
 
 	/*!
-		@typedef	MIDICICategoryBitmap
+		@typedef	MIDICICategoryOptions
 
 		@discussion	MIDI Capability category supported (bitmap: D6 D5 D4 D3 D2 D1 D0)
 					Bit	Category	Sub-ID Range	Description
@@ -65,11 +65,11 @@
 					e.g., a MIDICIDevice supporting Profile Configuration and Property Exchange has
 					category 0xC.
 	 */
-	typedef CF_OPTIONS(MIDIUInteger7, MIDICICategoryBitmap) {
-		kMIDICICategoryBitmapProtocolNegotiation = (1UL << 1),
-		kMIDICICategoryBitmapProfileConfigurationSupported = (1UL << 2),
-		kMIDICICategoryBitmapPropertyExchangeSupported = (1UL << 3),
-		kMIDICICategoryBitmapProcessInquirySupported = (1UL << 4),
+	typedef CF_OPTIONS(MIDIUInteger7, MIDICICategoryOptions) {
+		kMIDICICategoryOptionsProtocolNegotiation = (1UL << 1),
+		kMIDICICategoryOptionsProfileConfigurationSupported = (1UL << 2),
+		kMIDICICategoryOptionsPropertyExchangeSupported = (1UL << 3),
+		kMIDICICategoryOptionsProcessInquirySupported = (1UL << 4),
 	};
 
 	/*!
@@ -82,8 +82,8 @@
 		kMIDICIDeviceTypeUnknown = 0,
 		kMIDICIDeviceTypeLegacyMIDI1,
 		kMIDICIDeviceTypeVirtual,
-		kMIDICIDeviceTypeUSBMIDI
-	};
+		kMIDICIDeviceTypeUSBMIDI CF_SWIFT_NAME(usbMIDI)
+		};
 
 
 //=============================================================================
@@ -114,8 +114,8 @@
 	typedef CF_ENUM(MIDIUInteger7, MIDICIPropertyExchangeMessageType) {
 		kMIDICIPropertyExchangeMessageTypeInquiryPropertyExchangeCapabilities = 0x30,
 		kMIDICIPropertyExchangeMessageTypeReplyToPropertyExchangeCapabilities = 0x31,
-		kMIDICIPropertyExchangeMessageTypeInquiryHasPropertyData_Reserved = 0x32,        // Deprecated
-		kMIDICIPropertyExchangeMessageTypeInquiryReplyToHasPropertyData_Reserved = 0x33, // Deprecated
+		kMIDICIPropertyExchangeMessageTypeInquiryHasPropertyData_Reserved = 0x32,
+		kMIDICIPropertyExchangeMessageTypeInquiryReplyToHasPropertyData_Reserved = 0x33,
 		kMIDICIPropertyExchangeMessageTypeInquiryGetPropertyData = 0x34,
 		kMIDICIPropertyExchangeMessageTypeReplyToGetProperty = 0x35,
 		kMIDICIPropertyExchangeMessageTypeInquirySetPropertyData = 0x36,
@@ -146,10 +146,10 @@
 		kMIDICIManagementMessageTypeReplyToDiscovery = 0x71,
 		kMIDICIManagementMessageTypeInquiryEndpointInformation = 0x72,
 		kMIDICIManagementMessageTypeReplyToEndpointInformation = 0x73,
-		kMIDICIManagementMessageTypeMIDICIACK = 0x7D,
-		kMIDICIManagementMessageTypeInvalidateMUID = 0x7E,
-		kMIDICIManagementMessageTypeMIDICINAK = 0x7F
-	};
+		kMIDICIManagementMessageTypeMIDICIACK CF_SWIFT_NAME(midiCIACK) = 0x7D,
+			kMIDICIManagementMessageTypeInvalidateMUID = 0x7E,
+			kMIDICIManagementMessageTypeMIDICINAK CF_SWIFT_NAME(midiNAK) = 0x7F
+		};
 
 
 	/*!
@@ -171,8 +171,8 @@
 		kMIDIUMPCIObjectBackingTypeUnknown = 0,
 		kMIDIUMPCIObjectBackingTypeVirtual,
 		kMIDIUMPCIObjectBackingTypeDriverDevice,
-		kMIDIUMPCIObjectBackingTypeUSBMIDI
-	};
+		kMIDIUMPCIObjectBackingTypeUSBMIDI CF_SWIFT_NAME(usbMIDI)
+		};
 
 //=============================================================================
 #pragma mark MIDI-CI Profile Constants and Structures
diff -ruN /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPEndpoint.h /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPEndpoint.h
--- /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPEndpoint.h	2024-05-30 03:38:45
+++ /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPEndpoint.h	2024-06-12 20:40:58
@@ -67,7 +67,7 @@
 	@brief		An NSObject containing basic information about a MIDI 2.0 device. Used by
 				MIDIUMPEndpointPair and MIDICIDevice.
 */
-MIDIUMP1_1
+MIDI_AVAILABLE_UMP1_1
 @interface MIDI2DeviceInfo : NSObject
 
 ///	@property	manufacturerID
@@ -90,7 +90,7 @@
 - (instancetype)init NS_UNAVAILABLE;
 
 /*!
-	@method		initWithManufacturerID:family:modelNumber:revision:
+	@method		initWithManufacturerID:family:modelNumber:revisionLevel:
 	@brief		The initializer for constructing the MIDI2DeviceInfo object.
 
 	@param		manufacturerID	The 3-Byte manufacturer System Exclusive ID.
@@ -98,19 +98,18 @@
 	@param		modelNumber		The 14-bit model number.
 	@param		revisionLevel	The 4-Byte revision level.
 
-	@discussion	Initialization may fail if the provided values for family or modelNumber are
-				outside of their expected bit range. For example, if modelNumber is outside
-				of the range of a 14-bit number.
+	@discussion	Provided values for family or modelNumber must be within their expected
+				bit range. For example, if modelNumber is outside of the range of a 14-bit number.
  */
-- (instancetype _Nullable)initWithManufacturerID:(MIDI2DeviceManufacturer)manufacturerID
-										  family:(MIDIUInteger14)family
-									 modelNumber:(MIDIUInteger14)modelNumber
-								   revisionLevel:(MIDI2DeviceRevisionLevel)revisionLevel;
+- (instancetype)initWithManufacturerID:(MIDI2DeviceManufacturer)manufacturerID
+								family:(MIDIUInteger14)family
+						   modelNumber:(MIDIUInteger14)modelNumber
+						 revisionLevel:(MIDI2DeviceRevisionLevel)revisionLevel;
 
 @end
 
 /*!
-	@enum		MIDIUMPProtocolBitmap
+	@enum		MIDIUMPProtocolOptions
 	@brief		The UMP protocols that can be supported by a UMP endpoint.
 
 	@constant	kMIDIUMPSupportedProtocolMIDI1
@@ -119,10 +118,10 @@
 	@constant	kMIDIUMPSupportedProtocolMIDI2
 					Support for MIDI 2.0 protocol.
  */
-typedef CF_OPTIONS(MIDIUInteger4, MIDIUMPProtocolBitmap) {
-	kMIDIUMPSupportedProtocolMIDI1 = 1,
-	kMIDIUMPSupportedProtocolMIDI2 = 1 << 1
-};
+typedef CF_OPTIONS(MIDIUInteger4, MIDIUMPProtocolOptions) {
+	kMIDIUMPProtocolOptionsMIDI1 CF_SWIFT_NAME(midi1) = 1,
+		kMIDIUMPProtocolOptionsMIDI2 CF_SWIFT_NAME(midi2) = 1 << 1
+	};
 
 /*!
 	@class		MIDIUMPEndpoint
@@ -137,7 +136,7 @@
 				is assumed to use all 16 UMP groups for the same unspecified function and to neither
 				transmit nor receive jitter-reduction timestamps.
 */
-MIDIUMP1_1
+MIDI_AVAILABLE_UMP1_1
 @interface MIDIUMPEndpoint : NSObject
 
 ///	@property	name
@@ -152,7 +151,7 @@
 
 ///	@property	supportedMIDIProtocols
 ///	@brief		All protocols the UMP endpoint is capable of using for communication.
-@property (nonatomic, readonly) MIDIUMPProtocolBitmap supportedMIDIProtocols;
+@property (nonatomic, readonly) MIDIUMPProtocolOptions supportedMIDIProtocols;
 
 ///	@property	MIDIDestination
 ///	@brief		The MIDI destination for the UMP endpoint.
diff -ruN /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPEndpointManager.h /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPEndpointManager.h
--- /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPEndpointManager.h	2024-05-30 05:07:40
+++ /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPEndpointManager.h	2024-06-12 20:40:59
@@ -65,7 +65,7 @@
 
 	@discussion	The MIDIUMPEndpoint sent in userInfo is the endpoint which was recently discovered.
 */
-OS_EXPORT NSNotificationName const MIDIUMPEndpointWasAddedNotification MIDIUMP1_1;
+OS_EXPORT NSNotificationName const MIDIUMPEndpointWasAddedNotification MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDIUMPEndpointManager.endpointWasAddedNotification);
 
 /*!
 	@constant   MIDIUMPEndpointWasRemovedNotification
@@ -77,39 +77,39 @@
 				any resources related to communication with this UMP endpoint may be safely
 				disposed.
 */
-OS_EXPORT NSNotificationName const MIDIUMPEndpointWasRemovedNotification MIDIUMP1_1;
+OS_EXPORT NSNotificationName const MIDIUMPEndpointWasRemovedNotification MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDIUMPEndpointManager.endpointWasRemovedNotification);
 
 /*!
-	@constant   MIDIUMPEndpointUpdatedNotification
+	@constant   MIDIUMPEndpointWasUpdatedNotification
 	@brief		A notification posted when an UMP endpoint updates its stream configuration or changes the
 				state of one of its Function Blocks.
 
 	@discussion	If this notification is posted, an Endpoint Info Notification was sent from the UMP endpoint in userInfo.
 */
-OS_EXPORT NSNotificationName const MIDIUMPEndpointUpdatedNotification MIDIUMP1_1;
+OS_EXPORT NSNotificationName const MIDIUMPEndpointWasUpdatedNotification MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDIUMPEndpointManager.endpointWasUpdatedNotification);
 
 /*!
-	@constant      MIDIUMPFunctionBlockUpdatedNotification
+	@constant      MIDIUMPFunctionBlockWasUpdatedNotification
 	@brief         A notification posted when a Function Block is updated.
 
 	@discussion    If this notification is posted, the supplied Function Block in userInfo has had a change to its
 				   enabled state, Group configuration, UI hint, MIDI 1.0 status, etc..
 */
-OS_EXPORT NSNotificationName const MIDIUMPFunctionBlockUpdatedNotification MIDIUMP1_1;
+OS_EXPORT NSNotificationName const MIDIUMPFunctionBlockWasUpdatedNotification MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDIUMPEndpointManager.functionBlockWasUpdatedNotification);
 
 #pragma mark Keys for NSNotification userInfo dictionaries
 
+typedef NSString* const MIDIUMPEndpointManagerDictionaryKey NS_TYPED_ENUM NS_SWIFT_NAME(MIDIUMPEndpointManager.DictionaryKey);
 /*!
 	@constant      MIDIUMPEndpointObjectKey
 	@brief         Value is a MIDIUMPEndpoint
 */
-OS_EXPORT NSString* const MIDIUMPEndpointObjectKey MIDIUMP1_1;
-
+OS_EXPORT MIDIUMPEndpointManagerDictionaryKey MIDIUMPEndpointObjectKey MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDIUMPEndpointManagerDictionaryKey.endpointObject);
 /*!
 	@constant      MIDIUMPFunctionBlockObjectKey
 	@brief         Value is a MIDIUMPFunctionBlock
 */
-OS_EXPORT NSString* const MIDIUMPFunctionBlockObjectKey MIDIUMP1_1;
+OS_EXPORT MIDIUMPEndpointManagerDictionaryKey MIDIUMPFunctionBlockObjectKey MIDI_AVAILABLE_UMP1_1 NS_SWIFT_NAME(MIDIUMPEndpointManagerDictionaryKey.functionBlockObject);
 
 #pragma mark MIDIUMPEndpointManager
 
@@ -120,7 +120,7 @@
 	@discussion	MIDIUMPEndpointManager is used to retrieve information about UMP Endpoint
 				pairs detected by or explicitly declared to the MIDI UMP subsystem.
 */
-MIDIUMP1_1
+MIDI_AVAILABLE_UMP1_1
 @interface MIDIUMPEndpointManager : NSObject
 
 /*!
@@ -130,7 +130,7 @@
 	@discussion	After first access to this property, the client process may begin observing notifications
 				which are posted when the system-wide cache changes.
  */
-@property (class, nonatomic, readonly) MIDIUMPEndpointManager* sharedInstance;
+@property (class, nonatomic, readonly) MIDIUMPEndpointManager* sharedInstance NS_SWIFT_NAME(shared);
 
 /*!
 	@property	UMPEndpoints
diff -ruN /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPFunctionBlock.h /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPFunctionBlock.h
--- /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPFunctionBlock.h	2024-05-30 04:27:45
+++ /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPFunctionBlock.h	2024-06-12 20:26:08
@@ -71,7 +71,7 @@
 #import <Foundation/Foundation.h>
 #import <stdint.h>
 
-#define MIDIUMP1_1 API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(tvos, watchos)
+#define MIDI_AVAILABLE_UMP1_1 API_AVAILABLE(macos(15.0), ios(18.0), visionos(2.0)) API_UNAVAILABLE(tvos, watchos)
 
 NS_ASSUME_NONNULL_BEGIN
 
@@ -89,7 +89,7 @@
 				any Function Block metadata may change in response to a configuration change in the
 				owning UMP endpoint.
 */
-MIDIUMP1_1
+MIDI_AVAILABLE_UMP1_1
 @interface MIDIUMPFunctionBlock : NSObject
 
 ///	@property 	name
diff -ruN /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPMutableEndpoint.h /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPMutableEndpoint.h
--- /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPMutableEndpoint.h	2024-05-30 05:07:40
+++ /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPMutableEndpoint.h	2024-06-12 20:20:59
@@ -79,7 +79,7 @@
 				This API is not realtime-safe, all interaction with the mutable endpoint should be done on the
 				main thread.
 */
-MIDIUMP1_1
+MIDI_AVAILABLE_UMP1_1
 @interface MIDIUMPMutableEndpoint : MIDIUMPEndpoint
 
 ///	@property	mutableFunctionBlocks
diff -ruN /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPMutableFunctionBlock.h /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPMutableFunctionBlock.h
--- /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPMutableFunctionBlock.h	2024-05-30 05:07:40
+++ /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIUMPMutableFunctionBlock.h	2024-06-12 20:03:32
@@ -85,7 +85,7 @@
 				This API is not realtime-safe, all interaction with the function block should be done on the
 				main thread.
 */
-MIDIUMP1_1
+MIDI_AVAILABLE_UMP1_1
 @interface MIDIUMPMutableFunctionBlock : MIDIUMPFunctionBlock
 
 /// @property 	UMPEndpoint
@@ -151,10 +151,10 @@
 		  error:(NSError* _Nullable*)error;
 
 /*!
-	@method       reconfigure:MIDI1Info:UIHint:error
+	@method       reconfigureWithFirstGroup:direction:MIDI1Info:UIHint:error
 	@brief        Reconfigure a Function Block.
 
-	@param    newGroup                The new first Group to use for the Function Block..
+	@param    firstGroup            The new first Group to use for the Function Block..
 	@param    direction              The direction of the Function Block: input, output, or bidirectional.
 	@param    MIDI1Info              MIDI 1.0 speed information.
 	@param    UIHint                     A hint for UI about the primary usage of this Function Block.
@@ -165,11 +165,11 @@
 				relocated.
 				Returns YES if the first Group of the Function Block was changed.
  */
-- (BOOL)reconfigureWithFirstGroup:(MIDIUMPGroupNumber)newGroup
+- (BOOL)reconfigureWithFirstGroup:(MIDIUMPGroupNumber)firstGroup
 						direction:(MIDIUMPFunctionBlockDirection)direction
 						MIDI1Info:(MIDIUMPFunctionBlockMIDI1Info)MIDI1Info
 						   UIHint:(MIDIUMPFunctionBlockUIHint)UIHint
-							error:(NSError* _Nullable*)error;
+							error:(NSError* _Nullable*)error NS_SWIFT_NAME(reconfigure(firstGroup:direction:MIDI1Info:UIHint:));
 
 @end
 
Clone this wiki locally