Skip to content

CoreHaptics tvOS xcode13.0 beta1

Manuel de la Pena edited this page Jun 16, 2021 · 3 revisions

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

diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticEngine.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticEngine.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticEngine.h	2021-03-16 13:55:55.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticEngine.h	2021-06-02 05:34:45.000000000 -0400
@@ -290,13 +290,27 @@
 - (nullable id<CHHapticAdvancedPatternPlayer>)createAdvancedPlayerWithPattern:(CHHapticPattern *)pattern
 																		error:(NSError **)outError;
 
+typedef NSString *CHHapticAudioResourceKey;
+
+/*! @enum CHHapticAudioResourceKey
+	@abstract
+		Keys used to configure the playback behavior of a custom waveform.
+	@constant   CHHapticAudioResourceKeyUseVolumeEnvelope
+		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.
+ */
+
+CH_EXPORT
+CHHapticAudioResourceKey CHHapticAudioResourceKeyUseVolumeEnvelope API_AVAILABLE(ios(15.0), macos(12.0), tvos(15.0), macCatalyst(15.0)) API_UNAVAILABLE(watchos);
+
 /*! @method registerAudioResource:options:error
 	@abstract
 		Register an external audio file for use as a custom waveform.
 	@param resourceURL
  		A URL referencing the location of the audio file to be registered.
  	@param options
- 		A dictionary containing key/value pairs describing how this resource should be played.
+ 		A dictionary containing CHHapticAudioResourceKey/value pairs describing how this resource should be played.
  	@param outError
  		If register operation fails, this will be set to a valid NSError describing the error.
  */
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticErrors.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticErrors.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticErrors.h	2021-03-16 08:46:46.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticErrors.h	2021-06-02 11:05:50.000000000 -0400
@@ -54,7 +54,10 @@
 
  	@constant	CHHapticErrorCodeInvalidAudioSession
 		The AVAudioSession used to initialize the engine was invalid.
- 
+
+	@constant	CHHapticErrorCodeInvalidEngineParameter
+		A configuration parameter used to initialize the engine was invalid.
+
  	@constant	CHHapticErrorCodeInvalidParameterType
  		A pattern dictionary or parameter array contained an unknown or invalid parameter type.
 
@@ -82,6 +85,12 @@
     @constant   CHHapticErrorCodeInvalidTime
         An invalid (e.g., negative) time was passed to a method requiring an NSTimeInterval.
  
+    @constant   CHHapticErrorCodeFileNotFound
+        An audio or haptic asset could not be found.
+ 
+	@constant	CHHapticErrorCodeInsufficientPower
+		The operation failed due to power restrictions.
+
  	@constant	CHHapticErrorCodeUnknownError
  		An uncategorized error occurred.
 
@@ -102,6 +111,7 @@
 	CHHapticErrorCodeInvalidPatternData			= -4813,
 	CHHapticErrorCodeInvalidPatternDictionary	= -4814,
 	CHHapticErrorCodeInvalidAudioSession		= -4815,
+	CHHapticErrorCodeInvalidEngineParameter		= -4816,
 
     CHHapticErrorCodeInvalidParameterType       = -4820,
     CHHapticErrorCodeInvalidEventType           = -4821,
@@ -115,6 +125,9 @@
     
     CHHapticErrorCodeInvalidTime                = -4840,
     
+    CHHapticErrorCodeFileNotFound               = -4851,
+    
+	CHHapticErrorCodeInsufficientPower			= -4897,
 	CHHapticErrorCodeUnknownError				= -4898,
 	CHHapticErrorCodeMemoryError				= -4899
 } API_AVAILABLE(ios(13.0), macos(10.15),tvos(14.0));
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticPattern.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticPattern.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticPattern.h	2021-03-16 09:53:20.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticPattern.h	2021-06-02 12:43:26.000000000 -0400
@@ -32,14 +32,14 @@
  
 	@discussion
 		A definition for a haptic pattern consists of a heirarchical set of key/value pairs, starting at the topmost level with
-		a "Version" and a "Pattern" key.  This marks the beginning of an array of event (CHHapticPatternKeyEvent) and parameter
- 		(CHHapticPatternKeyParameter) definitions.  Each of these has an associated time which indicates when the event or parameter
+		a "Version" and a "Pattern" key.  The "Pattern" marks the beginning of an array of event (CHHapticPatternKeyEvent)
+		and parameter (CHHapticPatternKeyParameter) definitions.  Each of these has an associated time which indicates when the event or parameter
  		will be delivered to the haptic engine.
  
 	@constant   CHHapticPatternKeyVersion
-		Indicates the version of the system for which the pattern was authored.
+		The version of the system for which the pattern was authored.
  		Value type: Real.
-
+ 
 	@constant   CHHapticPatternKeyPattern
 		Indicates the beginning of a haptic pattern definition.
  		Value type: Array.
@@ -80,7 +80,14 @@
 	@constant   CHHapticPatternKeyEventWaveformPath
 		For events of type CHHapticEventTypeAudioCustom, the path to the local file containing the audio waveform.
 		Value type: NSString.
- */
+	
+	@constant   CHHapticPatternKeyEventWaveformUseVolumeEnvelope
+		For events of type CHHapticEventTypeAudioCustom, 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.
+
+*/
 
 typedef NSString *CHHapticPatternKey NS_TYPED_ENUM;
 
@@ -101,6 +108,8 @@
 CH_EXPORT
 CHHapticPatternKey CHHapticPatternKeyEventParameters API_AVAILABLE(ios(13.0), macos(10.15), tvos(14.0), macCatalyst(13.0)) API_UNAVAILABLE(watchos);
 CH_EXPORT
+CHHapticPatternKey CHHapticPatternKeyEventWaveformUseVolumeEnvelope API_AVAILABLE(ios(15.0), macos(12.0), tvos(15.0), macCatalyst(15.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);
Clone this wiki locally