Skip to content

CoreHaptics macOS xcode14.0 beta1

Manuel de la Pena edited this page Jul 15, 2022 · 3 revisions

#CoreHaptics.framework https://github.com/xamarin/xamarin-macios/pull/15523

diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticEngine.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticEngine.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticEngine.h	2022-02-23 07:09:20.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticEngine.h	2022-05-31 14:49:08.000000000 -0400
@@ -178,6 +178,14 @@
  */
 @property (readwrite,nonatomic) BOOL playsHapticsOnly;
 
+/*!	@property playsAudioOnly
+		If set to YES, the CHHapticEngine will ignore all events of type CHHapticEventTypeHaptic and play only audio events.
+	@discussion
+		This behavior change will only take effect after the engine is stopped and restarted.
+		The default is NO.
+ */
+@property (readwrite,nonatomic) BOOL playsAudioOnly API_AVAILABLE(ios(16.0), macos(13.0), tvos(16.0), macCatalyst(16.0)) API_UNAVAILABLE(watchos);
+
 /*!	@property isMutedForAudio
  		When set to YES, the CHHapticEngine mutes audio playback from its players.
  	@discussion
@@ -299,11 +307,18 @@
 		Indicates whether the audio file playback should be ramped in and out with an envelope.  This can be useful for preventing clicks during playback,
 		or for cases where the application wants to modulate this envelope to use different attack and release times.
 		Value type: boolean.  Default is @true.
+	@constant   CHHapticAudioResourceKeyLoopEnabled
+		Indicates whether the audio file will be looped when played back.  The default loop range is the entire file.
+		Value type: boolean.  Default is @false.
  */
 
 CH_EXPORT
 CHHapticAudioResourceKey CHHapticAudioResourceKeyUseVolumeEnvelope API_AVAILABLE(ios(15.0), macos(12.0), tvos(15.0), macCatalyst(15.0)) API_UNAVAILABLE(watchos);
 
+CH_EXPORT
+CHHapticAudioResourceKey CHHapticAudioResourceKeyLoopEnabled API_AVAILABLE(ios(16.0), macos(13.0), tvos(16.0), macCatalyst(16.0)) API_UNAVAILABLE(watchos);
+;
+
 /*! @method registerAudioResource:options:error
 	@abstract
 		Register an external audio file for use as a custom waveform.
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticPattern.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticPattern.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticPattern.h	2022-02-23 07:12:27.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticPattern.h	2022-05-31 14:49:08.000000000 -0400
@@ -87,6 +87,9 @@
 		attack and release times.
 		Value type: boolean.  Default is true.
 
+	@constant   CHHapticPatternKeyEventWaveformLoopEnabled
+		For events of type CHHapticEventTypeAudioCustom, indicates whether the audio file playback will be looped.
+		Value type: boolean.  Default is false.
 */
 
 typedef NSString *CHHapticPatternKey NS_TYPED_ENUM;
@@ -110,6 +113,8 @@
 CH_EXPORT
 CHHapticPatternKey CHHapticPatternKeyEventWaveformUseVolumeEnvelope API_AVAILABLE(ios(15.0), macos(12.0), tvos(15.0), macCatalyst(15.0)) API_UNAVAILABLE(watchos);
 CH_EXPORT
+CHHapticPatternKey CHHapticPatternKeyEventWaveformLoopEnabled API_AVAILABLE(ios(16.0), macos(13.0), tvos(16.0), macCatalyst(16.0)) API_UNAVAILABLE(watchos);
+CH_EXPORT
 CHHapticPatternKey CHHapticPatternKeyParameter API_AVAILABLE(ios(13.0), macos(10.15), tvos(14.0), macCatalyst(13.0)) API_UNAVAILABLE(watchos);
 CH_EXPORT
 CHHapticPatternKey CHHapticPatternKeyParameterID API_AVAILABLE(ios(13.0), macos(10.15), tvos(14.0), macCatalyst(13.0)) API_UNAVAILABLE(watchos);
@@ -170,6 +175,17 @@
 - (nullable instancetype)initWithDictionary:(NSDictionary<CHHapticPatternKey, id> *)patternDict
 									  error:(NSError **)outError;
 
+/*! @method initWithContentsOfURL:error
+    @abstract
+        Initialize a new CHHapticPattern using the contents of the passed-in NSURL.
+    @param ahapURL
+        NSURL of an ahap file.
+    @discussion
+        This URL must reference a valid AHAP file.
+ */
+- (nullable instancetype)initWithContentsOfURL:(NSURL *)ahapURL
+                                      error:(NSError **)outError API_AVAILABLE(ios(16.0), macos(13.0), tvos(16.0), macCatalyst(16.0)) API_UNAVAILABLE(watchos);
+
 /*! @method exportDictionaryAndReturnError:error
     @abstract
         Returns a NSDictionary representation of the contents of the pattern.
Clone this wiki locally