Skip to content

AudioToolbox tvOS xcode14.0 beta2

Manuel de la Pena edited this page Sep 6, 2022 · 5 revisions

#AudioToolbox.framework https://github.com/xamarin/xamarin-macios/pull/15877

diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AUAudioUnit.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AUAudioUnit.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AUAudioUnit.h	2022-05-31 14:51:09.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AUAudioUnit.h	2022-06-17 15:28:13.000000000 -0400
@@ -689,7 +689,10 @@
 		kMIDIProtocol_2_0, incoming events will be translated to MIDI 2.0. If hostMIDIProtocol
 		is not set, events will be delivered as legacy MIDI.
 
-		Note: This block should be preferred over MIDIOutputEventBlock going forward.
+		Note: This block is cross-compatible with Audio Units using MIDIOutputEventBlock and should be
+		preferred over MIDIOutputEventBlock by hosts going forward. The framework will provide the Audio Unit
+		with both a MIDIOutputEventBlock and MIDIOutputEventListBlock, the Audio Unit is free to call either
+		block as all messages will be translated as described above.
  
 		Host should setup in the following order:
 		 - Set hostMIDIProtocol
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitParameters.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitParameters.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitParameters.h	2022-05-31 15:01:45.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitParameters.h	2022-06-17 14:50:15.000000000 -0400
@@ -344,24 +344,27 @@
 		// Global, Cents, -2400 -> 2400, 1.0
 	kNewTimePitchParam_Pitch						= 1,
 	
-		// Overlap is the number of overlapped spectral windows that are used to produce the output.
-		// The value of overlap is directly proportional to CPU cost. More overlaps can make smooth
-		// passages sound smoother. For percussive sound, a lower overlap may be better.
+		// The generated output can be made to sound smoother by increasing
+		// the density of the processing time frames. The value is directly proportional
+	    // to the CPU cost. When slowing down percussive audio, lower values may be better.
 		// Global, generic, 3.0 -> 32.0, 8.0
-	kNewTimePitchParam_Overlap						= 4,
+	kNewTimePitchParam_Smoothness						= 4,
 	
-		// Peak locking enforces phase coherence of spectral peaks.
-		// Peak locking adds some expense but results in a less "phasey"
-		// or reverberant sound, sometimes also called loss of presence.
-		// However the flip side is that it can sound more stuttery for some content.
+	kNewTimePitchParam_Overlap API_DEPRECATED_WITH_REPLACEMENT("kNewTimePitchParam_Smoothness", ios(2.0, 16.0), watchos(2.0, 9.0), tvos(9.0, 16.0), macos(10.0, 13.0)) = kNewTimePitchParam_Smoothness,
+	
+		// Spectral phase coherence is enabled through peak locking.
+		// This adds some computation cost but results in a less "phasey"
+		// or reverberant sound.
 		// Global, Boolean, 0->1, 1
-	kNewTimePitchParam_EnablePeakLocking			= 6,
+	kNewTimePitchParam_EnableSpectralCoherence			= 6,
+	
+	kNewTimePitchParam_EnablePeakLocking API_DEPRECATED_WITH_REPLACEMENT("kNewTimePitchParam_EnableSpectralCoherence", ios(2.0, 16.0), watchos(2.0, 9.0), tvos(9.0, 16.0), macos(10.0, 13.0)) = kNewTimePitchParam_EnableSpectralCoherence,
     
-    // Transient preservation uses group delay to identify transients
-    // It resets the phase at points of transients to avoid smearing
-    // It also reduces the stretch factor at those points to avoid smearing
-    // This needs to be compensated at other frames, which can be problematic
-    // Global, Boolean, 0->1, 1
+		// Transient preservation uses group delay to identify transients.
+		// It resets the phase at points of transients to preserve the original
+		// spectral phase relationships. It also sets the stretch factor to 1 at
+		// those points.
+		// Global, Boolean, 0->1, 1
     kNewTimePitchParam_EnableTransientPreservation  = 7
 };
 
Clone this wiki locally