From e299e93e60316628f913eeef8f07e31c0b250872 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Thu, 1 Jul 2021 07:32:33 -0400 Subject: [PATCH 01/16] [PHASE] Add suppport for Xcode13 beta 2. --- runtime/bindings-generator.cs | 27 + src/frameworks.sources | 4 + src/phase.cs | 1286 +++++++++++++++++++++ tests/xtro-sharpie/MacCatalyst-PHASE.todo | 363 ------ tests/xtro-sharpie/SimdCheck.cs | 4 +- tests/xtro-sharpie/common-PHASE.ignore | 22 + tests/xtro-sharpie/iOS-PHASE.todo | 363 ------ tests/xtro-sharpie/macOS-PHASE.todo | 363 ------ tests/xtro-sharpie/tvOS-PHASE.todo | 33 - tools/common/Frameworks.cs | 6 +- tools/common/StaticRegistrar.cs | 3 + tools/common/Target.cs | 1 + 12 files changed, 1350 insertions(+), 1125 deletions(-) create mode 100644 src/phase.cs delete mode 100644 tests/xtro-sharpie/MacCatalyst-PHASE.todo create mode 100644 tests/xtro-sharpie/common-PHASE.ignore delete mode 100644 tests/xtro-sharpie/iOS-PHASE.todo delete mode 100644 tests/xtro-sharpie/macOS-PHASE.todo delete mode 100644 tests/xtro-sharpie/tvOS-PHASE.todo diff --git a/runtime/bindings-generator.cs b/runtime/bindings-generator.cs index 1641a51a7ed9..f2287b3c3160 100644 --- a/runtime/bindings-generator.cs +++ b/runtime/bindings-generator.cs @@ -2694,6 +2694,33 @@ static IEnumerable GetFunctionData () } ); + data.Add ( + new FunctionData { + Comment = " // IntPtr func (IntPtr, Quaternion)", + Prefix = "simd__", + Variants = Variants.All, + ReturnType = Types.IntPtr, + Parameters = new ParameterData [] { + new ParameterData { TypeData = Types.IntPtr }, + new ParameterData { TypeData = Types.QuatF } + }, + } + ); + + data.Add ( + new FunctionData { + Comment = " // IntPtr func (IntPtr, Quaternion, IntPtr)", + Prefix = "simd__", + Variants = Variants.All, + ReturnType = Types.IntPtr, + Parameters = new ParameterData [] { + new ParameterData { TypeData = Types.IntPtr }, + new ParameterData { TypeData = Types.QuatF }, + new ParameterData { TypeData = Types.IntPtr } + }, + } + ); + // We must expand functions with native types to their actual type as well. for (int i = data.Count - 1; i >= 0; i--) { if (!data [i].HasNativeType) diff --git a/src/frameworks.sources b/src/frameworks.sources index 14d71f8f5592..5a2cafb0cfd1 100644 --- a/src/frameworks.sources +++ b/src/frameworks.sources @@ -1979,6 +1979,7 @@ MAC_FRAMEWORKS = \ PassKit \ PdfKit \ PencilKit \ + Phase \ Photos \ PhotosUI \ PrintCore \ @@ -2087,6 +2088,7 @@ IOS_FRAMEWORKS = \ PassKit \ PdfKit \ PencilKit \ + Phase \ Photos \ PhotosUI \ PushKit \ @@ -2180,6 +2182,7 @@ TVOS_FRAMEWORKS = \ ModelIO \ MultipeerConnectivity \ OpenGLES \ + Phase \ Photos \ PhotosUI \ ReplayKit \ @@ -2253,6 +2256,7 @@ MACCATALYST_FRAMEWORKS = \ PassKit \ PdfKit \ PencilKit \ + Phase \ Photos \ PhotosUI \ PushKit \ diff --git a/src/phase.cs b/src/phase.cs new file mode 100644 index 000000000000..0c8c44686ad8 --- /dev/null +++ b/src/phase.cs @@ -0,0 +1,1286 @@ +using AVFoundation; +using CoreFoundation; +using Foundation; +using ModelIO; +using ObjCRuntime; + +using Quaternion = global::OpenTK.Quaternion; + +using System; + +namespace Phase { + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseUpdateMode : long { + Automatic = 0, + Manual = 1, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseRenderingState : long { + Stopped = 0, + Started = 1, + Paused = 2, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseSpatializationMode : long { + utomatic = 0, + lwaysUseBinaural = 1, + lwaysUseChannelBased = 2, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseReverbPreset : long { + None = 1917742958, + SmallRoom = 1918063213, + MediumRoom = 1917669997, + LargeRoom = 1917604401, + LargeRoom2 = 1917604402, + MediumChamber = 1917666152, + LargeChamber = 1917600616, + MediumHall = 1917667377, + MediumHall2 = 1917667378, + MediumHall3 = 1917667379, + LargeHall = 1917601841, + LargeHall2 = 1917601842, + Cathedral = 1917023336, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + [ErrorDomain ("PHASEErrorDomain")] + public enum PhaseError : long { + InitializeFailed = 1346913633, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + [ErrorDomain ("PHASESoundEventErrorDomain")] + public enum PhaseSoundEventError : long { + NotFound = 1346925665, + BadData = 1346925666, + InvalidInstance = 1346925667, + APIMisuse = 1346925668, + SystemNotInitialized = 1346925669, + OutOfMemory = 1346925670, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + [ErrorDomain ("PHASEAssetErrorDomain")] + public enum PhaseAssetError : long { + FailedToLoad = 1346920801, + InvalidEngineInstance = 1346920802, + BadParameters = 1346920803, + AlreadyExists = 1346920804, + GeneralError = 1346920805, + MemoryAllocation = 1346920806, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseSoundEventPrepareHandlerReason : long { + Error = 0, + Prepared = 1, + Terminated = 2, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseSoundEventStartHandlerReason : long { + Error = 0, + FinishedPlaying = 1, + Terminated = 2, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseSoundEventSeekHandlerReason : long { + Error = 0, + ErrorSeekAlreadyInProgress = 1, + SeekSuccessful = 2, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseSoundEventPrepareState : long { + NotStarted = 0, + InProgress = 1, + Prepared = 2, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseAssetType : long { + Resident = 0, + Streamed = 1, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseCurveType : long { + Linear = 1668435054, + Squared = 1668436849, + InverseSquared = 1668434257, + Cubed = 1668432757, + InverseCubed = 1668434243, + Sine = 1668436846, + InverseSine = 1668434259, + Sigmoid = 1668436839, + InverseSigmoid = 1668434247, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseCullOption : long { + Terminate = 0, + SleepWakeAtZero = 1, + SleepWakeAtRandomOffset = 2, + SleepWakeAtRealtimeOffset = 3, + DoNotCull = 4, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhasePlaybackMode : long { + OneShot = 0, + Looping = 1, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseNormalizationMode : long { + None = 0, + Dynamic = 1, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseCalibrationMode : long { + None = 0, + RelativeSpl = 1, + AbsoluteSpl = 2, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Flags] + [Native] + public enum PhasePushStreamBufferOptions : ulong { + Default = 1uL << 0, + Loops = 1uL << 1, + Interrupts = 1uL << 2, + InterruptsAtLoop = 1uL << 3, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhasePushStreamCompletionCallbackType : long { + PushStreamCompletionDataRendered = 0, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseMediumPreset : long { + Default = 1835287654, + RoomAir = 1835291201, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum PhaseMaterialPreset : long { + Default = 1833198950, + Cardboard = 1833136740, + Glass = 1833397363, + Brickwork = 1833071211, + Concrete = 1833132914, + GypsumBoard = 1833400688, + Drywall = 1833202295, + DoorWoodLight = 1833195340, + DoorWoodHeavy = 1833195336, + DoorSoundproof = 1833202544, + WindowSinglePane = 1834447728, + WindowDoublePane = 1834443888, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Flags] + [Native] + public enum PhaseSpatialPipelineOptions : ulong { + DirectPathTransmission = 1uL << 0, + EarlyReflections = 1uL << 1, + LateReverb = 1uL << 2, + } + + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + public enum PhaseSpatialCategory { + [Field ("PHASESpatialCategoryDirectPathTransmission")] + DirectPathTransmission, + [Field ("PHASESpatialCategoryEarlyReflections")] + EarlyReflections, + [Field ("PHASESpatialCategoryLateReverb")] + LateReverb, + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASENumericPair")] + interface PhaseNumericPair + { + [Export ("initWithFirstValue:secondValue:")] + IntPtr Constructor (double first, double second); + + [Export ("first")] + double First { get; set; } + + [Export ("second")] + double Second { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEEnvelopeSegment")] + interface PhaseEnvelopeSegment + { +/* + [Export ("initWithEndPoint:curveType:")] + IntPtr Constructor ([unsupported ExtVector: double __attribute__((ext_vector_type(2)))] endPoint, PhaseCurveType curveType); + + [Export ("endPoint", ArgumentSemantic.Assign)] + [unsupported ExtVector: double __attribute__((ext_vector_type(2)))] EndPoint { get; set; } +*/ + + [Export ("curveType", ArgumentSemantic.Assign)] + PhaseCurveType CurveType { get; set; } + } + + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEEnvelope")] + [DisableDefaultCtor] + interface PhaseEnvelope + { + //[Export ("initWithStartPoint:segments:")] + //[DesignatedInitializer] + //IntPtr Constructor ([unsupported ExtVector: double __attribute__((ext_vector_type(2)))] startPoint, PhaseEnvelopeSegment[] segments); + + [Export ("evaluateForValue:")] + double Evaluate (double x); + + //[Export ("startPoint")] + //[unsupported ExtVector: double __attribute__((ext_vector_type(2)))] StartPoint { get; } + + [Export ("segments", ArgumentSemantic.Copy)] + PhaseEnvelopeSegment[] Segments { get; } + + [Export ("domain", ArgumentSemantic.Strong)] + PhaseNumericPair Domain { get; } + + [Export ("range", ArgumentSemantic.Strong)] + PhaseNumericPair Range { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEDefinition")] + [DisableDefaultCtor] + interface PhaseDefinition + { + [Export ("identifier")] + string Identifier { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseDefinition), Name="PHASEMetaParameterDefinition")] + [DisableDefaultCtor] + interface PhaseMetaParameterDefinition + { + [Export ("value", ArgumentSemantic.Strong)] + NSObject Value { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseMetaParameterDefinition), Name="PHASENumberMetaParameterDefinition")] + [DisableDefaultCtor] + interface PhaseNumberMetaParameterDefinition + { + [Export ("initWithValue:identifier:")] + IntPtr Constructor (double value, string identifier); + + [Export ("initWithValue:")] + IntPtr Constructor (double value); + + [Export ("initWithValue:minimum:maximum:identifier:")] + IntPtr Constructor (double value, double minimum, double maximum, string identifier); + + [Export ("initWithValue:minimum:maximum:")] + [DesignatedInitializer] + IntPtr Constructor (double value, double minimum, double maximum); + + [Export ("minimum")] + double Minimum { get; } + + [Export ("maximum")] + double Maximum { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseMetaParameterDefinition), Name="PHASEStringMetaParameterDefinition")] + [DisableDefaultCtor] + interface PhaseStringMetaParameterDefinition + { + [Export ("initWithValue:identifier:")] + IntPtr Constructor (string value, string identifier); + + [Export ("initWithValue:")] + [DesignatedInitializer] + IntPtr Constructor (string value); + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseNumberMetaParameterDefinition), Name="PHASEMappedMetaParameterDefinition")] + [DisableDefaultCtor] + interface PhaseMappedMetaParameterDefinition + { + [Export ("initWithInputMetaParameterDefinition:envelope:identifier:")] + IntPtr Constructor (PhaseNumberMetaParameterDefinition inputMetaParameterDefinition, PhaseEnvelope envelope, string identifier); + + [Export ("initWithInputMetaParameterDefinition:envelope:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseNumberMetaParameterDefinition inputMetaParameterDefinition, PhaseEnvelope envelope); + + [Export ("envelope", ArgumentSemantic.Strong)] + PhaseEnvelope Envelope { get; } + + [Export ("inputMetaParameterDefinition", ArgumentSemantic.Strong)] + PhaseNumberMetaParameterDefinition InputMetaParameterDefinition { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEMetaParameter")] + [DisableDefaultCtor] + interface PhaseMetaParameter + { + [Export ("identifier", ArgumentSemantic.Strong)] + string Identifier { get; } + + [Export ("value", ArgumentSemantic.Strong)] + NSObject Value { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseMetaParameter), Name="PHASEStringMetaParameter")] + [DisableDefaultCtor] + interface PhaseStringMetaParameter { } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseMetaParameter), Name="PHASENumberMetaParameter")] + [DisableDefaultCtor] + interface PhaseNumberMetaParameter + { + [Export ("minimum")] + double Minimum { get; } + + [Export ("maximum")] + double Maximum { get; } + + [Export ("fadeToValue:duration:")] + void Fade (double value, double duration); + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseDefinition), Name="PHASEMixerDefinition")] + [DisableDefaultCtor] + interface PhaseMixerDefinition + { + [Export ("gain")] + double Gain { get; set; } + + [NullAllowed, Export ("gainMetaParameterDefinition", ArgumentSemantic.Strong)] + PhaseNumberMetaParameterDefinition GainMetaParameterDefinition { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseMixerDefinition), Name="PHASESpatialMixerDefinition")] + [DisableDefaultCtor] + interface PhaseSpatialMixerDefinition + { + [Export ("initWithSpatialPipeline:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseSpatialPipeline spatialPipeline); + + [Export ("initWithSpatialPipeline:identifier:")] + IntPtr Constructor (PhaseSpatialPipeline spatialPipeline, string identifier); + + [Export ("spatialPipeline", ArgumentSemantic.Strong)] + PhaseSpatialPipeline SpatialPipeline { get; } + + [NullAllowed, Export ("distanceModelParameters", ArgumentSemantic.Strong)] + PhaseDistanceModelParameters DistanceModelParameters { get; set; } + + [NullAllowed, Export ("listenerDirectivityModelParameters", ArgumentSemantic.Strong)] + PhaseDirectivityModelParameters ListenerDirectivityModelParameters { get; set; } + + [NullAllowed, Export ("sourceDirectivityModelParameters", ArgumentSemantic.Strong)] + PhaseDirectivityModelParameters SourceDirectivityModelParameters { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseMixerDefinition), Name="PHASEAmbientMixerDefinition")] + [DisableDefaultCtor] + interface PhaseAmbientMixerDefinition + { + [Export ("initWithChannelLayout:orientation:identifier:")] + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] + IntPtr Constructor (AVAudioChannelLayout layout, Quaternion orientation, NSString identifier); + + [Export ("initWithChannelLayout:orientation:")] + [DesignatedInitializer] + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] + IntPtr Constructor (AVAudioChannelLayout layout, Quaternion orientation); + + [Export ("orientation")] + Quaternion Orientation { + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] + get; + } + + [Export ("inputChannelLayout", ArgumentSemantic.Strong)] + AVAudioChannelLayout InputChannelLayout { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseMixerDefinition), Name="PHASEChannelMixerDefinition")] + [DisableDefaultCtor] + interface PhaseChannelMixerDefinition + { + [Export ("initWithChannelLayout:identifier:")] + IntPtr Constructor (AVAudioChannelLayout layout, string identifier); + + [Export ("initWithChannelLayout:")] + [DesignatedInitializer] + IntPtr Constructor (AVAudioChannelLayout layout); + + [Export ("inputChannelLayout", ArgumentSemantic.Strong)] + AVAudioChannelLayout InputChannelLayout { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEMixer")] + [DisableDefaultCtor] + interface PhaseMixer + { + [Export ("identifier", ArgumentSemantic.Strong)] + string Identifier { get; } + + [Export ("gain")] + double Gain { get; } + + [NullAllowed, Export ("gainMetaParameter", ArgumentSemantic.Strong)] + PhaseMetaParameter GainMetaParameter { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEMixerParameters")] + interface PhaseMixerParameters + { + [Export ("addSpatialMixerParametersWithIdentifier:source:listener:")] + void AddSpatialMixerParameters (string identifier, PhaseSource source, PhaseListener listener); + + [Export ("addAmbientMixerParametersWithIdentifier:listener:")] + void AddAmbientMixerParameters (string identifier, PhaseListener listener); + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject), Name="PHASEGroup")] + [DisableDefaultCtor] + interface PhaseGroup + { + [Export ("initWithIdentifier:")] + [DesignatedInitializer] + IntPtr Constructor (string identifier); + + [Export ("registerWithEngine:")] + void Register (PhaseEngine engine); + + [Export ("unregisterFromEngine")] + void Unregister (); + + [Export ("fadeGain:duration:curveType:")] + void FadeGain (double gain, double duration, PhaseCurveType curveType); + + [Export ("fadeRate:duration:curveType:")] + void FadeRate (double rate, double duration, PhaseCurveType curveType); + + [Export ("mute")] + void Mute (); + + [Export ("unmute")] + void Unmute (); + + [Export ("solo")] + void Solo (); + + [Export ("unsolo")] + void Unsolo (); + + [Export ("identifier")] + string Identifier { get; } + + [Export ("gain")] + double Gain { get; set; } + + [Export ("rate")] + double Rate { get; set; } + + [Export ("muted")] + bool Muted { [Bind ("isMuted")] get; } + + [Export ("soloed")] + bool Soloed { [Bind ("isSoloed")] get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseDefinition), Name="PHASESoundEventNodeDefinition")] + [DisableDefaultCtor] + interface PhaseSoundEventNodeDefinition + { + [Export ("children", ArgumentSemantic.Copy)] + PhaseSoundEventNodeDefinition[] Children { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseSoundEventNodeDefinition), Name="PHASEGeneratorNodeDefinition")] + [DisableDefaultCtor] + interface PhaseGeneratorNodeDefinition + { + [Export ("setCalibrationMode:level:")] + void SetCalibrationMode (PhaseCalibrationMode calibrationMode, double level); + + [Export ("calibrationMode")] + PhaseCalibrationMode CalibrationMode { get; } + + [Export ("level")] + double Level { get; } + + [Export ("rate")] + double Rate { get; set; } + + [NullAllowed, Export ("group", ArgumentSemantic.Weak)] + PhaseGroup Group { get; set; } + + [NullAllowed, Export ("gainMetaParameterDefinition", ArgumentSemantic.Strong)] + PhaseNumberMetaParameterDefinition GainMetaParameterDefinition { get; set; } + + [NullAllowed, Export ("rateMetaParameterDefinition", ArgumentSemantic.Strong)] + PhaseNumberMetaParameterDefinition RateMetaParameterDefinition { get; set; } + + [Export ("mixerDefinition", ArgumentSemantic.Strong)] + PhaseMixerDefinition MixerDefinition { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseGeneratorNodeDefinition), Name="PHASESamplerNodeDefinition")] + [DisableDefaultCtor] + interface PhaseSamplerNodeDefinition + { + [Export ("initWithSoundAssetIdentifier:mixerDefinition:identifier:")] + IntPtr Constructor (string soundAssetIdentifier, PhaseMixerDefinition mixerDefinition, string identifier); + + [Export ("initWithSoundAssetIdentifier:mixerDefinition:")] + [DesignatedInitializer] + IntPtr Constructor (string soundAssetIdentifier, PhaseMixerDefinition mixerDefinition); + + [Export ("assetIdentifier", ArgumentSemantic.Strong)] + string AssetIdentifier { get; } + + [Export ("cullOption", ArgumentSemantic.Assign)] + PhaseCullOption CullOption { get; set; } + + [Export ("playbackMode", ArgumentSemantic.Assign)] + PhasePlaybackMode PlaybackMode { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseSoundEventNodeDefinition), Name="PHASEContainerNodeDefinition")] + interface PhaseContainerNodeDefinition + { + [Static] + [Export ("new")] + [return: Release] + PhaseContainerNodeDefinition Create (); + + [Export ("initWithIdentifier:")] + IntPtr Constructor (string identifier); + + [Export ("addSubtree:")] + void Add (PhaseSoundEventNodeDefinition subtree); + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseSoundEventNodeDefinition), Name="PHASEBlendNodeDefinition")] + [DisableDefaultCtor] + interface PhaseBlendNodeDefinition + { + [Export ("initWithBlendMetaParameterDefinition:identifier:")] + IntPtr Constructor (PhaseNumberMetaParameterDefinition blendMetaParameterDefinition, string identifier); + + [Export ("initWithBlendMetaParameterDefinition:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseNumberMetaParameterDefinition blendMetaParameterDefinition); + + [Export ("initDistanceBlendWithSpatialMixerDefinition:identifier:")] + IntPtr Constructor (PhaseSpatialMixerDefinition spatialMixerDefinition, string identifier); + + [Export ("initDistanceBlendWithSpatialMixerDefinition:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseSpatialMixerDefinition spatialMixerDefinition); + + [NullAllowed, Export ("blendParameterDefinition", ArgumentSemantic.Strong)] + PhaseNumberMetaParameterDefinition BlendParameterDefinition { get; } + + [NullAllowed, Export ("spatialMixerDefinitionForDistance", ArgumentSemantic.Strong)] + PhaseSpatialMixerDefinition SpatialMixerDefinitionForDistance { get; } + + [Export ("addRangeForInputValuesBelow:fullGainAtValue:fadeCurveType:subtree:")] + void AddRangeForInputValuesBelow (double value, double fullGainAtValue, PhaseCurveType fadeCurveType, PhaseSoundEventNodeDefinition subtree); + + [Export ("addRangeForInputValuesBetween:highValue:fullGainAtLowValue:fullGainAtHighValue:lowFadeCurveType:highFadeCurveType:subtree:")] + void AddRangeForInputValuesBetween (double lowValue, double highValue, double fullGainAtLowValue, double fullGainAtHighValue, PhaseCurveType lowFadeCurveType, PhaseCurveType highFadeCurveType, PhaseSoundEventNodeDefinition subtree); + + [Export ("addRangeForInputValuesAbove:fullGainAtValue:fadeCurveType:subtree:")] + void AddRangeForInputValuesAbove (double value, double fullGainAtValue, PhaseCurveType fadeCurveType, PhaseSoundEventNodeDefinition subtree); + + [Export ("addRangeWithEnvelope:subtree:")] + void AddRangeWithEnvelope (PhaseEnvelope envelope, PhaseSoundEventNodeDefinition subtree); + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(PhaseSoundEventNodeDefinition), Name="PHASESwitchNodeDefinition")] + [DisableDefaultCtor] + interface PhaseSwitchNodeDefinition + { + [Export ("initWithSwitchMetaParameterDefinition:identifier:")] + IntPtr Constructor (PhaseStringMetaParameterDefinition switchMetaParameterDefinition, string identifier); + + [Export ("initWithSwitchMetaParameterDefinition:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseStringMetaParameterDefinition switchMetaParameterDefinition); + + [Export ("addSubtree:switchValue:")] + void AddSubtree (PhaseSoundEventNodeDefinition subtree, string switchValue); + + [Export ("switchMetaParameterDefinition", ArgumentSemantic.Strong)] + PhaseStringMetaParameterDefinition SwitchMetaParameterDefinition { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(PhaseSoundEventNodeDefinition), Name="PHASERandomNodeDefinition")] + [DisableDefaultCtor] + interface PhaseRandomNodeDefinition + { + [DesignatedInitializer] + [Export ("init")] + IntPtr Constructor (); + + [Export ("initWithIdentifier:")] + IntPtr Constructor (string identifier); + + [Export ("addSubtree:weight:")] + void AddSubtree (PhaseSoundEventNodeDefinition subtree, NSNumber weight); + + [Export ("uniqueSelectionQueueLength")] + nint UniqueSelectionQueueLength { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(PhaseGeneratorNodeDefinition), Name="PHASEPushStreamNodeDefinition")] + [DisableDefaultCtor] + interface PhasePushStreamNodeDefinition + { + [Export ("initWithMixerDefinition:format:identifier:")] + IntPtr Constructor (PhaseMixerDefinition mixerDefinition, AVAudioFormat format, string identifier); + + [Export ("initWithMixerDefinition:format:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseMixerDefinition mixerDefinition, AVAudioFormat format); + + [Export ("format", ArgumentSemantic.Strong)] + AVAudioFormat Format { get; } + + [Export ("normalize")] + bool Normalize { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject), Name="PHASEPushStreamNode")] + [DisableDefaultCtor] + interface PhasePushStreamNode + { + [NullAllowed, Export ("gainMetaParameter", ArgumentSemantic.Strong)] + PhaseNumberMetaParameter GainMetaParameter { get; } + + [NullAllowed, Export ("rateMetaParameter", ArgumentSemantic.Strong)] + PhaseNumberMetaParameter RateMetaParameter { get; } + + [Export ("mixer", ArgumentSemantic.Strong)] + PhaseMixer Mixer { get; } + + [Export ("format", ArgumentSemantic.Strong)] + AVAudioFormat Format { get; } + + [Export ("scheduleBuffer:")] + void ScheduleBuffer (AVAudioPcmBuffer buffer); + + [Async] + [Export ("scheduleBuffer:completionCallbackType:completionHandler:")] + void ScheduleBuffer (AVAudioPcmBuffer buffer, PhasePushStreamCompletionCallbackType completionCallbackType, Action completionHandler); + + [Export ("scheduleBuffer:atTime:options:")] + void ScheduleBuffer (AVAudioPcmBuffer buffer, [NullAllowed] AVAudioTime when, PhasePushStreamBufferOptions options); + + [Async] + [Export ("scheduleBuffer:atTime:options:completionCallbackType:completionHandler:")] + void ScheduleBuffer (AVAudioPcmBuffer buffer, [NullAllowed] AVAudioTime when, PhasePushStreamBufferOptions options, PhasePushStreamCompletionCallbackType completionCallbackType, Action completionHandler); + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEAsset")] + [DisableDefaultCtor] + interface PhaseAsset + { + [Export ("identifier")] + string Identifier { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseAsset), Name="PHASEGlobalMetaParameterAsset")] + [DisableDefaultCtor] + interface PhaseGlobalMetaParameterAsset { } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseAsset), Name="PHASESoundAsset")] + [DisableDefaultCtor] + interface PhaseSoundAsset + { + [NullAllowed, Export ("url")] + NSUrl Url { get; } + + [NullAllowed, Export ("data")] + NSData Data { get; } + + [Export ("type")] + PhaseAssetType Type { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseAsset), Name="PHASESoundEventNodeAsset")] + interface PhaseSoundEventNodeAsset {} + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEAssetRegistry")] + [DisableDefaultCtor] + interface PhaseAssetRegistry + { + [Export ("registerGlobalMetaParameter:error:")] + [return: NullAllowed] + PhaseGlobalMetaParameterAsset RegisterGlobalMetaParameter (PhaseMetaParameterDefinition metaParameterDefinition, [NullAllowed] out NSError error); + + [Export ("registerSoundEventAssetWithRootNode:identifier:error:")] + [return: NullAllowed] + PhaseSoundEventNodeAsset RegisterSoundEventAsset (PhaseSoundEventNodeDefinition rootNode, [NullAllowed] string identifier, [NullAllowed] out NSError error); + + [Export ("registerSoundAssetAtURL:identifier:assetType:channelLayout:normalizationMode:error:")] + [return: NullAllowed] + PhaseSoundAsset RegisterSoundAsset (NSUrl url, [NullAllowed] string identifier, PhaseAssetType assetType, [NullAllowed] AVAudioChannelLayout channelLayout, PhaseNormalizationMode normalizationMode, [NullAllowed] out NSError error); + + [Export ("registerSoundAssetWithData:identifier:format:normalizationMode:error:")] + [return: NullAllowed] + PhaseSoundAsset RegisterSoundAsset (NSData data, [NullAllowed] string identifier, AVAudioFormat format, PhaseNormalizationMode normalizationMode, [NullAllowed] out NSError error); + + [Async] + [Export ("unregisterAssetWithIdentifier:completionBlock:")] + void UnregisterAsset (string identifier, [NullAllowed] Action completionBlock); + + [Export ("assetForIdentifier:")] + [return: NullAllowed] + PhaseAsset GetAsset (string identifier); + + [Export ("globalMetaParameters", ArgumentSemantic.Copy)] + NSDictionary GlobalMetaParameters { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject), Name="PHASECardioidDirectivityModelSubbandParameters")] + interface PhaseCardioidDirectivityModelSubbandParameters + { + [Export ("frequency")] + double Frequency { get; set; } + + [Export ("pattern")] + double Pattern { get; set; } + + [Export ("sharpness")] + double Sharpness { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEConeDirectivityModelSubbandParameters")] + interface PhaseConeDirectivityModelSubbandParameters + { + [Export ("setInnerAngle:outerAngle:")] + void SetInnerAngle (double innerAngle, double outerAngle); + + [Export ("frequency")] + double Frequency { get; set; } + + [Export ("innerAngle")] + double InnerAngle { get; } + + [Export ("outerAngle")] + double OuterAngle { get; } + + [Export ("outerGain")] + double OuterGain { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEDirectivityModelParameters")] + interface PhaseDirectivityModelParameters {} + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseDirectivityModelParameters), Name="PHASECardioidDirectivityModelParameters")] + [DisableDefaultCtor] + interface PhaseCardioidDirectivityModelParameters + { + [Export ("initWithSubbandParameters:")] + IntPtr Constructor (PhaseCardioidDirectivityModelSubbandParameters[] subbandParameters); + + [Export ("subbandParameters", ArgumentSemantic.Strong)] + PhaseCardioidDirectivityModelSubbandParameters[] SubbandParameters { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseDirectivityModelParameters), Name="PHASEConeDirectivityModelParameters")] + interface PhaseConeDirectivityModelParameters + { + [Export ("initWithSubbandParameters:")] + IntPtr Constructor (PhaseConeDirectivityModelSubbandParameters[] subbandParameters); + + [Export ("subbandParameters", ArgumentSemantic.Strong)] + PhaseConeDirectivityModelSubbandParameters[] SubbandParameters { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEDistanceModelFadeOutParameters")] + [DisableDefaultCtor] + interface PhaseDistanceModelFadeOutParameters + { + [Export ("initWithCullDistance:")] + [DesignatedInitializer] + IntPtr Constructor (double cullDistance); + + [Export ("cullDistance")] + double CullDistance { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEDistanceModelParameters")] + [DisableDefaultCtor] + interface PhaseDistanceModelParameters + { + [NullAllowed, Export ("fadeOutParameters", ArgumentSemantic.Strong)] + PhaseDistanceModelFadeOutParameters FadeOutParameters { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseDistanceModelParameters), Name="PHASEGeometricSpreadingDistanceModelParameters")] + interface PhaseGeometricSpreadingDistanceModelParameters + { + [Export ("rolloffFactor")] + double RolloffFactor { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseDistanceModelParameters), Name="PHASEEnvelopeDistanceModelParameters")] + [DisableDefaultCtor] + interface PhaseEnvelopeDistanceModelParameters + { + [Export ("initWithEnvelope:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseEnvelope envelope); + + [Export ("envelope", ArgumentSemantic.Strong)] + PhaseEnvelope Envelope { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEDucker")] + [DisableDefaultCtor] + interface PhaseDucker + { + [Export ("initWithEngine:sourceGroups:targetGroups:gain:attackTime:releaseTime:attackCurve:releaseCurve:")] + IntPtr Constructor (PhaseEngine engine, NSSet sourceGroups, NSSet targetGroups, double gain, double attackTime, double releaseTime, PhaseCurveType attackCurve, PhaseCurveType releaseCurve); + + [Export ("activate")] + void Activate (); + + [Export ("deactivate")] + void Deactivate (); + + [Export ("isActive")] + bool IsActive { get; } + + [Export ("sourceGroups", ArgumentSemantic.Copy)] + NSSet SourceGroups { get; } + + [Export ("targetGroups", ArgumentSemantic.Copy)] + NSSet TargetGroups { get; } + + [Export ("gain")] + double Gain { get; } + + [Export ("attackTime")] + double AttackTime { get; } + + [Export ("releaseTime")] + double ReleaseTime { get; } + + [Export ("attackCurve")] + PhaseCurveType AttackCurve { get; } + + [Export ("releaseCurve")] + PhaseCurveType ReleaseCurve { get; } + + [Export ("identifier")] + string Identifier { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEGroupPresetSetting")] + [DisableDefaultCtor] + interface PhaseGroupPresetSetting + { + [Export ("initWithGain:rate:gainCurveType:rateCurveType:")] + IntPtr Constructor (double gain, double rate, PhaseCurveType gainCurveType, PhaseCurveType rateCurveType); + + [Export ("gain")] + double Gain { get; } + + [Export ("rate")] + double Rate { get; } + + [Export ("gainCurveType")] + PhaseCurveType GainCurveType { get; } + + [Export ("rateCurveType")] + PhaseCurveType RateCurveType { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEGroupPreset")] + [DisableDefaultCtor] + interface PhaseGroupPreset + { + [Export ("initWithEngine:settings:timeToTarget:timeToReset:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseEngine engine, NSDictionary settings, double timeToTarget, double timeToReset); + + [Export ("settings")] + NSDictionary Settings { get; } + + [Export ("timeToTarget")] + double TimeToTarget { get; } + + [Export ("timeToReset")] + double TimeToReset { get; } + + [Export ("activate")] + void Activate (); + + [Export ("activateWithTimeToTargetOverride:")] + void ActivateWithTimeToTargetOverride (double timeToTargetOverride); + + [Export ("deactivate")] + void Deactivate (); + + [Export ("deactivateWithTimeToResetOverride:")] + void DeactivateWithTimeToResetOverride (double timeToResetOverride); + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEMedium")] + [DisableDefaultCtor] + interface PhaseMedium + { + [Export ("initWithEngine:preset:")] + IntPtr Constructor (PhaseEngine engine, PhaseMediumPreset preset); + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEObject")] + [DisableDefaultCtor] + interface PhaseObject : NSCopying + { + [Export ("initWithEngine:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseEngine engine); + + [Export ("addChild:error:")] + bool AddChild (PhaseObject child, [NullAllowed] out NSError error); + + [Export ("removeChild:")] + void RemoveChild (PhaseObject child); + + [Export ("removeChildren")] + void RemoveChildren (); + + [NullAllowed, Export ("parent", ArgumentSemantic.Weak)] + PhaseObject Parent { get; } + + [Export ("children", ArgumentSemantic.Copy)] + PhaseObject[] Children { get; } + +/* + [Static] + [Export ("right")] + [unsupported ExtVector: float __attribute__((ext_vector_type(3)))] Right { get; } + + [Static] + [Export ("up")] + [unsupported ExtVector: float __attribute__((ext_vector_type(3)))] Up { get; } + + [Static] + [Export ("forward")] + [unsupported ExtVector: float __attribute__((ext_vector_type(3)))] Forward { get; } + + [Export ("transform", ArgumentSemantic.Assign)] + simd_float4x4 Transform { get; set; } + + [Export ("worldTransform", ArgumentSemantic.Assign)] + simd_float4x4 WorldTransform { get; set; } +*/ + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASESoundEvent")] + [DisableDefaultCtor] + interface PhaseSoundEvent + { + [Export ("initWithEngine:assetIdentifier:mixerParameters:error:")] + IntPtr Constructor (PhaseEngine engine, string assetIdentifier, PhaseMixerParameters mixerParameters, [NullAllowed] out NSError error); + + [Export ("initWithEngine:assetIdentifier:error:")] + IntPtr Constructor (PhaseEngine engine, string assetIdentifier, [NullAllowed] out NSError error); + + [Async] + [Export ("prepareWithCompletionBlock:")] + void Prepare (Action completionBlock); + + [Export ("prepareAndReturnError:")] + bool Prepare ([NullAllowed] out NSError error); + + [Async] + [Export ("startWithCompletionBlock:")] + bool Start (Action completionBlock); + + [Export ("startAndReturnError:")] + bool Start ([NullAllowed] out NSError error); + + [Export ("seekToTime:completionBlock:")] + bool SeekToTime (double time, [NullAllowed] Action completionBlock); + + [Export ("pause")] + void Pause (); + + [Export ("resume")] + void Resume (); + + [Export ("stopAndInvalidate")] + void StopAndInvalidate (); + + [Export ("renderingState")] + PhaseRenderingState RenderingState { get; } + + [Export ("prepareState")] + PhaseSoundEventPrepareState PrepareState { get; } + + [Export ("metaParameters", ArgumentSemantic.Copy)] + NSDictionary MetaParameters { get; } + + [Export ("mixers", ArgumentSemantic.Copy)] + NSDictionary Mixers { get; } + + [Export ("pushStreamNodes", ArgumentSemantic.Copy)] + NSDictionary PushStreamNodes { get; } + + [Export ("indefinite")] + bool Indefinite { [Bind ("isIndefinite")] get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEEngine")] + [DisableDefaultCtor] + interface PhaseEngine + { + [Export ("initWithUpdateMode:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseUpdateMode updateMode); + + [Export ("startAndReturnError:")] + bool Start ([NullAllowed] out NSError error); + + [Export ("pause")] + void Pause (); + + [Export ("stop")] + void Stop (); + + [Export ("update")] + void Update (); + + [Export ("outputSpatializationMode", ArgumentSemantic.Assign)] + PhaseSpatializationMode OutputSpatializationMode { get; set; } + + [Export ("renderingState")] + PhaseRenderingState RenderingState { get; } + + [Export ("rootObject", ArgumentSemantic.Strong)] + PhaseObject RootObject { get; } + + [Export ("defaultMedium", ArgumentSemantic.Strong)] + PhaseMedium DefaultMedium { get; set; } + + [Export ("defaultReverbPreset", ArgumentSemantic.Assign)] + PhaseReverbPreset DefaultReverbPreset { get; set; } + + [Export ("unitsPerSecond")] + double UnitsPerSecond { get; set; } + + [Export ("unitsPerMeter")] + double UnitsPerMeter { get; set; } + + [Export ("assetRegistry", ArgumentSemantic.Strong)] + PhaseAssetRegistry AssetRegistry { get; } + + [Export ("soundEvents", ArgumentSemantic.Copy)] + PhaseSoundEvent[] SoundEvents { get; } + + [Export ("groups", ArgumentSemantic.Copy)] + NSDictionary Groups { get; } + + [Export ("duckers", ArgumentSemantic.Copy)] + PhaseDucker[] Duckers { get; } + + [NullAllowed, Export ("activeGroupPreset", ArgumentSemantic.Strong)] + PhaseGroupPreset ActiveGroupPreset { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseObject), Name="PHASEListener")] + [DisableDefaultCtor] + interface PhaseListener + { + [Export ("initWithEngine:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseEngine engine); + + [Export ("gain")] + double Gain { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEMaterial")] + [DisableDefaultCtor] + interface PhaseMaterial + { + [Export ("initWithEngine:preset:")] + IntPtr Constructor (PhaseEngine engine, PhaseMaterialPreset preset); + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEShapeElement")] + [DisableDefaultCtor] + interface PhaseShapeElement + { + [NullAllowed, Export ("material", ArgumentSemantic.Strong)] + PhaseMaterial Material { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASEShape")] + [DisableDefaultCtor] + interface PhaseShape : NSCopying + { + [Export ("initWithEngine:mesh:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseEngine engine, MDLMesh mesh); + + [Export ("initWithEngine:mesh:materials:")] + IntPtr Constructor (PhaseEngine engine, MDLMesh mesh, PhaseMaterial[] materials); + + [Export ("elements", ArgumentSemantic.Copy)] + PhaseShapeElement[] Elements { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseObject), Name="PHASEOccluder")] + [DisableDefaultCtor] + interface PhaseOccluder + { + [Export ("initWithEngine:shapes:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseEngine engine, PhaseShape[] shapes); + + [Export ("shapes", ArgumentSemantic.Copy)] + PhaseShape[] Shapes { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (PhaseObject), Name="PHASESource")] + [DisableDefaultCtor] + interface PhaseSource + { + [Export ("initWithEngine:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseEngine engine); + + [Export ("initWithEngine:shapes:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseEngine engine, PhaseShape[] shapes); + + [Export ("gain")] + double Gain { get; set; } + + [Export ("shapes", ArgumentSemantic.Copy)] + PhaseShape[] Shapes { get; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASESpatialPipelineEntry")] + interface PhaseSpatialPipelineEntry + { + [Export ("sendLevel")] + double SendLevel { get; set; } + + [NullAllowed, Export ("sendLevelMetaParameterDefinition", ArgumentSemantic.Strong)] + PhaseNumberMetaParameterDefinition SendLevelMetaParameterDefinition { get; set; } + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof (NSObject), Name="PHASESpatialPipeline")] + [DisableDefaultCtor] + interface PhaseSpatialPipeline + { + [Export ("initWithOptions:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseSpatialPipelineOptions options); + + [Export ("options")] + PhaseSpatialPipelineOptions Options { get; } + + [Export ("entries", ArgumentSemantic.Copy)] + NSDictionary Entries { get; } + } +} diff --git a/tests/xtro-sharpie/MacCatalyst-PHASE.todo b/tests/xtro-sharpie/MacCatalyst-PHASE.todo deleted file mode 100644 index f868d344e402..000000000000 --- a/tests/xtro-sharpie/MacCatalyst-PHASE.todo +++ /dev/null @@ -1,363 +0,0 @@ -!missing-enum! PHASEAssetError not bound -!missing-enum! PHASEAssetType not bound -!missing-enum! PHASECalibrationMode not bound -!missing-enum! PHASECullOption not bound -!missing-enum! PHASECurveType not bound -!missing-enum! PHASEError not bound -!missing-enum! PHASEMaterialPreset not bound -!missing-enum! PHASEMediumPreset not bound -!missing-enum! PHASENormalizationMode not bound -!missing-enum! PHASEPlaybackMode not bound -!missing-enum! PHASEPushStreamBufferOptions not bound -!missing-enum! PHASEPushStreamCompletionCallbackType not bound -!missing-enum! PHASERenderingState not bound -!missing-enum! PHASEReverbPreset not bound -!missing-enum! PHASESoundEventError not bound -!missing-enum! PHASESoundEventPrepareHandlerReason not bound -!missing-enum! PHASESoundEventPrepareState not bound -!missing-enum! PHASESoundEventSeekHandlerReason not bound -!missing-enum! PHASESoundEventStartHandlerReason not bound -!missing-enum! PHASESpatializationMode not bound -!missing-enum! PHASESpatialPipelineOptions not bound -!missing-enum! PHASEUpdateMode not bound -!missing-field! PHASEAssetErrorDomain not bound -!missing-field! PHASEErrorDomain not bound -!missing-field! PHASESoundEventErrorDomain not bound -!missing-field! PHASESpatialCategoryDirectPathTransmission not bound -!missing-field! PHASESpatialCategoryEarlyReflections not bound -!missing-field! PHASESpatialCategoryLateReverb not bound -!missing-selector! +PHASEObject::forward not bound -!missing-selector! +PHASEObject::right not bound -!missing-selector! +PHASEObject::up not bound -!missing-selector! PHASEAmbientMixerDefinition::initWithChannelLayout:orientation: not bound -!missing-selector! PHASEAmbientMixerDefinition::initWithChannelLayout:orientation:identifier: not bound -!missing-selector! PHASEAmbientMixerDefinition::inputChannelLayout not bound -!missing-selector! PHASEAmbientMixerDefinition::orientation not bound -!missing-selector! PHASEAsset::identifier not bound -!missing-selector! PHASEAssetRegistry::assetForIdentifier: not bound -!missing-selector! PHASEAssetRegistry::globalMetaParameters not bound -!missing-selector! PHASEAssetRegistry::registerGlobalMetaParameter:error: not bound -!missing-selector! PHASEAssetRegistry::registerSoundAssetAtURL:identifier:assetType:channelLayout:normalizationMode:error: not bound -!missing-selector! PHASEAssetRegistry::registerSoundAssetWithData:identifier:format:normalizationMode:error: not bound -!missing-selector! PHASEAssetRegistry::registerSoundEventAssetWithRootNode:identifier:error: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeForInputValuesAbove:fullGainAtValue:fadeCurveType:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeForInputValuesBelow:fullGainAtValue:fadeCurveType:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeForInputValuesBetween:highValue:fullGainAtLowValue:fullGainAtHighValue:lowFadeCurveType:highFadeCurveType:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeWithEnvelope:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::blendParameterDefinition not bound -!missing-selector! PHASEBlendNodeDefinition::initDistanceBlendWithSpatialMixerDefinition: not bound -!missing-selector! PHASEBlendNodeDefinition::initDistanceBlendWithSpatialMixerDefinition:identifier: not bound -!missing-selector! PHASEBlendNodeDefinition::initWithBlendMetaParameterDefinition: not bound -!missing-selector! PHASEBlendNodeDefinition::initWithBlendMetaParameterDefinition:identifier: not bound -!missing-selector! PHASEBlendNodeDefinition::spatialMixerDefinitionForDistance not bound -!missing-selector! PHASECardioidDirectivityModelParameters::init not bound -!missing-selector! PHASECardioidDirectivityModelParameters::subbands not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::frequency not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::init not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::pattern not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::setFrequency: not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::setPattern: not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::setSharpness: not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::sharpness not bound -!missing-selector! PHASEChannelMixerDefinition::initWithChannelLayout: not bound -!missing-selector! PHASEChannelMixerDefinition::initWithChannelLayout:identifier: not bound -!missing-selector! PHASEChannelMixerDefinition::inputChannelLayout not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::frequency not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::init not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::innerAngle not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::outerAngle not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::outerGain not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::setFrequency: not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::setInnerAngle:outerAngle: not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::setOuterGain: not bound -!missing-selector! PHASEContainerNodeDefinition::addSubtree: not bound -!missing-selector! PHASEContainerNodeDefinition::init not bound -!missing-selector! PHASEContainerNodeDefinition::initWithIdentifier: not bound -!missing-selector! PHASEDefinition::identifier not bound -!missing-selector! PHASEDistanceModelFadeOutParameters::cullDistance not bound -!missing-selector! PHASEDistanceModelFadeOutParameters::initWithCullDistance: not bound -!missing-selector! PHASEDistanceModelParameters::fadeOutParameters not bound -!missing-selector! PHASEDistanceModelParameters::setFadeOutParameters: not bound -!missing-selector! PHASEDucker::attackCurve not bound -!missing-selector! PHASEDucker::attackTime not bound -!missing-selector! PHASEDucker::gain not bound -!missing-selector! PHASEDucker::identifier not bound -!missing-selector! PHASEDucker::initWithEngine:sourceGroups:targetGroups:gain:attackTime:releaseTime:attackCurve:releaseCurve: not bound -!missing-selector! PHASEDucker::isActive not bound -!missing-selector! PHASEDucker::releaseCurve not bound -!missing-selector! PHASEDucker::releaseTime not bound -!missing-selector! PHASEDucker::sourceGroups not bound -!missing-selector! PHASEDucker::targetGroups not bound -!missing-selector! PHASEEngine::activeGroupPreset not bound -!missing-selector! PHASEEngine::assetRegistry not bound -!missing-selector! PHASEEngine::defaultMedium not bound -!missing-selector! PHASEEngine::defaultReverbPreset not bound -!missing-selector! PHASEEngine::duckers not bound -!missing-selector! PHASEEngine::groups not bound -!missing-selector! PHASEEngine::initWithUpdateMode: not bound -!missing-selector! PHASEEngine::pause not bound -!missing-selector! PHASEEngine::renderingState not bound -!missing-selector! PHASEEngine::rootObject not bound -!missing-selector! PHASEEngine::setDefaultMedium: not bound -!missing-selector! PHASEEngine::setDefaultReverbPreset: not bound -!missing-selector! PHASEEngine::setUnitsPerMeter: not bound -!missing-selector! PHASEEngine::setUnitsPerSecond: not bound -!missing-selector! PHASEEngine::soundEvents not bound -!missing-selector! PHASEEngine::startAndReturnError: not bound -!missing-selector! PHASEEngine::stop not bound -!missing-selector! PHASEEngine::unitsPerMeter not bound -!missing-selector! PHASEEngine::unitsPerSecond not bound -!missing-selector! PHASEEngine::update not bound -!missing-selector! PHASEEnvelope::domain not bound -!missing-selector! PHASEEnvelope::evaluateForValue: not bound -!missing-selector! PHASEEnvelope::initWithStartPoint:segments: not bound -!missing-selector! PHASEEnvelope::range not bound -!missing-selector! PHASEEnvelope::segments not bound -!missing-selector! PHASEEnvelope::startPoint not bound -!missing-selector! PHASEEnvelopeDistanceModelParameters::envelope not bound -!missing-selector! PHASEEnvelopeDistanceModelParameters::initWithEnvelope: not bound -!missing-selector! PHASEEnvelopeSegment::curveType not bound -!missing-selector! PHASEEnvelopeSegment::endPoint not bound -!missing-selector! PHASEEnvelopeSegment::initWithEndPoint:curveType: not bound -!missing-selector! PHASEEnvelopeSegment::setCurveType: not bound -!missing-selector! PHASEEnvelopeSegment::setEndPoint: not bound -!missing-selector! PHASEGeneratorNodeDefinition::calibrationMode not bound -!missing-selector! PHASEGeneratorNodeDefinition::gainMetaParameterDefinition not bound -!missing-selector! PHASEGeneratorNodeDefinition::group not bound -!missing-selector! PHASEGeneratorNodeDefinition::level not bound -!missing-selector! PHASEGeneratorNodeDefinition::mixerDefinition not bound -!missing-selector! PHASEGeneratorNodeDefinition::rate not bound -!missing-selector! PHASEGeneratorNodeDefinition::rateMetaParameterDefinition not bound -!missing-selector! PHASEGeneratorNodeDefinition::setCalibrationMode:level: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setGainMetaParameterDefinition: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setGroup: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setRate: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setRateMetaParameterDefinition: not bound -!missing-selector! PHASEGeometricSpreadingDistanceModelParameters::init not bound -!missing-selector! PHASEGeometricSpreadingDistanceModelParameters::rolloffFactor not bound -!missing-selector! PHASEGeometricSpreadingDistanceModelParameters::setRolloffFactor: not bound -!missing-selector! PHASEGroup::fadeGain:duration:curveType: not bound -!missing-selector! PHASEGroup::fadeRate:duration:curveType: not bound -!missing-selector! PHASEGroup::gain not bound -!missing-selector! PHASEGroup::identifier not bound -!missing-selector! PHASEGroup::initWithIdentifier: not bound -!missing-selector! PHASEGroup::isMuted not bound -!missing-selector! PHASEGroup::isSoloed not bound -!missing-selector! PHASEGroup::mute not bound -!missing-selector! PHASEGroup::rate not bound -!missing-selector! PHASEGroup::registerWithEngine: not bound -!missing-selector! PHASEGroup::setGain: not bound -!missing-selector! PHASEGroup::setRate: not bound -!missing-selector! PHASEGroup::solo not bound -!missing-selector! PHASEGroup::unmute not bound -!missing-selector! PHASEGroup::unregisterFromEngine not bound -!missing-selector! PHASEGroup::unsolo not bound -!missing-selector! PHASEGroupPreset::activate not bound -!missing-selector! PHASEGroupPreset::deactivate not bound -!missing-selector! PHASEGroupPreset::initWithEngine:settings:timeToTarget:timeToReset: not bound -!missing-selector! PHASEGroupPreset::settings not bound -!missing-selector! PHASEGroupPreset::timeToReset not bound -!missing-selector! PHASEGroupPreset::timeToTarget not bound -!missing-selector! PHASEGroupPresetSetting::gain not bound -!missing-selector! PHASEGroupPresetSetting::gainCurveType not bound -!missing-selector! PHASEGroupPresetSetting::initWithGain:rate:gainCurveType:rateCurveType: not bound -!missing-selector! PHASEGroupPresetSetting::rate not bound -!missing-selector! PHASEGroupPresetSetting::rateCurveType not bound -!missing-selector! PHASEListener::gain not bound -!missing-selector! PHASEListener::initWithEngine: not bound -!missing-selector! PHASEListener::setGain: not bound -!missing-selector! PHASEMappedMetaParameterDefinition::envelope not bound -!missing-selector! PHASEMappedMetaParameterDefinition::initWithInputMetaParameterDefinition:envelope: not bound -!missing-selector! PHASEMappedMetaParameterDefinition::initWithInputMetaParameterDefinition:envelope:identifier: not bound -!missing-selector! PHASEMappedMetaParameterDefinition::inputMetaParameterDefinition not bound -!missing-selector! PHASEMaterial::initWithEngine:preset: not bound -!missing-selector! PHASEMedium::initWithEngine:preset: not bound -!missing-selector! PHASEMetaParameter::identifier not bound -!missing-selector! PHASEMetaParameter::setValue: not bound -!missing-selector! PHASEMetaParameter::value not bound -!missing-selector! PHASEMetaParameterDefinition::value not bound -!missing-selector! PHASEMixer::gain not bound -!missing-selector! PHASEMixer::gainMetaParameter not bound -!missing-selector! PHASEMixer::identifier not bound -!missing-selector! PHASEMixerDefinition::gain not bound -!missing-selector! PHASEMixerDefinition::gainMetaParameterDefinition not bound -!missing-selector! PHASEMixerDefinition::setGain: not bound -!missing-selector! PHASEMixerDefinition::setGainMetaParameterDefinition: not bound -!missing-selector! PHASEMixerParameters::addAmbientMixerParametersWithIdentifier:listener: not bound -!missing-selector! PHASEMixerParameters::addSpatialMixerParametersWithIdentifier:source:listener: not bound -!missing-selector! PHASENumberMetaParameter::fadeToValue:duration: not bound -!missing-selector! PHASENumberMetaParameter::maximum not bound -!missing-selector! PHASENumberMetaParameter::minimum not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue: not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue:identifier: not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue:minimum:maximum: not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue:minimum:maximum:identifier: not bound -!missing-selector! PHASENumberMetaParameterDefinition::maximum not bound -!missing-selector! PHASENumberMetaParameterDefinition::minimum not bound -!missing-selector! PHASEObject::addChild:error: not bound -!missing-selector! PHASEObject::children not bound -!missing-selector! PHASEObject::initWithEngine: not bound -!missing-selector! PHASEObject::parent not bound -!missing-selector! PHASEObject::removeChild: not bound -!missing-selector! PHASEObject::removeChildren not bound -!missing-selector! PHASEObject::setTransform: not bound -!missing-selector! PHASEObject::setWorldTransform: not bound -!missing-selector! PHASEObject::transform not bound -!missing-selector! PHASEObject::worldTransform not bound -!missing-selector! PHASEOccluder::initWithEngine:shapes: not bound -!missing-selector! PHASEOccluder::shapes not bound -!missing-selector! PHASEPushStreamNode::format not bound -!missing-selector! PHASEPushStreamNode::gainMetaParameter not bound -!missing-selector! PHASEPushStreamNode::mixer not bound -!missing-selector! PHASEPushStreamNode::rateMetaParameter not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer: not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer:atTime:options: not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer:atTime:options:completionCallbackType:completionHandler: not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer:completionCallbackType:completionHandler: not bound -!missing-selector! PHASEPushStreamNodeDefinition::format not bound -!missing-selector! PHASEPushStreamNodeDefinition::initWithMixerDefinition:format: not bound -!missing-selector! PHASEPushStreamNodeDefinition::initWithMixerDefinition:format:identifier: not bound -!missing-selector! PHASEPushStreamNodeDefinition::normalize not bound -!missing-selector! PHASEPushStreamNodeDefinition::setNormalize: not bound -!missing-selector! PHASERandomNodeDefinition::addSubtree:weight: not bound -!missing-selector! PHASERandomNodeDefinition::init not bound -!missing-selector! PHASERandomNodeDefinition::initWithIdentifier: not bound -!missing-selector! PHASESamplerNodeDefinition::assetIdentifier not bound -!missing-selector! PHASESamplerNodeDefinition::initWithSoundAssetIdentifier:mixerDefinition: not bound -!missing-selector! PHASESamplerNodeDefinition::initWithSoundAssetIdentifier:mixerDefinition:identifier: not bound -!missing-selector! PHASEShape::elements not bound -!missing-selector! PHASEShape::initWithEngine:mesh: not bound -!missing-selector! PHASEShape::initWithEngine:mesh:materials: not bound -!missing-selector! PHASEShapeElement::material not bound -!missing-selector! PHASEShapeElement::setMaterial: not bound -!missing-selector! PHASESoundAsset::data not bound -!missing-selector! PHASESoundAsset::type not bound -!missing-selector! PHASESoundAsset::url not bound -!missing-selector! PHASESoundEvent::initWithEngine:assetIdentifier:error: not bound -!missing-selector! PHASESoundEvent::initWithEngine:assetIdentifier:mixerParameters:error: not bound -!missing-selector! PHASESoundEvent::isIndefinite not bound -!missing-selector! PHASESoundEvent::metaParameters not bound -!missing-selector! PHASESoundEvent::mixers not bound -!missing-selector! PHASESoundEvent::pause not bound -!missing-selector! PHASESoundEvent::prepareAndReturnError: not bound -!missing-selector! PHASESoundEvent::prepareState not bound -!missing-selector! PHASESoundEvent::pushStreamNodes not bound -!missing-selector! PHASESoundEvent::renderingState not bound -!missing-selector! PHASESoundEvent::resume not bound -!missing-selector! PHASESoundEvent::startAndReturnError: not bound -!missing-selector! PHASESoundEvent::stopAndInvalidate not bound -!missing-selector! PHASESoundEventNodeDefinition::children not bound -!missing-selector! PHASESource::gain not bound -!missing-selector! PHASESource::initWithEngine: not bound -!missing-selector! PHASESource::initWithEngine:shapes: not bound -!missing-selector! PHASESource::setGain: not bound -!missing-selector! PHASESource::shapes not bound -!missing-selector! PHASESpatialMixerDefinition::distanceModelParameters not bound -!missing-selector! PHASESpatialMixerDefinition::initWithSpatialPipeline: not bound -!missing-selector! PHASESpatialMixerDefinition::initWithSpatialPipeline:identifier: not bound -!missing-selector! PHASESpatialMixerDefinition::listenerDirectivityModelParameters not bound -!missing-selector! PHASESpatialMixerDefinition::setDistanceModelParameters: not bound -!missing-selector! PHASESpatialMixerDefinition::setListenerDirectivityModelParameters: not bound -!missing-selector! PHASESpatialMixerDefinition::setSourceDirectivityModelParameters: not bound -!missing-selector! PHASESpatialMixerDefinition::sourceDirectivityModelParameters not bound -!missing-selector! PHASESpatialMixerDefinition::spatialPipeline not bound -!missing-selector! PHASESpatialPipeline::entries not bound -!missing-selector! PHASESpatialPipeline::initWithOptions: not bound -!missing-selector! PHASESpatialPipeline::options not bound -!missing-selector! PHASESpatialPipelineEntry::sendLevel not bound -!missing-selector! PHASESpatialPipelineEntry::sendLevelMetaParameterDefinition not bound -!missing-selector! PHASESpatialPipelineEntry::setSendLevel: not bound -!missing-selector! PHASESpatialPipelineEntry::setSendLevelMetaParameterDefinition: not bound -!missing-selector! PHASEStringMetaParameterDefinition::initWithValue: not bound -!missing-selector! PHASEStringMetaParameterDefinition::initWithValue:identifier: not bound -!missing-selector! PHASESwitchNodeDefinition::addSubtree:switchValue: not bound -!missing-selector! PHASESwitchNodeDefinition::initWithSwitchMetaParameterDefinition: not bound -!missing-selector! PHASESwitchNodeDefinition::initWithSwitchMetaParameterDefinition:identifier: not bound -!missing-selector! PHASESwitchNodeDefinition::switchMetaParameterDefinition not bound -!missing-type! PHASEAmbientMixerDefinition not bound -!missing-type! PHASEAsset not bound -!missing-type! PHASEAssetRegistry not bound -!missing-type! PHASEBlendNodeDefinition not bound -!missing-type! PHASECardioidDirectivityModelParameters not bound -!missing-type! PHASECardioidDirectivityModelSubbandParameters not bound -!missing-type! PHASEChannelMixerDefinition not bound -!missing-type! PHASEConeDirectivityModelParameters not bound -!missing-type! PHASEConeDirectivityModelSubbandParameters not bound -!missing-type! PHASEContainerNodeDefinition not bound -!missing-type! PHASEDefinition not bound -!missing-type! PHASEDirectivityModelParameters not bound -!missing-type! PHASEDistanceModelFadeOutParameters not bound -!missing-type! PHASEDistanceModelParameters not bound -!missing-type! PHASEDucker not bound -!missing-type! PHASEEngine not bound -!missing-type! PHASEEnvelope not bound -!missing-type! PHASEEnvelopeDistanceModelParameters not bound -!missing-type! PHASEEnvelopeSegment not bound -!missing-type! PHASEGeneratorNodeDefinition not bound -!missing-type! PHASEGeometricSpreadingDistanceModelParameters not bound -!missing-type! PHASEGlobalMetaParameterAsset not bound -!missing-type! PHASEGroup not bound -!missing-type! PHASEGroupPreset not bound -!missing-type! PHASEGroupPresetSetting not bound -!missing-type! PHASEListener not bound -!missing-type! PHASEMappedMetaParameterDefinition not bound -!missing-type! PHASEMaterial not bound -!missing-type! PHASEMedium not bound -!missing-type! PHASEMetaParameter not bound -!missing-type! PHASEMetaParameterDefinition not bound -!missing-type! PHASEMixer not bound -!missing-type! PHASEMixerDefinition not bound -!missing-type! PHASEMixerParameters not bound -!missing-type! PHASENumberMetaParameter not bound -!missing-type! PHASENumberMetaParameterDefinition not bound -!missing-type! PHASEObject not bound -!missing-type! PHASEOccluder not bound -!missing-type! PHASEPushStreamNode not bound -!missing-type! PHASEPushStreamNodeDefinition not bound -!missing-type! PHASERandomNodeDefinition not bound -!missing-type! PHASESamplerNodeDefinition not bound -!missing-type! PHASEShape not bound -!missing-type! PHASEShapeElement not bound -!missing-type! PHASESoundAsset not bound -!missing-type! PHASESoundEvent not bound -!missing-type! PHASESoundEventNodeAsset not bound -!missing-type! PHASESoundEventNodeDefinition not bound -!missing-type! PHASESource not bound -!missing-type! PHASESpatialMixerDefinition not bound -!missing-type! PHASESpatialPipeline not bound -!missing-type! PHASESpatialPipelineEntry not bound -!missing-type! PHASEStringMetaParameter not bound -!missing-type! PHASEStringMetaParameterDefinition not bound -!missing-type! PHASESwitchNodeDefinition not bound -!missing-selector! PHASEAssetRegistry::unregisterAssetWithIdentifier:completionBlock: not bound -!missing-selector! PHASECardioidDirectivityModelParameters::initWithSubbandParameters: not bound -!missing-selector! PHASECardioidDirectivityModelParameters::subbandParameters not bound -!missing-selector! PHASEConeDirectivityModelParameters::initWithSubbandParameters: not bound -!missing-selector! PHASEConeDirectivityModelParameters::subbandParameters not bound -!missing-selector! PHASEDucker::activate not bound -!missing-selector! PHASEDucker::deactivate not bound -!missing-selector! PHASEEngine::outputSpatializationMode not bound -!missing-selector! PHASEEngine::setOutputSpatializationMode: not bound -!missing-selector! PHASEGeneratorParameters::gain not bound -!missing-selector! PHASEGeneratorParameters::rate not bound -!missing-selector! PHASEGeneratorParameters::setGain: not bound -!missing-selector! PHASEGeneratorParameters::setRate: not bound -!missing-selector! PHASEGroupPreset::activateWithTimeToTargetOverride: not bound -!missing-selector! PHASEGroupPreset::deactivateWithTimeToResetOverride: not bound -!missing-selector! PHASENumericPair::first not bound -!missing-selector! PHASENumericPair::initWithFirstValue:secondValue: not bound -!missing-selector! PHASENumericPair::second not bound -!missing-selector! PHASENumericPair::setFirst: not bound -!missing-selector! PHASENumericPair::setSecond: not bound -!missing-selector! PHASERandomNodeDefinition::setUniqueSelectionQueueLength: not bound -!missing-selector! PHASERandomNodeDefinition::uniqueSelectionQueueLength not bound -!missing-selector! PHASESamplerNodeDefinition::cullOption not bound -!missing-selector! PHASESamplerNodeDefinition::playbackMode not bound -!missing-selector! PHASESamplerNodeDefinition::setCullOption: not bound -!missing-selector! PHASESamplerNodeDefinition::setPlaybackMode: not bound -!missing-selector! PHASESoundEvent::prepareWithCompletionBlock: not bound -!missing-selector! PHASESoundEvent::seekToTime:completionBlock: not bound -!missing-selector! PHASESoundEvent::startWithCompletionBlock: not bound -!missing-type! PHASEGeneratorParameters not bound -!missing-type! PHASENumericPair not bound -!unknown-simd-type-mapping! The Simd type simd_double2 does not have a mapping to a managed type. Please add one in SimdCheck.cs diff --git a/tests/xtro-sharpie/SimdCheck.cs b/tests/xtro-sharpie/SimdCheck.cs index 7562bde46901..a8b5733de6f4 100644 --- a/tests/xtro-sharpie/SimdCheck.cs +++ b/tests/xtro-sharpie/SimdCheck.cs @@ -43,6 +43,8 @@ class NativeSimdInfo { "vector_uint2", new NativeSimdInfo { Managed = "Vector2i", }}, { "vector_uint3", new NativeSimdInfo { Managed = "Vector3i", }}, { "vector_uint4", new NativeSimdInfo { Managed = "Vector4i", }}, + // simd_floatX is typedefed to vector_doubleX + { "simd_double2", new NativeSimdInfo { Managed = "Vector2d" }}, // simd_floatX is typedefed to vector_floatX { "simd_float2", new NativeSimdInfo { Managed = "Vector2" }}, { "simd_float3", new NativeSimdInfo { Managed = "Vector3" }}, @@ -407,4 +409,4 @@ public override void VisitObjCMethodDecl (ObjCMethodDecl decl, VisitKind visitKi Log.On (framework).Add ($"!unknown-simd-type-in-signature! {method}: the native signature has a simd type ({simd_type}), while the corresponding managed method is using an incorrect (non-simd) type."); } } -} \ No newline at end of file +} diff --git a/tests/xtro-sharpie/common-PHASE.ignore b/tests/xtro-sharpie/common-PHASE.ignore new file mode 100644 index 000000000000..1b6d38d4758c --- /dev/null +++ b/tests/xtro-sharpie/common-PHASE.ignore @@ -0,0 +1,22 @@ +# unsupported due to ExtVector: +!missing-selector! +PHASEObject::forward not bound +!missing-selector! +PHASEObject::right not bound +!missing-selector! +PHASEObject::up not bound +!missing-selector! PHASEObject::setTransform: not bound +!missing-selector! PHASEObject::setWorldTransform: not bound +!missing-selector! PHASEObject::transform not bound +!missing-selector! PHASEObject::worldTransform not bound +!missing-selector! PHASEEnvelopeSegment::endPoint not bound +!missing-selector! PHASEEnvelopeSegment::initWithEndPoint:curveType: not bound +!missing-selector! PHASEEnvelopeSegment::setEndPoint: not bound +!missing-selector! PHASEEnvelope::initWithStartPoint:segments: not bound +!missing-selector! PHASEEnvelope::startPoint not bound + +# Added and deprecated in the same version +!missing-type! PHASEGeneratorParameters not bound +!missing-selector! PHASEGeneratorParameters::gain not bound +!missing-selector! PHASEGeneratorParameters::rate not bound +!missing-selector! PHASEGeneratorParameters::setGain: not bound +!missing-selector! PHASEGeneratorParameters::setRate: not bound +!missing-selector! PHASECardioidDirectivityModelParameters::init not bound +!missing-selector! PHASECardioidDirectivityModelParameters::subbands not bound diff --git a/tests/xtro-sharpie/iOS-PHASE.todo b/tests/xtro-sharpie/iOS-PHASE.todo deleted file mode 100644 index f868d344e402..000000000000 --- a/tests/xtro-sharpie/iOS-PHASE.todo +++ /dev/null @@ -1,363 +0,0 @@ -!missing-enum! PHASEAssetError not bound -!missing-enum! PHASEAssetType not bound -!missing-enum! PHASECalibrationMode not bound -!missing-enum! PHASECullOption not bound -!missing-enum! PHASECurveType not bound -!missing-enum! PHASEError not bound -!missing-enum! PHASEMaterialPreset not bound -!missing-enum! PHASEMediumPreset not bound -!missing-enum! PHASENormalizationMode not bound -!missing-enum! PHASEPlaybackMode not bound -!missing-enum! PHASEPushStreamBufferOptions not bound -!missing-enum! PHASEPushStreamCompletionCallbackType not bound -!missing-enum! PHASERenderingState not bound -!missing-enum! PHASEReverbPreset not bound -!missing-enum! PHASESoundEventError not bound -!missing-enum! PHASESoundEventPrepareHandlerReason not bound -!missing-enum! PHASESoundEventPrepareState not bound -!missing-enum! PHASESoundEventSeekHandlerReason not bound -!missing-enum! PHASESoundEventStartHandlerReason not bound -!missing-enum! PHASESpatializationMode not bound -!missing-enum! PHASESpatialPipelineOptions not bound -!missing-enum! PHASEUpdateMode not bound -!missing-field! PHASEAssetErrorDomain not bound -!missing-field! PHASEErrorDomain not bound -!missing-field! PHASESoundEventErrorDomain not bound -!missing-field! PHASESpatialCategoryDirectPathTransmission not bound -!missing-field! PHASESpatialCategoryEarlyReflections not bound -!missing-field! PHASESpatialCategoryLateReverb not bound -!missing-selector! +PHASEObject::forward not bound -!missing-selector! +PHASEObject::right not bound -!missing-selector! +PHASEObject::up not bound -!missing-selector! PHASEAmbientMixerDefinition::initWithChannelLayout:orientation: not bound -!missing-selector! PHASEAmbientMixerDefinition::initWithChannelLayout:orientation:identifier: not bound -!missing-selector! PHASEAmbientMixerDefinition::inputChannelLayout not bound -!missing-selector! PHASEAmbientMixerDefinition::orientation not bound -!missing-selector! PHASEAsset::identifier not bound -!missing-selector! PHASEAssetRegistry::assetForIdentifier: not bound -!missing-selector! PHASEAssetRegistry::globalMetaParameters not bound -!missing-selector! PHASEAssetRegistry::registerGlobalMetaParameter:error: not bound -!missing-selector! PHASEAssetRegistry::registerSoundAssetAtURL:identifier:assetType:channelLayout:normalizationMode:error: not bound -!missing-selector! PHASEAssetRegistry::registerSoundAssetWithData:identifier:format:normalizationMode:error: not bound -!missing-selector! PHASEAssetRegistry::registerSoundEventAssetWithRootNode:identifier:error: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeForInputValuesAbove:fullGainAtValue:fadeCurveType:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeForInputValuesBelow:fullGainAtValue:fadeCurveType:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeForInputValuesBetween:highValue:fullGainAtLowValue:fullGainAtHighValue:lowFadeCurveType:highFadeCurveType:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeWithEnvelope:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::blendParameterDefinition not bound -!missing-selector! PHASEBlendNodeDefinition::initDistanceBlendWithSpatialMixerDefinition: not bound -!missing-selector! PHASEBlendNodeDefinition::initDistanceBlendWithSpatialMixerDefinition:identifier: not bound -!missing-selector! PHASEBlendNodeDefinition::initWithBlendMetaParameterDefinition: not bound -!missing-selector! PHASEBlendNodeDefinition::initWithBlendMetaParameterDefinition:identifier: not bound -!missing-selector! PHASEBlendNodeDefinition::spatialMixerDefinitionForDistance not bound -!missing-selector! PHASECardioidDirectivityModelParameters::init not bound -!missing-selector! PHASECardioidDirectivityModelParameters::subbands not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::frequency not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::init not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::pattern not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::setFrequency: not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::setPattern: not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::setSharpness: not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::sharpness not bound -!missing-selector! PHASEChannelMixerDefinition::initWithChannelLayout: not bound -!missing-selector! PHASEChannelMixerDefinition::initWithChannelLayout:identifier: not bound -!missing-selector! PHASEChannelMixerDefinition::inputChannelLayout not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::frequency not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::init not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::innerAngle not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::outerAngle not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::outerGain not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::setFrequency: not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::setInnerAngle:outerAngle: not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::setOuterGain: not bound -!missing-selector! PHASEContainerNodeDefinition::addSubtree: not bound -!missing-selector! PHASEContainerNodeDefinition::init not bound -!missing-selector! PHASEContainerNodeDefinition::initWithIdentifier: not bound -!missing-selector! PHASEDefinition::identifier not bound -!missing-selector! PHASEDistanceModelFadeOutParameters::cullDistance not bound -!missing-selector! PHASEDistanceModelFadeOutParameters::initWithCullDistance: not bound -!missing-selector! PHASEDistanceModelParameters::fadeOutParameters not bound -!missing-selector! PHASEDistanceModelParameters::setFadeOutParameters: not bound -!missing-selector! PHASEDucker::attackCurve not bound -!missing-selector! PHASEDucker::attackTime not bound -!missing-selector! PHASEDucker::gain not bound -!missing-selector! PHASEDucker::identifier not bound -!missing-selector! PHASEDucker::initWithEngine:sourceGroups:targetGroups:gain:attackTime:releaseTime:attackCurve:releaseCurve: not bound -!missing-selector! PHASEDucker::isActive not bound -!missing-selector! PHASEDucker::releaseCurve not bound -!missing-selector! PHASEDucker::releaseTime not bound -!missing-selector! PHASEDucker::sourceGroups not bound -!missing-selector! PHASEDucker::targetGroups not bound -!missing-selector! PHASEEngine::activeGroupPreset not bound -!missing-selector! PHASEEngine::assetRegistry not bound -!missing-selector! PHASEEngine::defaultMedium not bound -!missing-selector! PHASEEngine::defaultReverbPreset not bound -!missing-selector! PHASEEngine::duckers not bound -!missing-selector! PHASEEngine::groups not bound -!missing-selector! PHASEEngine::initWithUpdateMode: not bound -!missing-selector! PHASEEngine::pause not bound -!missing-selector! PHASEEngine::renderingState not bound -!missing-selector! PHASEEngine::rootObject not bound -!missing-selector! PHASEEngine::setDefaultMedium: not bound -!missing-selector! PHASEEngine::setDefaultReverbPreset: not bound -!missing-selector! PHASEEngine::setUnitsPerMeter: not bound -!missing-selector! PHASEEngine::setUnitsPerSecond: not bound -!missing-selector! PHASEEngine::soundEvents not bound -!missing-selector! PHASEEngine::startAndReturnError: not bound -!missing-selector! PHASEEngine::stop not bound -!missing-selector! PHASEEngine::unitsPerMeter not bound -!missing-selector! PHASEEngine::unitsPerSecond not bound -!missing-selector! PHASEEngine::update not bound -!missing-selector! PHASEEnvelope::domain not bound -!missing-selector! PHASEEnvelope::evaluateForValue: not bound -!missing-selector! PHASEEnvelope::initWithStartPoint:segments: not bound -!missing-selector! PHASEEnvelope::range not bound -!missing-selector! PHASEEnvelope::segments not bound -!missing-selector! PHASEEnvelope::startPoint not bound -!missing-selector! PHASEEnvelopeDistanceModelParameters::envelope not bound -!missing-selector! PHASEEnvelopeDistanceModelParameters::initWithEnvelope: not bound -!missing-selector! PHASEEnvelopeSegment::curveType not bound -!missing-selector! PHASEEnvelopeSegment::endPoint not bound -!missing-selector! PHASEEnvelopeSegment::initWithEndPoint:curveType: not bound -!missing-selector! PHASEEnvelopeSegment::setCurveType: not bound -!missing-selector! PHASEEnvelopeSegment::setEndPoint: not bound -!missing-selector! PHASEGeneratorNodeDefinition::calibrationMode not bound -!missing-selector! PHASEGeneratorNodeDefinition::gainMetaParameterDefinition not bound -!missing-selector! PHASEGeneratorNodeDefinition::group not bound -!missing-selector! PHASEGeneratorNodeDefinition::level not bound -!missing-selector! PHASEGeneratorNodeDefinition::mixerDefinition not bound -!missing-selector! PHASEGeneratorNodeDefinition::rate not bound -!missing-selector! PHASEGeneratorNodeDefinition::rateMetaParameterDefinition not bound -!missing-selector! PHASEGeneratorNodeDefinition::setCalibrationMode:level: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setGainMetaParameterDefinition: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setGroup: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setRate: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setRateMetaParameterDefinition: not bound -!missing-selector! PHASEGeometricSpreadingDistanceModelParameters::init not bound -!missing-selector! PHASEGeometricSpreadingDistanceModelParameters::rolloffFactor not bound -!missing-selector! PHASEGeometricSpreadingDistanceModelParameters::setRolloffFactor: not bound -!missing-selector! PHASEGroup::fadeGain:duration:curveType: not bound -!missing-selector! PHASEGroup::fadeRate:duration:curveType: not bound -!missing-selector! PHASEGroup::gain not bound -!missing-selector! PHASEGroup::identifier not bound -!missing-selector! PHASEGroup::initWithIdentifier: not bound -!missing-selector! PHASEGroup::isMuted not bound -!missing-selector! PHASEGroup::isSoloed not bound -!missing-selector! PHASEGroup::mute not bound -!missing-selector! PHASEGroup::rate not bound -!missing-selector! PHASEGroup::registerWithEngine: not bound -!missing-selector! PHASEGroup::setGain: not bound -!missing-selector! PHASEGroup::setRate: not bound -!missing-selector! PHASEGroup::solo not bound -!missing-selector! PHASEGroup::unmute not bound -!missing-selector! PHASEGroup::unregisterFromEngine not bound -!missing-selector! PHASEGroup::unsolo not bound -!missing-selector! PHASEGroupPreset::activate not bound -!missing-selector! PHASEGroupPreset::deactivate not bound -!missing-selector! PHASEGroupPreset::initWithEngine:settings:timeToTarget:timeToReset: not bound -!missing-selector! PHASEGroupPreset::settings not bound -!missing-selector! PHASEGroupPreset::timeToReset not bound -!missing-selector! PHASEGroupPreset::timeToTarget not bound -!missing-selector! PHASEGroupPresetSetting::gain not bound -!missing-selector! PHASEGroupPresetSetting::gainCurveType not bound -!missing-selector! PHASEGroupPresetSetting::initWithGain:rate:gainCurveType:rateCurveType: not bound -!missing-selector! PHASEGroupPresetSetting::rate not bound -!missing-selector! PHASEGroupPresetSetting::rateCurveType not bound -!missing-selector! PHASEListener::gain not bound -!missing-selector! PHASEListener::initWithEngine: not bound -!missing-selector! PHASEListener::setGain: not bound -!missing-selector! PHASEMappedMetaParameterDefinition::envelope not bound -!missing-selector! PHASEMappedMetaParameterDefinition::initWithInputMetaParameterDefinition:envelope: not bound -!missing-selector! PHASEMappedMetaParameterDefinition::initWithInputMetaParameterDefinition:envelope:identifier: not bound -!missing-selector! PHASEMappedMetaParameterDefinition::inputMetaParameterDefinition not bound -!missing-selector! PHASEMaterial::initWithEngine:preset: not bound -!missing-selector! PHASEMedium::initWithEngine:preset: not bound -!missing-selector! PHASEMetaParameter::identifier not bound -!missing-selector! PHASEMetaParameter::setValue: not bound -!missing-selector! PHASEMetaParameter::value not bound -!missing-selector! PHASEMetaParameterDefinition::value not bound -!missing-selector! PHASEMixer::gain not bound -!missing-selector! PHASEMixer::gainMetaParameter not bound -!missing-selector! PHASEMixer::identifier not bound -!missing-selector! PHASEMixerDefinition::gain not bound -!missing-selector! PHASEMixerDefinition::gainMetaParameterDefinition not bound -!missing-selector! PHASEMixerDefinition::setGain: not bound -!missing-selector! PHASEMixerDefinition::setGainMetaParameterDefinition: not bound -!missing-selector! PHASEMixerParameters::addAmbientMixerParametersWithIdentifier:listener: not bound -!missing-selector! PHASEMixerParameters::addSpatialMixerParametersWithIdentifier:source:listener: not bound -!missing-selector! PHASENumberMetaParameter::fadeToValue:duration: not bound -!missing-selector! PHASENumberMetaParameter::maximum not bound -!missing-selector! PHASENumberMetaParameter::minimum not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue: not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue:identifier: not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue:minimum:maximum: not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue:minimum:maximum:identifier: not bound -!missing-selector! PHASENumberMetaParameterDefinition::maximum not bound -!missing-selector! PHASENumberMetaParameterDefinition::minimum not bound -!missing-selector! PHASEObject::addChild:error: not bound -!missing-selector! PHASEObject::children not bound -!missing-selector! PHASEObject::initWithEngine: not bound -!missing-selector! PHASEObject::parent not bound -!missing-selector! PHASEObject::removeChild: not bound -!missing-selector! PHASEObject::removeChildren not bound -!missing-selector! PHASEObject::setTransform: not bound -!missing-selector! PHASEObject::setWorldTransform: not bound -!missing-selector! PHASEObject::transform not bound -!missing-selector! PHASEObject::worldTransform not bound -!missing-selector! PHASEOccluder::initWithEngine:shapes: not bound -!missing-selector! PHASEOccluder::shapes not bound -!missing-selector! PHASEPushStreamNode::format not bound -!missing-selector! PHASEPushStreamNode::gainMetaParameter not bound -!missing-selector! PHASEPushStreamNode::mixer not bound -!missing-selector! PHASEPushStreamNode::rateMetaParameter not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer: not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer:atTime:options: not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer:atTime:options:completionCallbackType:completionHandler: not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer:completionCallbackType:completionHandler: not bound -!missing-selector! PHASEPushStreamNodeDefinition::format not bound -!missing-selector! PHASEPushStreamNodeDefinition::initWithMixerDefinition:format: not bound -!missing-selector! PHASEPushStreamNodeDefinition::initWithMixerDefinition:format:identifier: not bound -!missing-selector! PHASEPushStreamNodeDefinition::normalize not bound -!missing-selector! PHASEPushStreamNodeDefinition::setNormalize: not bound -!missing-selector! PHASERandomNodeDefinition::addSubtree:weight: not bound -!missing-selector! PHASERandomNodeDefinition::init not bound -!missing-selector! PHASERandomNodeDefinition::initWithIdentifier: not bound -!missing-selector! PHASESamplerNodeDefinition::assetIdentifier not bound -!missing-selector! PHASESamplerNodeDefinition::initWithSoundAssetIdentifier:mixerDefinition: not bound -!missing-selector! PHASESamplerNodeDefinition::initWithSoundAssetIdentifier:mixerDefinition:identifier: not bound -!missing-selector! PHASEShape::elements not bound -!missing-selector! PHASEShape::initWithEngine:mesh: not bound -!missing-selector! PHASEShape::initWithEngine:mesh:materials: not bound -!missing-selector! PHASEShapeElement::material not bound -!missing-selector! PHASEShapeElement::setMaterial: not bound -!missing-selector! PHASESoundAsset::data not bound -!missing-selector! PHASESoundAsset::type not bound -!missing-selector! PHASESoundAsset::url not bound -!missing-selector! PHASESoundEvent::initWithEngine:assetIdentifier:error: not bound -!missing-selector! PHASESoundEvent::initWithEngine:assetIdentifier:mixerParameters:error: not bound -!missing-selector! PHASESoundEvent::isIndefinite not bound -!missing-selector! PHASESoundEvent::metaParameters not bound -!missing-selector! PHASESoundEvent::mixers not bound -!missing-selector! PHASESoundEvent::pause not bound -!missing-selector! PHASESoundEvent::prepareAndReturnError: not bound -!missing-selector! PHASESoundEvent::prepareState not bound -!missing-selector! PHASESoundEvent::pushStreamNodes not bound -!missing-selector! PHASESoundEvent::renderingState not bound -!missing-selector! PHASESoundEvent::resume not bound -!missing-selector! PHASESoundEvent::startAndReturnError: not bound -!missing-selector! PHASESoundEvent::stopAndInvalidate not bound -!missing-selector! PHASESoundEventNodeDefinition::children not bound -!missing-selector! PHASESource::gain not bound -!missing-selector! PHASESource::initWithEngine: not bound -!missing-selector! PHASESource::initWithEngine:shapes: not bound -!missing-selector! PHASESource::setGain: not bound -!missing-selector! PHASESource::shapes not bound -!missing-selector! PHASESpatialMixerDefinition::distanceModelParameters not bound -!missing-selector! PHASESpatialMixerDefinition::initWithSpatialPipeline: not bound -!missing-selector! PHASESpatialMixerDefinition::initWithSpatialPipeline:identifier: not bound -!missing-selector! PHASESpatialMixerDefinition::listenerDirectivityModelParameters not bound -!missing-selector! PHASESpatialMixerDefinition::setDistanceModelParameters: not bound -!missing-selector! PHASESpatialMixerDefinition::setListenerDirectivityModelParameters: not bound -!missing-selector! PHASESpatialMixerDefinition::setSourceDirectivityModelParameters: not bound -!missing-selector! PHASESpatialMixerDefinition::sourceDirectivityModelParameters not bound -!missing-selector! PHASESpatialMixerDefinition::spatialPipeline not bound -!missing-selector! PHASESpatialPipeline::entries not bound -!missing-selector! PHASESpatialPipeline::initWithOptions: not bound -!missing-selector! PHASESpatialPipeline::options not bound -!missing-selector! PHASESpatialPipelineEntry::sendLevel not bound -!missing-selector! PHASESpatialPipelineEntry::sendLevelMetaParameterDefinition not bound -!missing-selector! PHASESpatialPipelineEntry::setSendLevel: not bound -!missing-selector! PHASESpatialPipelineEntry::setSendLevelMetaParameterDefinition: not bound -!missing-selector! PHASEStringMetaParameterDefinition::initWithValue: not bound -!missing-selector! PHASEStringMetaParameterDefinition::initWithValue:identifier: not bound -!missing-selector! PHASESwitchNodeDefinition::addSubtree:switchValue: not bound -!missing-selector! PHASESwitchNodeDefinition::initWithSwitchMetaParameterDefinition: not bound -!missing-selector! PHASESwitchNodeDefinition::initWithSwitchMetaParameterDefinition:identifier: not bound -!missing-selector! PHASESwitchNodeDefinition::switchMetaParameterDefinition not bound -!missing-type! PHASEAmbientMixerDefinition not bound -!missing-type! PHASEAsset not bound -!missing-type! PHASEAssetRegistry not bound -!missing-type! PHASEBlendNodeDefinition not bound -!missing-type! PHASECardioidDirectivityModelParameters not bound -!missing-type! PHASECardioidDirectivityModelSubbandParameters not bound -!missing-type! PHASEChannelMixerDefinition not bound -!missing-type! PHASEConeDirectivityModelParameters not bound -!missing-type! PHASEConeDirectivityModelSubbandParameters not bound -!missing-type! PHASEContainerNodeDefinition not bound -!missing-type! PHASEDefinition not bound -!missing-type! PHASEDirectivityModelParameters not bound -!missing-type! PHASEDistanceModelFadeOutParameters not bound -!missing-type! PHASEDistanceModelParameters not bound -!missing-type! PHASEDucker not bound -!missing-type! PHASEEngine not bound -!missing-type! PHASEEnvelope not bound -!missing-type! PHASEEnvelopeDistanceModelParameters not bound -!missing-type! PHASEEnvelopeSegment not bound -!missing-type! PHASEGeneratorNodeDefinition not bound -!missing-type! PHASEGeometricSpreadingDistanceModelParameters not bound -!missing-type! PHASEGlobalMetaParameterAsset not bound -!missing-type! PHASEGroup not bound -!missing-type! PHASEGroupPreset not bound -!missing-type! PHASEGroupPresetSetting not bound -!missing-type! PHASEListener not bound -!missing-type! PHASEMappedMetaParameterDefinition not bound -!missing-type! PHASEMaterial not bound -!missing-type! PHASEMedium not bound -!missing-type! PHASEMetaParameter not bound -!missing-type! PHASEMetaParameterDefinition not bound -!missing-type! PHASEMixer not bound -!missing-type! PHASEMixerDefinition not bound -!missing-type! PHASEMixerParameters not bound -!missing-type! PHASENumberMetaParameter not bound -!missing-type! PHASENumberMetaParameterDefinition not bound -!missing-type! PHASEObject not bound -!missing-type! PHASEOccluder not bound -!missing-type! PHASEPushStreamNode not bound -!missing-type! PHASEPushStreamNodeDefinition not bound -!missing-type! PHASERandomNodeDefinition not bound -!missing-type! PHASESamplerNodeDefinition not bound -!missing-type! PHASEShape not bound -!missing-type! PHASEShapeElement not bound -!missing-type! PHASESoundAsset not bound -!missing-type! PHASESoundEvent not bound -!missing-type! PHASESoundEventNodeAsset not bound -!missing-type! PHASESoundEventNodeDefinition not bound -!missing-type! PHASESource not bound -!missing-type! PHASESpatialMixerDefinition not bound -!missing-type! PHASESpatialPipeline not bound -!missing-type! PHASESpatialPipelineEntry not bound -!missing-type! PHASEStringMetaParameter not bound -!missing-type! PHASEStringMetaParameterDefinition not bound -!missing-type! PHASESwitchNodeDefinition not bound -!missing-selector! PHASEAssetRegistry::unregisterAssetWithIdentifier:completionBlock: not bound -!missing-selector! PHASECardioidDirectivityModelParameters::initWithSubbandParameters: not bound -!missing-selector! PHASECardioidDirectivityModelParameters::subbandParameters not bound -!missing-selector! PHASEConeDirectivityModelParameters::initWithSubbandParameters: not bound -!missing-selector! PHASEConeDirectivityModelParameters::subbandParameters not bound -!missing-selector! PHASEDucker::activate not bound -!missing-selector! PHASEDucker::deactivate not bound -!missing-selector! PHASEEngine::outputSpatializationMode not bound -!missing-selector! PHASEEngine::setOutputSpatializationMode: not bound -!missing-selector! PHASEGeneratorParameters::gain not bound -!missing-selector! PHASEGeneratorParameters::rate not bound -!missing-selector! PHASEGeneratorParameters::setGain: not bound -!missing-selector! PHASEGeneratorParameters::setRate: not bound -!missing-selector! PHASEGroupPreset::activateWithTimeToTargetOverride: not bound -!missing-selector! PHASEGroupPreset::deactivateWithTimeToResetOverride: not bound -!missing-selector! PHASENumericPair::first not bound -!missing-selector! PHASENumericPair::initWithFirstValue:secondValue: not bound -!missing-selector! PHASENumericPair::second not bound -!missing-selector! PHASENumericPair::setFirst: not bound -!missing-selector! PHASENumericPair::setSecond: not bound -!missing-selector! PHASERandomNodeDefinition::setUniqueSelectionQueueLength: not bound -!missing-selector! PHASERandomNodeDefinition::uniqueSelectionQueueLength not bound -!missing-selector! PHASESamplerNodeDefinition::cullOption not bound -!missing-selector! PHASESamplerNodeDefinition::playbackMode not bound -!missing-selector! PHASESamplerNodeDefinition::setCullOption: not bound -!missing-selector! PHASESamplerNodeDefinition::setPlaybackMode: not bound -!missing-selector! PHASESoundEvent::prepareWithCompletionBlock: not bound -!missing-selector! PHASESoundEvent::seekToTime:completionBlock: not bound -!missing-selector! PHASESoundEvent::startWithCompletionBlock: not bound -!missing-type! PHASEGeneratorParameters not bound -!missing-type! PHASENumericPair not bound -!unknown-simd-type-mapping! The Simd type simd_double2 does not have a mapping to a managed type. Please add one in SimdCheck.cs diff --git a/tests/xtro-sharpie/macOS-PHASE.todo b/tests/xtro-sharpie/macOS-PHASE.todo deleted file mode 100644 index f868d344e402..000000000000 --- a/tests/xtro-sharpie/macOS-PHASE.todo +++ /dev/null @@ -1,363 +0,0 @@ -!missing-enum! PHASEAssetError not bound -!missing-enum! PHASEAssetType not bound -!missing-enum! PHASECalibrationMode not bound -!missing-enum! PHASECullOption not bound -!missing-enum! PHASECurveType not bound -!missing-enum! PHASEError not bound -!missing-enum! PHASEMaterialPreset not bound -!missing-enum! PHASEMediumPreset not bound -!missing-enum! PHASENormalizationMode not bound -!missing-enum! PHASEPlaybackMode not bound -!missing-enum! PHASEPushStreamBufferOptions not bound -!missing-enum! PHASEPushStreamCompletionCallbackType not bound -!missing-enum! PHASERenderingState not bound -!missing-enum! PHASEReverbPreset not bound -!missing-enum! PHASESoundEventError not bound -!missing-enum! PHASESoundEventPrepareHandlerReason not bound -!missing-enum! PHASESoundEventPrepareState not bound -!missing-enum! PHASESoundEventSeekHandlerReason not bound -!missing-enum! PHASESoundEventStartHandlerReason not bound -!missing-enum! PHASESpatializationMode not bound -!missing-enum! PHASESpatialPipelineOptions not bound -!missing-enum! PHASEUpdateMode not bound -!missing-field! PHASEAssetErrorDomain not bound -!missing-field! PHASEErrorDomain not bound -!missing-field! PHASESoundEventErrorDomain not bound -!missing-field! PHASESpatialCategoryDirectPathTransmission not bound -!missing-field! PHASESpatialCategoryEarlyReflections not bound -!missing-field! PHASESpatialCategoryLateReverb not bound -!missing-selector! +PHASEObject::forward not bound -!missing-selector! +PHASEObject::right not bound -!missing-selector! +PHASEObject::up not bound -!missing-selector! PHASEAmbientMixerDefinition::initWithChannelLayout:orientation: not bound -!missing-selector! PHASEAmbientMixerDefinition::initWithChannelLayout:orientation:identifier: not bound -!missing-selector! PHASEAmbientMixerDefinition::inputChannelLayout not bound -!missing-selector! PHASEAmbientMixerDefinition::orientation not bound -!missing-selector! PHASEAsset::identifier not bound -!missing-selector! PHASEAssetRegistry::assetForIdentifier: not bound -!missing-selector! PHASEAssetRegistry::globalMetaParameters not bound -!missing-selector! PHASEAssetRegistry::registerGlobalMetaParameter:error: not bound -!missing-selector! PHASEAssetRegistry::registerSoundAssetAtURL:identifier:assetType:channelLayout:normalizationMode:error: not bound -!missing-selector! PHASEAssetRegistry::registerSoundAssetWithData:identifier:format:normalizationMode:error: not bound -!missing-selector! PHASEAssetRegistry::registerSoundEventAssetWithRootNode:identifier:error: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeForInputValuesAbove:fullGainAtValue:fadeCurveType:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeForInputValuesBelow:fullGainAtValue:fadeCurveType:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeForInputValuesBetween:highValue:fullGainAtLowValue:fullGainAtHighValue:lowFadeCurveType:highFadeCurveType:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::addRangeWithEnvelope:subtree: not bound -!missing-selector! PHASEBlendNodeDefinition::blendParameterDefinition not bound -!missing-selector! PHASEBlendNodeDefinition::initDistanceBlendWithSpatialMixerDefinition: not bound -!missing-selector! PHASEBlendNodeDefinition::initDistanceBlendWithSpatialMixerDefinition:identifier: not bound -!missing-selector! PHASEBlendNodeDefinition::initWithBlendMetaParameterDefinition: not bound -!missing-selector! PHASEBlendNodeDefinition::initWithBlendMetaParameterDefinition:identifier: not bound -!missing-selector! PHASEBlendNodeDefinition::spatialMixerDefinitionForDistance not bound -!missing-selector! PHASECardioidDirectivityModelParameters::init not bound -!missing-selector! PHASECardioidDirectivityModelParameters::subbands not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::frequency not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::init not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::pattern not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::setFrequency: not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::setPattern: not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::setSharpness: not bound -!missing-selector! PHASECardioidDirectivityModelSubbandParameters::sharpness not bound -!missing-selector! PHASEChannelMixerDefinition::initWithChannelLayout: not bound -!missing-selector! PHASEChannelMixerDefinition::initWithChannelLayout:identifier: not bound -!missing-selector! PHASEChannelMixerDefinition::inputChannelLayout not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::frequency not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::init not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::innerAngle not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::outerAngle not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::outerGain not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::setFrequency: not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::setInnerAngle:outerAngle: not bound -!missing-selector! PHASEConeDirectivityModelSubbandParameters::setOuterGain: not bound -!missing-selector! PHASEContainerNodeDefinition::addSubtree: not bound -!missing-selector! PHASEContainerNodeDefinition::init not bound -!missing-selector! PHASEContainerNodeDefinition::initWithIdentifier: not bound -!missing-selector! PHASEDefinition::identifier not bound -!missing-selector! PHASEDistanceModelFadeOutParameters::cullDistance not bound -!missing-selector! PHASEDistanceModelFadeOutParameters::initWithCullDistance: not bound -!missing-selector! PHASEDistanceModelParameters::fadeOutParameters not bound -!missing-selector! PHASEDistanceModelParameters::setFadeOutParameters: not bound -!missing-selector! PHASEDucker::attackCurve not bound -!missing-selector! PHASEDucker::attackTime not bound -!missing-selector! PHASEDucker::gain not bound -!missing-selector! PHASEDucker::identifier not bound -!missing-selector! PHASEDucker::initWithEngine:sourceGroups:targetGroups:gain:attackTime:releaseTime:attackCurve:releaseCurve: not bound -!missing-selector! PHASEDucker::isActive not bound -!missing-selector! PHASEDucker::releaseCurve not bound -!missing-selector! PHASEDucker::releaseTime not bound -!missing-selector! PHASEDucker::sourceGroups not bound -!missing-selector! PHASEDucker::targetGroups not bound -!missing-selector! PHASEEngine::activeGroupPreset not bound -!missing-selector! PHASEEngine::assetRegistry not bound -!missing-selector! PHASEEngine::defaultMedium not bound -!missing-selector! PHASEEngine::defaultReverbPreset not bound -!missing-selector! PHASEEngine::duckers not bound -!missing-selector! PHASEEngine::groups not bound -!missing-selector! PHASEEngine::initWithUpdateMode: not bound -!missing-selector! PHASEEngine::pause not bound -!missing-selector! PHASEEngine::renderingState not bound -!missing-selector! PHASEEngine::rootObject not bound -!missing-selector! PHASEEngine::setDefaultMedium: not bound -!missing-selector! PHASEEngine::setDefaultReverbPreset: not bound -!missing-selector! PHASEEngine::setUnitsPerMeter: not bound -!missing-selector! PHASEEngine::setUnitsPerSecond: not bound -!missing-selector! PHASEEngine::soundEvents not bound -!missing-selector! PHASEEngine::startAndReturnError: not bound -!missing-selector! PHASEEngine::stop not bound -!missing-selector! PHASEEngine::unitsPerMeter not bound -!missing-selector! PHASEEngine::unitsPerSecond not bound -!missing-selector! PHASEEngine::update not bound -!missing-selector! PHASEEnvelope::domain not bound -!missing-selector! PHASEEnvelope::evaluateForValue: not bound -!missing-selector! PHASEEnvelope::initWithStartPoint:segments: not bound -!missing-selector! PHASEEnvelope::range not bound -!missing-selector! PHASEEnvelope::segments not bound -!missing-selector! PHASEEnvelope::startPoint not bound -!missing-selector! PHASEEnvelopeDistanceModelParameters::envelope not bound -!missing-selector! PHASEEnvelopeDistanceModelParameters::initWithEnvelope: not bound -!missing-selector! PHASEEnvelopeSegment::curveType not bound -!missing-selector! PHASEEnvelopeSegment::endPoint not bound -!missing-selector! PHASEEnvelopeSegment::initWithEndPoint:curveType: not bound -!missing-selector! PHASEEnvelopeSegment::setCurveType: not bound -!missing-selector! PHASEEnvelopeSegment::setEndPoint: not bound -!missing-selector! PHASEGeneratorNodeDefinition::calibrationMode not bound -!missing-selector! PHASEGeneratorNodeDefinition::gainMetaParameterDefinition not bound -!missing-selector! PHASEGeneratorNodeDefinition::group not bound -!missing-selector! PHASEGeneratorNodeDefinition::level not bound -!missing-selector! PHASEGeneratorNodeDefinition::mixerDefinition not bound -!missing-selector! PHASEGeneratorNodeDefinition::rate not bound -!missing-selector! PHASEGeneratorNodeDefinition::rateMetaParameterDefinition not bound -!missing-selector! PHASEGeneratorNodeDefinition::setCalibrationMode:level: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setGainMetaParameterDefinition: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setGroup: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setRate: not bound -!missing-selector! PHASEGeneratorNodeDefinition::setRateMetaParameterDefinition: not bound -!missing-selector! PHASEGeometricSpreadingDistanceModelParameters::init not bound -!missing-selector! PHASEGeometricSpreadingDistanceModelParameters::rolloffFactor not bound -!missing-selector! PHASEGeometricSpreadingDistanceModelParameters::setRolloffFactor: not bound -!missing-selector! PHASEGroup::fadeGain:duration:curveType: not bound -!missing-selector! PHASEGroup::fadeRate:duration:curveType: not bound -!missing-selector! PHASEGroup::gain not bound -!missing-selector! PHASEGroup::identifier not bound -!missing-selector! PHASEGroup::initWithIdentifier: not bound -!missing-selector! PHASEGroup::isMuted not bound -!missing-selector! PHASEGroup::isSoloed not bound -!missing-selector! PHASEGroup::mute not bound -!missing-selector! PHASEGroup::rate not bound -!missing-selector! PHASEGroup::registerWithEngine: not bound -!missing-selector! PHASEGroup::setGain: not bound -!missing-selector! PHASEGroup::setRate: not bound -!missing-selector! PHASEGroup::solo not bound -!missing-selector! PHASEGroup::unmute not bound -!missing-selector! PHASEGroup::unregisterFromEngine not bound -!missing-selector! PHASEGroup::unsolo not bound -!missing-selector! PHASEGroupPreset::activate not bound -!missing-selector! PHASEGroupPreset::deactivate not bound -!missing-selector! PHASEGroupPreset::initWithEngine:settings:timeToTarget:timeToReset: not bound -!missing-selector! PHASEGroupPreset::settings not bound -!missing-selector! PHASEGroupPreset::timeToReset not bound -!missing-selector! PHASEGroupPreset::timeToTarget not bound -!missing-selector! PHASEGroupPresetSetting::gain not bound -!missing-selector! PHASEGroupPresetSetting::gainCurveType not bound -!missing-selector! PHASEGroupPresetSetting::initWithGain:rate:gainCurveType:rateCurveType: not bound -!missing-selector! PHASEGroupPresetSetting::rate not bound -!missing-selector! PHASEGroupPresetSetting::rateCurveType not bound -!missing-selector! PHASEListener::gain not bound -!missing-selector! PHASEListener::initWithEngine: not bound -!missing-selector! PHASEListener::setGain: not bound -!missing-selector! PHASEMappedMetaParameterDefinition::envelope not bound -!missing-selector! PHASEMappedMetaParameterDefinition::initWithInputMetaParameterDefinition:envelope: not bound -!missing-selector! PHASEMappedMetaParameterDefinition::initWithInputMetaParameterDefinition:envelope:identifier: not bound -!missing-selector! PHASEMappedMetaParameterDefinition::inputMetaParameterDefinition not bound -!missing-selector! PHASEMaterial::initWithEngine:preset: not bound -!missing-selector! PHASEMedium::initWithEngine:preset: not bound -!missing-selector! PHASEMetaParameter::identifier not bound -!missing-selector! PHASEMetaParameter::setValue: not bound -!missing-selector! PHASEMetaParameter::value not bound -!missing-selector! PHASEMetaParameterDefinition::value not bound -!missing-selector! PHASEMixer::gain not bound -!missing-selector! PHASEMixer::gainMetaParameter not bound -!missing-selector! PHASEMixer::identifier not bound -!missing-selector! PHASEMixerDefinition::gain not bound -!missing-selector! PHASEMixerDefinition::gainMetaParameterDefinition not bound -!missing-selector! PHASEMixerDefinition::setGain: not bound -!missing-selector! PHASEMixerDefinition::setGainMetaParameterDefinition: not bound -!missing-selector! PHASEMixerParameters::addAmbientMixerParametersWithIdentifier:listener: not bound -!missing-selector! PHASEMixerParameters::addSpatialMixerParametersWithIdentifier:source:listener: not bound -!missing-selector! PHASENumberMetaParameter::fadeToValue:duration: not bound -!missing-selector! PHASENumberMetaParameter::maximum not bound -!missing-selector! PHASENumberMetaParameter::minimum not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue: not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue:identifier: not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue:minimum:maximum: not bound -!missing-selector! PHASENumberMetaParameterDefinition::initWithValue:minimum:maximum:identifier: not bound -!missing-selector! PHASENumberMetaParameterDefinition::maximum not bound -!missing-selector! PHASENumberMetaParameterDefinition::minimum not bound -!missing-selector! PHASEObject::addChild:error: not bound -!missing-selector! PHASEObject::children not bound -!missing-selector! PHASEObject::initWithEngine: not bound -!missing-selector! PHASEObject::parent not bound -!missing-selector! PHASEObject::removeChild: not bound -!missing-selector! PHASEObject::removeChildren not bound -!missing-selector! PHASEObject::setTransform: not bound -!missing-selector! PHASEObject::setWorldTransform: not bound -!missing-selector! PHASEObject::transform not bound -!missing-selector! PHASEObject::worldTransform not bound -!missing-selector! PHASEOccluder::initWithEngine:shapes: not bound -!missing-selector! PHASEOccluder::shapes not bound -!missing-selector! PHASEPushStreamNode::format not bound -!missing-selector! PHASEPushStreamNode::gainMetaParameter not bound -!missing-selector! PHASEPushStreamNode::mixer not bound -!missing-selector! PHASEPushStreamNode::rateMetaParameter not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer: not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer:atTime:options: not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer:atTime:options:completionCallbackType:completionHandler: not bound -!missing-selector! PHASEPushStreamNode::scheduleBuffer:completionCallbackType:completionHandler: not bound -!missing-selector! PHASEPushStreamNodeDefinition::format not bound -!missing-selector! PHASEPushStreamNodeDefinition::initWithMixerDefinition:format: not bound -!missing-selector! PHASEPushStreamNodeDefinition::initWithMixerDefinition:format:identifier: not bound -!missing-selector! PHASEPushStreamNodeDefinition::normalize not bound -!missing-selector! PHASEPushStreamNodeDefinition::setNormalize: not bound -!missing-selector! PHASERandomNodeDefinition::addSubtree:weight: not bound -!missing-selector! PHASERandomNodeDefinition::init not bound -!missing-selector! PHASERandomNodeDefinition::initWithIdentifier: not bound -!missing-selector! PHASESamplerNodeDefinition::assetIdentifier not bound -!missing-selector! PHASESamplerNodeDefinition::initWithSoundAssetIdentifier:mixerDefinition: not bound -!missing-selector! PHASESamplerNodeDefinition::initWithSoundAssetIdentifier:mixerDefinition:identifier: not bound -!missing-selector! PHASEShape::elements not bound -!missing-selector! PHASEShape::initWithEngine:mesh: not bound -!missing-selector! PHASEShape::initWithEngine:mesh:materials: not bound -!missing-selector! PHASEShapeElement::material not bound -!missing-selector! PHASEShapeElement::setMaterial: not bound -!missing-selector! PHASESoundAsset::data not bound -!missing-selector! PHASESoundAsset::type not bound -!missing-selector! PHASESoundAsset::url not bound -!missing-selector! PHASESoundEvent::initWithEngine:assetIdentifier:error: not bound -!missing-selector! PHASESoundEvent::initWithEngine:assetIdentifier:mixerParameters:error: not bound -!missing-selector! PHASESoundEvent::isIndefinite not bound -!missing-selector! PHASESoundEvent::metaParameters not bound -!missing-selector! PHASESoundEvent::mixers not bound -!missing-selector! PHASESoundEvent::pause not bound -!missing-selector! PHASESoundEvent::prepareAndReturnError: not bound -!missing-selector! PHASESoundEvent::prepareState not bound -!missing-selector! PHASESoundEvent::pushStreamNodes not bound -!missing-selector! PHASESoundEvent::renderingState not bound -!missing-selector! PHASESoundEvent::resume not bound -!missing-selector! PHASESoundEvent::startAndReturnError: not bound -!missing-selector! PHASESoundEvent::stopAndInvalidate not bound -!missing-selector! PHASESoundEventNodeDefinition::children not bound -!missing-selector! PHASESource::gain not bound -!missing-selector! PHASESource::initWithEngine: not bound -!missing-selector! PHASESource::initWithEngine:shapes: not bound -!missing-selector! PHASESource::setGain: not bound -!missing-selector! PHASESource::shapes not bound -!missing-selector! PHASESpatialMixerDefinition::distanceModelParameters not bound -!missing-selector! PHASESpatialMixerDefinition::initWithSpatialPipeline: not bound -!missing-selector! PHASESpatialMixerDefinition::initWithSpatialPipeline:identifier: not bound -!missing-selector! PHASESpatialMixerDefinition::listenerDirectivityModelParameters not bound -!missing-selector! PHASESpatialMixerDefinition::setDistanceModelParameters: not bound -!missing-selector! PHASESpatialMixerDefinition::setListenerDirectivityModelParameters: not bound -!missing-selector! PHASESpatialMixerDefinition::setSourceDirectivityModelParameters: not bound -!missing-selector! PHASESpatialMixerDefinition::sourceDirectivityModelParameters not bound -!missing-selector! PHASESpatialMixerDefinition::spatialPipeline not bound -!missing-selector! PHASESpatialPipeline::entries not bound -!missing-selector! PHASESpatialPipeline::initWithOptions: not bound -!missing-selector! PHASESpatialPipeline::options not bound -!missing-selector! PHASESpatialPipelineEntry::sendLevel not bound -!missing-selector! PHASESpatialPipelineEntry::sendLevelMetaParameterDefinition not bound -!missing-selector! PHASESpatialPipelineEntry::setSendLevel: not bound -!missing-selector! PHASESpatialPipelineEntry::setSendLevelMetaParameterDefinition: not bound -!missing-selector! PHASEStringMetaParameterDefinition::initWithValue: not bound -!missing-selector! PHASEStringMetaParameterDefinition::initWithValue:identifier: not bound -!missing-selector! PHASESwitchNodeDefinition::addSubtree:switchValue: not bound -!missing-selector! PHASESwitchNodeDefinition::initWithSwitchMetaParameterDefinition: not bound -!missing-selector! PHASESwitchNodeDefinition::initWithSwitchMetaParameterDefinition:identifier: not bound -!missing-selector! PHASESwitchNodeDefinition::switchMetaParameterDefinition not bound -!missing-type! PHASEAmbientMixerDefinition not bound -!missing-type! PHASEAsset not bound -!missing-type! PHASEAssetRegistry not bound -!missing-type! PHASEBlendNodeDefinition not bound -!missing-type! PHASECardioidDirectivityModelParameters not bound -!missing-type! PHASECardioidDirectivityModelSubbandParameters not bound -!missing-type! PHASEChannelMixerDefinition not bound -!missing-type! PHASEConeDirectivityModelParameters not bound -!missing-type! PHASEConeDirectivityModelSubbandParameters not bound -!missing-type! PHASEContainerNodeDefinition not bound -!missing-type! PHASEDefinition not bound -!missing-type! PHASEDirectivityModelParameters not bound -!missing-type! PHASEDistanceModelFadeOutParameters not bound -!missing-type! PHASEDistanceModelParameters not bound -!missing-type! PHASEDucker not bound -!missing-type! PHASEEngine not bound -!missing-type! PHASEEnvelope not bound -!missing-type! PHASEEnvelopeDistanceModelParameters not bound -!missing-type! PHASEEnvelopeSegment not bound -!missing-type! PHASEGeneratorNodeDefinition not bound -!missing-type! PHASEGeometricSpreadingDistanceModelParameters not bound -!missing-type! PHASEGlobalMetaParameterAsset not bound -!missing-type! PHASEGroup not bound -!missing-type! PHASEGroupPreset not bound -!missing-type! PHASEGroupPresetSetting not bound -!missing-type! PHASEListener not bound -!missing-type! PHASEMappedMetaParameterDefinition not bound -!missing-type! PHASEMaterial not bound -!missing-type! PHASEMedium not bound -!missing-type! PHASEMetaParameter not bound -!missing-type! PHASEMetaParameterDefinition not bound -!missing-type! PHASEMixer not bound -!missing-type! PHASEMixerDefinition not bound -!missing-type! PHASEMixerParameters not bound -!missing-type! PHASENumberMetaParameter not bound -!missing-type! PHASENumberMetaParameterDefinition not bound -!missing-type! PHASEObject not bound -!missing-type! PHASEOccluder not bound -!missing-type! PHASEPushStreamNode not bound -!missing-type! PHASEPushStreamNodeDefinition not bound -!missing-type! PHASERandomNodeDefinition not bound -!missing-type! PHASESamplerNodeDefinition not bound -!missing-type! PHASEShape not bound -!missing-type! PHASEShapeElement not bound -!missing-type! PHASESoundAsset not bound -!missing-type! PHASESoundEvent not bound -!missing-type! PHASESoundEventNodeAsset not bound -!missing-type! PHASESoundEventNodeDefinition not bound -!missing-type! PHASESource not bound -!missing-type! PHASESpatialMixerDefinition not bound -!missing-type! PHASESpatialPipeline not bound -!missing-type! PHASESpatialPipelineEntry not bound -!missing-type! PHASEStringMetaParameter not bound -!missing-type! PHASEStringMetaParameterDefinition not bound -!missing-type! PHASESwitchNodeDefinition not bound -!missing-selector! PHASEAssetRegistry::unregisterAssetWithIdentifier:completionBlock: not bound -!missing-selector! PHASECardioidDirectivityModelParameters::initWithSubbandParameters: not bound -!missing-selector! PHASECardioidDirectivityModelParameters::subbandParameters not bound -!missing-selector! PHASEConeDirectivityModelParameters::initWithSubbandParameters: not bound -!missing-selector! PHASEConeDirectivityModelParameters::subbandParameters not bound -!missing-selector! PHASEDucker::activate not bound -!missing-selector! PHASEDucker::deactivate not bound -!missing-selector! PHASEEngine::outputSpatializationMode not bound -!missing-selector! PHASEEngine::setOutputSpatializationMode: not bound -!missing-selector! PHASEGeneratorParameters::gain not bound -!missing-selector! PHASEGeneratorParameters::rate not bound -!missing-selector! PHASEGeneratorParameters::setGain: not bound -!missing-selector! PHASEGeneratorParameters::setRate: not bound -!missing-selector! PHASEGroupPreset::activateWithTimeToTargetOverride: not bound -!missing-selector! PHASEGroupPreset::deactivateWithTimeToResetOverride: not bound -!missing-selector! PHASENumericPair::first not bound -!missing-selector! PHASENumericPair::initWithFirstValue:secondValue: not bound -!missing-selector! PHASENumericPair::second not bound -!missing-selector! PHASENumericPair::setFirst: not bound -!missing-selector! PHASENumericPair::setSecond: not bound -!missing-selector! PHASERandomNodeDefinition::setUniqueSelectionQueueLength: not bound -!missing-selector! PHASERandomNodeDefinition::uniqueSelectionQueueLength not bound -!missing-selector! PHASESamplerNodeDefinition::cullOption not bound -!missing-selector! PHASESamplerNodeDefinition::playbackMode not bound -!missing-selector! PHASESamplerNodeDefinition::setCullOption: not bound -!missing-selector! PHASESamplerNodeDefinition::setPlaybackMode: not bound -!missing-selector! PHASESoundEvent::prepareWithCompletionBlock: not bound -!missing-selector! PHASESoundEvent::seekToTime:completionBlock: not bound -!missing-selector! PHASESoundEvent::startWithCompletionBlock: not bound -!missing-type! PHASEGeneratorParameters not bound -!missing-type! PHASENumericPair not bound -!unknown-simd-type-mapping! The Simd type simd_double2 does not have a mapping to a managed type. Please add one in SimdCheck.cs diff --git a/tests/xtro-sharpie/tvOS-PHASE.todo b/tests/xtro-sharpie/tvOS-PHASE.todo deleted file mode 100644 index bae7cc24dae0..000000000000 --- a/tests/xtro-sharpie/tvOS-PHASE.todo +++ /dev/null @@ -1,33 +0,0 @@ -!missing-enum! PHASEAssetError not bound -!missing-enum! PHASEAssetType not bound -!missing-enum! PHASECalibrationMode not bound -!missing-enum! PHASECullOption not bound -!missing-enum! PHASECurveType not bound -!missing-enum! PHASEError not bound -!missing-enum! PHASEMaterialPreset not bound -!missing-enum! PHASEMediumPreset not bound -!missing-enum! PHASENormalizationMode not bound -!missing-enum! PHASEPlaybackMode not bound -!missing-enum! PHASEPushStreamBufferOptions not bound -!missing-enum! PHASEPushStreamCompletionCallbackType not bound -!missing-enum! PHASERenderingState not bound -!missing-enum! PHASEReverbPreset not bound -!missing-enum! PHASESoundEventError not bound -!missing-enum! PHASESoundEventPrepareHandlerReason not bound -!missing-enum! PHASESoundEventPrepareState not bound -!missing-enum! PHASESoundEventSeekHandlerReason not bound -!missing-enum! PHASESoundEventStartHandlerReason not bound -!missing-enum! PHASESpatializationMode not bound -!missing-enum! PHASESpatialPipelineOptions not bound -!missing-enum! PHASEUpdateMode not bound -!missing-field! PHASEAssetErrorDomain not bound -!missing-field! PHASEErrorDomain not bound -!missing-field! PHASESoundEventErrorDomain not bound -!missing-field! PHASESpatialCategoryDirectPathTransmission not bound -!missing-field! PHASESpatialCategoryEarlyReflections not bound -!missing-field! PHASESpatialCategoryLateReverb not bound -!missing-selector! PHASEGeneratorParameters::gain not bound -!missing-selector! PHASEGeneratorParameters::rate not bound -!missing-selector! PHASEGeneratorParameters::setGain: not bound -!missing-selector! PHASEGeneratorParameters::setRate: not bound -!missing-type! PHASEGeneratorParameters not bound diff --git a/tools/common/Frameworks.cs b/tools/common/Frameworks.cs index 2d1357e1dfae..e688661a0195 100644 --- a/tools/common/Frameworks.cs +++ b/tools/common/Frameworks.cs @@ -262,6 +262,7 @@ public static Frameworks MacFrameworks { { "AdServices", "AdServices", 11,1 }, { "Chip", "CHIP", 12, 0 }, + { "Phase", "PHASE", 12, 0 }, }; } return mac_frameworks; @@ -422,7 +423,8 @@ public static Frameworks CreateiOSFrameworks (bool is_simulator_build) { "CoreLocationUI", "CoreLocationUI", 15,0 }, - { "Chip", "CHIP", new Version (15, 0), NotAvailableInSimulator /* no headers in beta 2 */ } + { "Chip", "CHIP", new Version (15, 0), NotAvailableInSimulator /* no headers in beta 2 */ }, + { "Phase", "PHASE", new Version (15,0), NotAvailableInSimulator /* no headers in beta 2 */ }, // the above MUST be kept in sync with simlauncher // see tools/mtouch/Makefile @@ -492,7 +494,6 @@ public static Frameworks GetwatchOSFrameworks (bool is_simulator_build) { "UniformTypeIdentifiers", "UniformTypeIdentifiers", 7,0 }, { "Chip", "CHIP", new Version (8, 0), NotAvailableInSimulator /* no headers in beta 2 */ }, - }; } return watch_frameworks; @@ -583,6 +584,7 @@ public static Frameworks TVOSFrameworks { { "Intents", "Intents", 14,0 }, { "Chip", "CHIP", new Version (15, 0), NotAvailableInSimulator /* no headers in beta 2 */ }, + { "Phase", "PHASE", new Version (15,0), NotAvailableInSimulator /* no headers in beta 2 */ }, }; } return tvos_frameworks; diff --git a/tools/common/StaticRegistrar.cs b/tools/common/StaticRegistrar.cs index 651eb294ca13..650f81673707 100644 --- a/tools/common/StaticRegistrar.cs +++ b/tools/common/StaticRegistrar.cs @@ -2165,6 +2165,9 @@ void CheckNamespace (string ns, List exceptions) case "QuickLookUI": h = ""; break; + case "Phase": + h = ""; + break; case "PdfKit": h = App.Platform == ApplePlatform.MacOSX ? "" : ""; break; diff --git a/tools/common/Target.cs b/tools/common/Target.cs index e41680b46fb0..9257758824c8 100644 --- a/tools/common/Target.cs +++ b/tools/common/Target.cs @@ -223,6 +223,7 @@ public void GatherFrameworks () case "MetalKit": case "MetalPerformanceShaders": case "CHIP": + case "PHASE": // some frameworks do not exists on simulators and will result in linker errors if we include them if (App.IsSimulatorBuild) continue; From c8789a803cb7d0c06b680df8ac9cc44e0f8424b6 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Mon, 12 Jul 2021 10:49:42 -0400 Subject: [PATCH 02/16] Fix intro. --- src/phase.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/phase.cs b/src/phase.cs index 0c8c44686ad8..21e8ec8d58a1 100644 --- a/src/phase.cs +++ b/src/phase.cs @@ -343,6 +343,13 @@ interface PhaseStringMetaParameterDefinition [DisableDefaultCtor] interface PhaseMappedMetaParameterDefinition { + [Export ("initWithValue:identifier:")] + IntPtr Constructor (double value, string identifier); + + [Export ("initWithValue:minimum:maximum:")] + [DesignatedInitializer] + IntPtr Constructor (double value, double minimum, double maximum); + [Export ("initWithInputMetaParameterDefinition:envelope:identifier:")] IntPtr Constructor (PhaseNumberMetaParameterDefinition inputMetaParameterDefinition, PhaseEnvelope envelope, string identifier); @@ -776,6 +783,7 @@ interface PhaseSoundAsset [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] [BaseType (typeof (PhaseAsset), Name="PHASESoundEventNodeAsset")] + [DisableDefaultCtor] interface PhaseSoundEventNodeAsset {} [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] @@ -847,6 +855,7 @@ interface PhaseConeDirectivityModelSubbandParameters [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] [BaseType (typeof (NSObject), Name="PHASEDirectivityModelParameters")] + [DisableDefaultCtor] interface PhaseDirectivityModelParameters {} [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] @@ -1229,6 +1238,10 @@ interface PhaseShape : NSCopying [DisableDefaultCtor] interface PhaseOccluder { + [Export ("initWithEngine:")] + [DesignatedInitializer] + IntPtr Constructor (PhaseEngine engine); + [Export ("initWithEngine:shapes:")] [DesignatedInitializer] IntPtr Constructor (PhaseEngine engine, PhaseShape[] shapes); From 09f0de3db00121360423d2a697af5edbd8f30ef5 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Mon, 12 Jul 2021 15:39:21 -0400 Subject: [PATCH 03/16] Apply suggestions from code review Co-authored-by: TJ Lambert <50846373+tj-devel709@users.noreply.github.com> --- src/phase.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/phase.cs b/src/phase.cs index 21e8ec8d58a1..a545f16018a6 100644 --- a/src/phase.cs +++ b/src/phase.cs @@ -28,9 +28,9 @@ public enum PhaseRenderingState : long { [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseSpatializationMode : long { - utomatic = 0, - lwaysUseBinaural = 1, - lwaysUseChannelBased = 2, + Automatic = 0, + AlwaysUseBinaural = 1, + AlwaysUseChannelBased = 2, } [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] @@ -180,7 +180,7 @@ public enum PhasePushStreamBufferOptions : ulong { [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhasePushStreamCompletionCallbackType : long { - PushStreamCompletionDataRendered = 0, + DataRendered = 0, } [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] @@ -664,7 +664,7 @@ interface PhaseBlendNodeDefinition } [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] - [BaseType (typeof(PhaseSoundEventNodeDefinition), Name="PHASESwitchNodeDefinition")] + [BaseType (typeof (PhaseSoundEventNodeDefinition), Name="PHASESwitchNodeDefinition")] [DisableDefaultCtor] interface PhaseSwitchNodeDefinition { @@ -1009,13 +1009,13 @@ interface PhaseGroupPreset void Activate (); [Export ("activateWithTimeToTargetOverride:")] - void ActivateWithTimeToTargetOverride (double timeToTargetOverride); + void Activate (double timeToTargetOverride); [Export ("deactivate")] void Deactivate (); [Export ("deactivateWithTimeToResetOverride:")] - void DeactivateWithTimeToResetOverride (double timeToResetOverride); + void Deactivate (double timeToResetOverride); } [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] @@ -1097,8 +1097,9 @@ interface PhaseSoundEvent [Export ("startAndReturnError:")] bool Start ([NullAllowed] out NSError error); + [Async] [Export ("seekToTime:completionBlock:")] - bool SeekToTime (double time, [NullAllowed] Action completionBlock); + bool Seek (double time, [NullAllowed] Action completionHandler); [Export ("pause")] void Pause (); From 8f6ae1b90f513752adf9c93cf7038196674b1e23 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Fri, 16 Jul 2021 10:16:31 -0400 Subject: [PATCH 04/16] Address reviews. --- src/phase.cs | 53 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/src/phase.cs b/src/phase.cs index a545f16018a6..b4958633f29f 100644 --- a/src/phase.cs +++ b/src/phase.cs @@ -5,6 +5,10 @@ using ObjCRuntime; using Quaternion = global::OpenTK.Quaternion; +using Vector2d = global::OpenTK.Vector2d; +using Vector3 = global::OpenTK.Vector3; +using NMatrix4 = global::OpenTK.NMatrix4; + using System; @@ -244,13 +248,15 @@ interface PhaseNumericPair [BaseType (typeof (NSObject), Name="PHASEEnvelopeSegment")] interface PhaseEnvelopeSegment { -/* [Export ("initWithEndPoint:curveType:")] - IntPtr Constructor ([unsupported ExtVector: double __attribute__((ext_vector_type(2)))] endPoint, PhaseCurveType curveType); + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] + IntPtr Constructor (Vector2d endPoint, PhaseCurveType curveType); - [Export ("endPoint", ArgumentSemantic.Assign)] - [unsupported ExtVector: double __attribute__((ext_vector_type(2)))] EndPoint { get; set; } -*/ + [Export ("endPoint", ArgumentSemantic.Assign)] + Vector2d EndPoint { + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] get; + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] set; + } [Export ("curveType", ArgumentSemantic.Assign)] PhaseCurveType CurveType { get; set; } @@ -262,15 +268,18 @@ interface PhaseEnvelopeSegment [DisableDefaultCtor] interface PhaseEnvelope { - //[Export ("initWithStartPoint:segments:")] - //[DesignatedInitializer] - //IntPtr Constructor ([unsupported ExtVector: double __attribute__((ext_vector_type(2)))] startPoint, PhaseEnvelopeSegment[] segments); + [Export ("initWithStartPoint:segments:")] + [DesignatedInitializer] + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] + IntPtr Constructor (Vector2d startPoint, PhaseEnvelopeSegment[] segments); [Export ("evaluateForValue:")] double Evaluate (double x); - //[Export ("startPoint")] - //[unsupported ExtVector: double __attribute__((ext_vector_type(2)))] StartPoint { get; } + [Export ("startPoint")] + Vector2d StartPoint { + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] get; + } [Export ("segments", ArgumentSemantic.Copy)] PhaseEnvelopeSegment[] Segments { get; } @@ -1051,25 +1060,35 @@ interface PhaseObject : NSCopying [Export ("children", ArgumentSemantic.Copy)] PhaseObject[] Children { get; } -/* [Static] [Export ("right")] - [unsupported ExtVector: float __attribute__((ext_vector_type(3)))] Right { get; } + Vector3 Right { + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] get; + } [Static] [Export ("up")] - [unsupported ExtVector: float __attribute__((ext_vector_type(3)))] Up { get; } + Vector3 Up { + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] get; + } [Static] [Export ("forward")] - [unsupported ExtVector: float __attribute__((ext_vector_type(3)))] Forward { get; } + Vector3 Forward { + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] get; + } [Export ("transform", ArgumentSemantic.Assign)] - simd_float4x4 Transform { get; set; } + NMatrix4 Transform { + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] get; + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] set; + } [Export ("worldTransform", ArgumentSemantic.Assign)] - simd_float4x4 WorldTransform { get; set; } -*/ + NMatrix4 WorldTransform { + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] get; + [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] set; + } } [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] From 8d2e7543522ce351be0fb503714dd61ab4400a70 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 20 Jul 2021 11:56:51 -0400 Subject: [PATCH 05/16] Update for beta3. --- src/phase.cs | 56 ++++++++++++++------------ tests/xtro-sharpie/common-PHASE.ignore | 16 -------- 2 files changed, 30 insertions(+), 42 deletions(-) diff --git a/src/phase.cs b/src/phase.cs index b4958633f29f..5f86cc8f802c 100644 --- a/src/phase.cs +++ b/src/phase.cs @@ -183,7 +183,8 @@ public enum PhasePushStreamBufferOptions : ulong { [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] [Native] - public enum PhasePushStreamCompletionCallbackType : long { + public enum PhasePushStreamCompletionCallbackCondition : long + { DataRendered = 0, } @@ -204,20 +205,7 @@ public enum PhaseMaterialPreset : long { Concrete = 1833132914, GypsumBoard = 1833400688, Drywall = 1833202295, - DoorWoodLight = 1833195340, - DoorWoodHeavy = 1833195336, - DoorSoundproof = 1833202544, - WindowSinglePane = 1834447728, - WindowDoublePane = 1834443888, - } - - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] - [Flags] - [Native] - public enum PhaseSpatialPipelineOptions : ulong { - DirectPathTransmission = 1uL << 0, - EarlyReflections = 1uL << 1, - LateReverb = 1uL << 2, + Wood = 1834448228, } [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] @@ -230,6 +218,17 @@ public enum PhaseSpatialCategory { LateReverb, } + [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Flags] + [Native] + public enum PhaseSpatialPipelineFlags : ulong + { + DirectPathTransmission = 1uL << 0, + EarlyReflections = 1uL << 1, + LateReverb = 1uL << 2, + } + + [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] [BaseType (typeof (NSObject), Name="PHASENumericPair")] interface PhaseNumericPair @@ -751,14 +750,14 @@ interface PhasePushStreamNode [Async] [Export ("scheduleBuffer:completionCallbackType:completionHandler:")] - void ScheduleBuffer (AVAudioPcmBuffer buffer, PhasePushStreamCompletionCallbackType completionCallbackType, Action completionHandler); + void ScheduleBuffer (AVAudioPcmBuffer buffer, PhasePushStreamCompletionCallbackCondition completionCallbackCondition, Action completionHandler); [Export ("scheduleBuffer:atTime:options:")] void ScheduleBuffer (AVAudioPcmBuffer buffer, [NullAllowed] AVAudioTime when, PhasePushStreamBufferOptions options); [Async] [Export ("scheduleBuffer:atTime:options:completionCallbackType:completionHandler:")] - void ScheduleBuffer (AVAudioPcmBuffer buffer, [NullAllowed] AVAudioTime when, PhasePushStreamBufferOptions options, PhasePushStreamCompletionCallbackType completionCallbackType, Action completionHandler); + void ScheduleBuffer (AVAudioPcmBuffer buffer, [NullAllowed] AVAudioTime when, PhasePushStreamBufferOptions options, PhasePushStreamCompletionCallbackCondition completionCallbackCondition, Action completionHandler); } [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] @@ -808,6 +807,10 @@ interface PhaseAssetRegistry [return: NullAllowed] PhaseSoundEventNodeAsset RegisterSoundEventAsset (PhaseSoundEventNodeDefinition rootNode, [NullAllowed] string identifier, [NullAllowed] out NSError error); + [Async] + [Export ("unregisterAssetWithIdentifier:completion:")] + void UnregisterAssetWithIdentifier (string identifier, [NullAllowed] Action handler); + [Export ("registerSoundAssetAtURL:identifier:assetType:channelLayout:normalizationMode:error:")] [return: NullAllowed] PhaseSoundAsset RegisterSoundAsset (NSUrl url, [NullAllowed] string identifier, PhaseAssetType assetType, [NullAllowed] AVAudioChannelLayout channelLayout, PhaseNormalizationMode normalizationMode, [NullAllowed] out NSError error); @@ -1103,21 +1106,21 @@ interface PhaseSoundEvent IntPtr Constructor (PhaseEngine engine, string assetIdentifier, [NullAllowed] out NSError error); [Async] - [Export ("prepareWithCompletionBlock:")] - void Prepare (Action completionBlock); + [Export ("prepareWithCompletion:")] + void Prepare ([NullAllowed] Action completionBlock); [Export ("prepareAndReturnError:")] bool Prepare ([NullAllowed] out NSError error); [Async] - [Export ("startWithCompletionBlock:")] - bool Start (Action completionBlock); + [Export ("startWithCompletion:")] + bool Start ([NullAllowed] Action completionBlock); [Export ("startAndReturnError:")] bool Start ([NullAllowed] out NSError error); [Async] - [Export ("seekToTime:completionBlock:")] + [Export ("seekToTime:completion:")] bool Seek (double time, [NullAllowed] Action completionHandler); [Export ("pause")] @@ -1306,12 +1309,13 @@ interface PhaseSpatialPipelineEntry [DisableDefaultCtor] interface PhaseSpatialPipeline { - [Export ("initWithOptions:")] + [Export ("initWithFlags:")] [DesignatedInitializer] - IntPtr Constructor (PhaseSpatialPipelineOptions options); + IntPtr Constructor (PhaseSpatialPipelineFlags flags); - [Export ("options")] - PhaseSpatialPipelineOptions Options { get; } + // @property (readonly, nonatomic) PHASESpatialPipelineFlags flags; + [Export ("flags")] + PhaseSpatialPipelineFlags Flags { get; } [Export ("entries", ArgumentSemantic.Copy)] NSDictionary Entries { get; } diff --git a/tests/xtro-sharpie/common-PHASE.ignore b/tests/xtro-sharpie/common-PHASE.ignore index 1b6d38d4758c..d86807b41ae7 100644 --- a/tests/xtro-sharpie/common-PHASE.ignore +++ b/tests/xtro-sharpie/common-PHASE.ignore @@ -1,22 +1,6 @@ -# unsupported due to ExtVector: -!missing-selector! +PHASEObject::forward not bound -!missing-selector! +PHASEObject::right not bound -!missing-selector! +PHASEObject::up not bound -!missing-selector! PHASEObject::setTransform: not bound -!missing-selector! PHASEObject::setWorldTransform: not bound -!missing-selector! PHASEObject::transform not bound -!missing-selector! PHASEObject::worldTransform not bound -!missing-selector! PHASEEnvelopeSegment::endPoint not bound -!missing-selector! PHASEEnvelopeSegment::initWithEndPoint:curveType: not bound -!missing-selector! PHASEEnvelopeSegment::setEndPoint: not bound -!missing-selector! PHASEEnvelope::initWithStartPoint:segments: not bound -!missing-selector! PHASEEnvelope::startPoint not bound - # Added and deprecated in the same version !missing-type! PHASEGeneratorParameters not bound !missing-selector! PHASEGeneratorParameters::gain not bound !missing-selector! PHASEGeneratorParameters::rate not bound !missing-selector! PHASEGeneratorParameters::setGain: not bound !missing-selector! PHASEGeneratorParameters::setRate: not bound -!missing-selector! PHASECardioidDirectivityModelParameters::init not bound -!missing-selector! PHASECardioidDirectivityModelParameters::subbands not bound From faf821947654126ff78a6a405383b39ead58f03e Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 20 Jul 2021 12:22:39 -0400 Subject: [PATCH 06/16] Address reviews. --- src/frameworks.sources | 1 - src/phase.cs | 2 +- tests/xtro-sharpie/tvOS-PHASE.ignore | 29 ++++++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 tests/xtro-sharpie/tvOS-PHASE.ignore diff --git a/src/frameworks.sources b/src/frameworks.sources index 7d15c1b14c01..e833fc03af17 100644 --- a/src/frameworks.sources +++ b/src/frameworks.sources @@ -2187,7 +2187,6 @@ TVOS_FRAMEWORKS = \ ModelIO \ MultipeerConnectivity \ OpenGLES \ - Phase \ Photos \ PhotosUI \ ReplayKit \ diff --git a/src/phase.cs b/src/phase.cs index 5f86cc8f802c..dc64d92cfce2 100644 --- a/src/phase.cs +++ b/src/phase.cs @@ -69,7 +69,7 @@ public enum PhaseSoundEventError : long { NotFound = 1346925665, BadData = 1346925666, InvalidInstance = 1346925667, - APIMisuse = 1346925668, + ApiMisuse = 1346925668, SystemNotInitialized = 1346925669, OutOfMemory = 1346925670, } diff --git a/tests/xtro-sharpie/tvOS-PHASE.ignore b/tests/xtro-sharpie/tvOS-PHASE.ignore new file mode 100644 index 000000000000..64c48b91f6f1 --- /dev/null +++ b/tests/xtro-sharpie/tvOS-PHASE.ignore @@ -0,0 +1,29 @@ +# On xcode13 beta 3 the framework is not present on tvOS and just exposes the enums which can be confusing. +!missing-enum! PHASEAssetError not bound +!missing-enum! PHASEAssetType not bound +!missing-enum! PHASECalibrationMode not bound +!missing-enum! PHASECullOption not bound +!missing-enum! PHASECurveType not bound +!missing-enum! PHASEError not bound +!missing-enum! PHASEMaterialPreset not bound +!missing-enum! PHASEMediumPreset not bound +!missing-enum! PHASENormalizationMode not bound +!missing-enum! PHASEPlaybackMode not bound +!missing-enum! PHASEPushStreamBufferOptions not bound +!missing-enum! PHASEPushStreamCompletionCallbackCondition not bound +!missing-enum! PHASERenderingState not bound +!missing-enum! PHASEReverbPreset not bound +!missing-enum! PHASESoundEventError not bound +!missing-enum! PHASESoundEventPrepareHandlerReason not bound +!missing-enum! PHASESoundEventPrepareState not bound +!missing-enum! PHASESoundEventSeekHandlerReason not bound +!missing-enum! PHASESoundEventStartHandlerReason not bound +!missing-enum! PHASESpatializationMode not bound +!missing-enum! PHASESpatialPipelineFlags not bound +!missing-enum! PHASEUpdateMode not bound +!missing-field! PHASEAssetErrorDomain not bound +!missing-field! PHASEErrorDomain not bound +!missing-field! PHASESoundEventErrorDomain not bound +!missing-field! PHASESpatialCategoryDirectPathTransmission not bound +!missing-field! PHASESpatialCategoryEarlyReflections not bound +!missing-field! PHASESpatialCategoryLateReverb not bound From cb38f912a582fa2dab07b0059473b7c1c1475a97 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 20 Jul 2021 12:27:19 -0400 Subject: [PATCH 07/16] Update comment. --- tests/xtro-sharpie/SimdCheck.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/xtro-sharpie/SimdCheck.cs b/tests/xtro-sharpie/SimdCheck.cs index a8b5733de6f4..3c5ab9a15ff3 100644 --- a/tests/xtro-sharpie/SimdCheck.cs +++ b/tests/xtro-sharpie/SimdCheck.cs @@ -43,7 +43,7 @@ class NativeSimdInfo { "vector_uint2", new NativeSimdInfo { Managed = "Vector2i", }}, { "vector_uint3", new NativeSimdInfo { Managed = "Vector3i", }}, { "vector_uint4", new NativeSimdInfo { Managed = "Vector4i", }}, - // simd_floatX is typedefed to vector_doubleX + // simd_dobleX is typedefed to vector_doubleX { "simd_double2", new NativeSimdInfo { Managed = "Vector2d" }}, // simd_floatX is typedefed to vector_floatX { "simd_float2", new NativeSimdInfo { Managed = "Vector2" }}, From 9bb13f3cd41a06e866343030fb096ff0125860ca Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 27 Jul 2021 15:59:08 -0400 Subject: [PATCH 08/16] Address reviews. --- src/phase.cs | 50 +++++++++++++++++++------------------- tools/common/Frameworks.cs | 1 - 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/src/phase.cs b/src/phase.cs index dc64d92cfce2..511bbe5cf3d9 100644 --- a/src/phase.cs +++ b/src/phase.cs @@ -14,14 +14,14 @@ namespace Phase { - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseUpdateMode : long { Automatic = 0, Manual = 1, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseRenderingState : long { Stopped = 0, @@ -29,7 +29,7 @@ public enum PhaseRenderingState : long { Paused = 2, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseSpatializationMode : long { Automatic = 0, @@ -37,7 +37,7 @@ public enum PhaseSpatializationMode : long { AlwaysUseChannelBased = 2, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseReverbPreset : long { None = 1917742958, @@ -55,14 +55,14 @@ public enum PhaseReverbPreset : long { Cathedral = 1917023336, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] [ErrorDomain ("PHASEErrorDomain")] public enum PhaseError : long { InitializeFailed = 1346913633, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] [ErrorDomain ("PHASESoundEventErrorDomain")] public enum PhaseSoundEventError : long { @@ -74,7 +74,7 @@ public enum PhaseSoundEventError : long { OutOfMemory = 1346925670, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] [ErrorDomain ("PHASEAssetErrorDomain")] public enum PhaseAssetError : long { @@ -86,7 +86,7 @@ public enum PhaseAssetError : long { MemoryAllocation = 1346920806, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseSoundEventPrepareHandlerReason : long { Error = 0, @@ -94,7 +94,7 @@ public enum PhaseSoundEventPrepareHandlerReason : long { Terminated = 2, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseSoundEventStartHandlerReason : long { Error = 0, @@ -102,7 +102,7 @@ public enum PhaseSoundEventStartHandlerReason : long { Terminated = 2, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseSoundEventSeekHandlerReason : long { Error = 0, @@ -110,7 +110,7 @@ public enum PhaseSoundEventSeekHandlerReason : long { SeekSuccessful = 2, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseSoundEventPrepareState : long { NotStarted = 0, @@ -118,14 +118,14 @@ public enum PhaseSoundEventPrepareState : long { Prepared = 2, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseAssetType : long { Resident = 0, Streamed = 1, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseCurveType : long { Linear = 1668435054, @@ -139,7 +139,7 @@ public enum PhaseCurveType : long { InverseSigmoid = 1668434247, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseCullOption : long { Terminate = 0, @@ -149,21 +149,21 @@ public enum PhaseCullOption : long { DoNotCull = 4, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhasePlaybackMode : long { OneShot = 0, Looping = 1, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseNormalizationMode : long { None = 0, Dynamic = 1, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseCalibrationMode : long { None = 0, @@ -171,7 +171,7 @@ public enum PhaseCalibrationMode : long { AbsoluteSpl = 2, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Flags] [Native] public enum PhasePushStreamBufferOptions : ulong { @@ -181,21 +181,21 @@ public enum PhasePushStreamBufferOptions : ulong { InterruptsAtLoop = 1uL << 3, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhasePushStreamCompletionCallbackCondition : long { DataRendered = 0, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseMediumPreset : long { Default = 1835287654, RoomAir = 1835291201, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseMaterialPreset : long { Default = 1833198950, @@ -208,7 +208,7 @@ public enum PhaseMaterialPreset : long { Wood = 1834448228, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] public enum PhaseSpatialCategory { [Field ("PHASESpatialCategoryDirectPathTransmission")] DirectPathTransmission, @@ -218,7 +218,7 @@ public enum PhaseSpatialCategory { LateReverb, } - [Mac (12,0), NoWatch, TV (15,0), iOS (15,0), MacCatalyst (15,0)] + [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Flags] [Native] public enum PhaseSpatialPipelineFlags : ulong @@ -668,7 +668,7 @@ interface PhaseBlendNodeDefinition void AddRangeForInputValuesAbove (double value, double fullGainAtValue, PhaseCurveType fadeCurveType, PhaseSoundEventNodeDefinition subtree); [Export ("addRangeWithEnvelope:subtree:")] - void AddRangeWithEnvelope (PhaseEnvelope envelope, PhaseSoundEventNodeDefinition subtree); + void AddRange (PhaseEnvelope envelope, PhaseSoundEventNodeDefinition subtree); } [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] @@ -809,7 +809,7 @@ interface PhaseAssetRegistry [Async] [Export ("unregisterAssetWithIdentifier:completion:")] - void UnregisterAssetWithIdentifier (string identifier, [NullAllowed] Action handler); + void UnregisterAsset (string identifier, [NullAllowed] Action handler); [Export ("registerSoundAssetAtURL:identifier:assetType:channelLayout:normalizationMode:error:")] [return: NullAllowed] diff --git a/tools/common/Frameworks.cs b/tools/common/Frameworks.cs index 7e611050be31..fe57759f294c 100644 --- a/tools/common/Frameworks.cs +++ b/tools/common/Frameworks.cs @@ -584,7 +584,6 @@ public static Frameworks TVOSFrameworks { { "Intents", "Intents", 14,0 }, { "Chip", "CHIP", new Version (15, 0), NotAvailableInSimulator /* no headers in beta 2 */ }, - { "Phase", "PHASE", new Version (15,0), NotAvailableInSimulator /* no headers in beta 2 */ }, }; } return tvos_frameworks; From 03efc3ff42783049acafb97ec132596bb4f1b1db Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 27 Jul 2021 16:11:40 -0400 Subject: [PATCH 09/16] Remove duplicated. --- src/phase.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/phase.cs b/src/phase.cs index 511bbe5cf3d9..d5f549e12cf8 100644 --- a/src/phase.cs +++ b/src/phase.cs @@ -819,10 +819,6 @@ interface PhaseAssetRegistry [return: NullAllowed] PhaseSoundAsset RegisterSoundAsset (NSData data, [NullAllowed] string identifier, AVAudioFormat format, PhaseNormalizationMode normalizationMode, [NullAllowed] out NSError error); - [Async] - [Export ("unregisterAssetWithIdentifier:completionBlock:")] - void UnregisterAsset (string identifier, [NullAllowed] Action completionBlock); - [Export ("assetForIdentifier:")] [return: NullAllowed] PhaseAsset GetAsset (string identifier); From 524fd24022e8e6e0f95caa22f10029a97b3b0e95 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 27 Jul 2021 16:16:27 -0400 Subject: [PATCH 10/16] Do not use spanish spelling. --- tests/xtro-sharpie/SimdCheck.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/xtro-sharpie/SimdCheck.cs b/tests/xtro-sharpie/SimdCheck.cs index 3c5ab9a15ff3..66dd5bf71575 100644 --- a/tests/xtro-sharpie/SimdCheck.cs +++ b/tests/xtro-sharpie/SimdCheck.cs @@ -43,7 +43,7 @@ class NativeSimdInfo { "vector_uint2", new NativeSimdInfo { Managed = "Vector2i", }}, { "vector_uint3", new NativeSimdInfo { Managed = "Vector3i", }}, { "vector_uint4", new NativeSimdInfo { Managed = "Vector4i", }}, - // simd_dobleX is typedefed to vector_doubleX + // simd_doubleX is typedefed to vector_doubleX { "simd_double2", new NativeSimdInfo { Managed = "Vector2d" }}, // simd_floatX is typedefed to vector_floatX { "simd_float2", new NativeSimdInfo { Managed = "Vector2" }}, From 2c36934fc28b06e40ee31fc7067740ad65f66881 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Thu, 29 Jul 2021 16:33:37 -0400 Subject: [PATCH 11/16] Update for xcode13 beta 4. --- src/phase.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/phase.cs b/src/phase.cs index d5f549e12cf8..846c2f4e5152 100644 --- a/src/phase.cs +++ b/src/phase.cs @@ -191,19 +191,16 @@ public enum PhasePushStreamCompletionCallbackCondition : long [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseMediumPreset : long { - Default = 1835287654, - RoomAir = 1835291201, + PresetAir = 1835286898, } [Mac (12,0), NoWatch, NoTV, iOS (15,0), MacCatalyst (15,0)] [Native] public enum PhaseMaterialPreset : long { - Default = 1833198950, Cardboard = 1833136740, Glass = 1833397363, Brickwork = 1833071211, Concrete = 1833132914, - GypsumBoard = 1833400688, Drywall = 1833202295, Wood = 1834448228, } From 55fbf13bf925ff8f6217193c593a5d2c99648da6 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Mon, 2 Aug 2021 15:42:36 -0400 Subject: [PATCH 12/16] Fix marshall missing functions. --- runtime/bindings-generator.cs | 37 +++++++++++++++++++ .../Phase/PhaseAmbientMixerDefinitionTest.cs | 0 .../Phase/PhaseEnvelopeSegmentTest.cs | 0 .../monotouch-test/Phase/PhaseEnvelopeTest.cs | 0 tests/monotouch-test/Phase/PhaseObjectTest.cs | 0 5 files changed, 37 insertions(+) create mode 100644 tests/monotouch-test/Phase/PhaseAmbientMixerDefinitionTest.cs create mode 100644 tests/monotouch-test/Phase/PhaseEnvelopeSegmentTest.cs create mode 100644 tests/monotouch-test/Phase/PhaseEnvelopeTest.cs create mode 100644 tests/monotouch-test/Phase/PhaseObjectTest.cs diff --git a/runtime/bindings-generator.cs b/runtime/bindings-generator.cs index f2287b3c3160..e1fbda6e2bd6 100644 --- a/runtime/bindings-generator.cs +++ b/runtime/bindings-generator.cs @@ -2721,6 +2721,43 @@ static IEnumerable GetFunctionData () } ); + data.Add ( + new FunctionData { + Comment = " // IntPtr func (Vector2D, IntPtr)", + Prefix = "simd__", + Variants = Variants.All, + ReturnType = Types.IntPtr, + Parameters = new ParameterData [] { + new ParameterData { TypeData = Types.Vector2d}, + new ParameterData { TypeData = Types.IntPtr } + }, + } + ); + + data.Add ( + new FunctionData { + Comment = " // IntPtr func (Vector2D, int)", + Prefix = "simd__", + Variants = Variants.All, + ReturnType = Types.IntPtr, + Parameters = new ParameterData [] { + new ParameterData { TypeData = Types.Vector2d }, + new ParameterData { TypeData = Types.NInt } + }, + } + ); + + data.Add ( + new FunctionData { + Comment = " // void func (Vector2D)", + Prefix = "simd__", + Variants = Variants.msgSend | Variants.msgSendSuper, + Parameters = new ParameterData [] { + new ParameterData { TypeData = Types.Vector2d }, + }, + } + ); + // We must expand functions with native types to their actual type as well. for (int i = data.Count - 1; i >= 0; i--) { if (!data [i].HasNativeType) diff --git a/tests/monotouch-test/Phase/PhaseAmbientMixerDefinitionTest.cs b/tests/monotouch-test/Phase/PhaseAmbientMixerDefinitionTest.cs new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/tests/monotouch-test/Phase/PhaseEnvelopeSegmentTest.cs b/tests/monotouch-test/Phase/PhaseEnvelopeSegmentTest.cs new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/tests/monotouch-test/Phase/PhaseEnvelopeTest.cs b/tests/monotouch-test/Phase/PhaseEnvelopeTest.cs new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/tests/monotouch-test/Phase/PhaseObjectTest.cs b/tests/monotouch-test/Phase/PhaseObjectTest.cs new file mode 100644 index 000000000000..e69de29bb2d1 From e4d4e3b85224a85d80adcebe8c00ddab501898da Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Mon, 2 Aug 2021 15:43:28 -0400 Subject: [PATCH 13/16] Add requested tests. --- .../Phase/PhaseAmbientMixerDefinitionTest.cs | 44 ++++++++++ .../Phase/PhaseEnvelopeSegmentTest.cs | 47 +++++++++++ .../monotouch-test/Phase/PhaseEnvelopeTest.cs | 45 ++++++++++ tests/monotouch-test/Phase/PhaseObjectTest.cs | 84 +++++++++++++++++++ tests/monotouch-test/monotouch-test.csproj | 30 ++++--- 5 files changed, 238 insertions(+), 12 deletions(-) diff --git a/tests/monotouch-test/Phase/PhaseAmbientMixerDefinitionTest.cs b/tests/monotouch-test/Phase/PhaseAmbientMixerDefinitionTest.cs index e69de29bb2d1..e7987a70e79a 100644 --- a/tests/monotouch-test/Phase/PhaseAmbientMixerDefinitionTest.cs +++ b/tests/monotouch-test/Phase/PhaseAmbientMixerDefinitionTest.cs @@ -0,0 +1,44 @@ +#if __IOS__ || MONOMAC + +using System; + +using CoreGraphics; +using Foundation; +using ObjCRuntime; +using Phase; + +using OpenTK; +using NUnit.Framework; +using AVFoundation; + +#nullable enable + +namespace MonoTouchFixtures.Phase +{ + + [TestFixture] + // we want the test to be available if we use the linker + [Preserve (AllMembers = true)] + public class PhaseAmbientMixerDefinitionTest { + + [SetUp] + public void Setup () + { + TestRuntime.AssertXcodeVersion (15, 0); + // not supported in simulator + TestRuntime.AssertDevice (); + } + + [Test] + public void TestConstructor () + { + var orientation = new Quaternion (1, 2, 1, 1); + using (var layout = new AVAudioChannelLayout ()) + using (var mixer = new PhaseAmbientMixerDefinition (layout, orientation)) { + Assert.AreEqual (orientation, mixer.Orientation); + } + } + } +} + +#endif // __IOS__ || MONOMAC diff --git a/tests/monotouch-test/Phase/PhaseEnvelopeSegmentTest.cs b/tests/monotouch-test/Phase/PhaseEnvelopeSegmentTest.cs index e69de29bb2d1..fb6217359209 100644 --- a/tests/monotouch-test/Phase/PhaseEnvelopeSegmentTest.cs +++ b/tests/monotouch-test/Phase/PhaseEnvelopeSegmentTest.cs @@ -0,0 +1,47 @@ +#if __IOS__ || MONOMAC + +using System; + +using CoreGraphics; +using Foundation; +using ObjCRuntime; +using Phase; + +using OpenTK; +using NUnit.Framework; + +#nullable enable + +namespace MonoTouchFixtures.Phase +{ + + [TestFixture] + // we want the test to be available if we use the linker + [Preserve (AllMembers = true)] + public class PhaseEnvelopeSegmentTest + { + + [SetUp] + public void Setup () + { + TestRuntime.AssertXcodeVersion (15, 0); + // not supported in simulator + TestRuntime.AssertDevice (); + } + + [Test] + public void ConstructorTest () + { + var endPoint = new Vector2d (1,2); + using (var segment = new PhaseEnvelopeSegment (endPoint, PhaseCurveType.Cubed)) { + Assert.AreEqual (endPoint, segment.EndPoint); + var newEndPoint = new Vector2d (2, 1); + segment.EndPoint = newEndPoint; + Assert.AreEqual (newEndPoint, segment.EndPoint); + } + } + + } +} + +#endif // __IOS__ || MONOMAC diff --git a/tests/monotouch-test/Phase/PhaseEnvelopeTest.cs b/tests/monotouch-test/Phase/PhaseEnvelopeTest.cs index e69de29bb2d1..0b96cc414f05 100644 --- a/tests/monotouch-test/Phase/PhaseEnvelopeTest.cs +++ b/tests/monotouch-test/Phase/PhaseEnvelopeTest.cs @@ -0,0 +1,45 @@ +#if __IOS__ || MONOMAC + +using System; + +using CoreGraphics; +using Foundation; +using ObjCRuntime; +using Phase; + +using OpenTK; +using NUnit.Framework; + +#nullable enable + +namespace MonoTouchFixtures.Phase +{ + + [TestFixture] + // we want the test to be available if we use the linker + [Preserve (AllMembers = true)] + public class PhaseEnvelopeTest + { + + [SetUp] + public void Setup () + { + TestRuntime.AssertXcodeVersion (15, 0); + // not supported in simulator + TestRuntime.AssertDevice (); + } + + [Test] + public void ConstructorTest () + { + var start = new Vector2d (1,2); + using (var envelope = new PhaseEnvelope (start, new PhaseEnvelopeSegment [] {})) { + // assert we do get the start vector + Assert.AreEqual (start, envelope.StartPoint); + } + } + + } +} + +#endif // __IOS__ || MONOMAC diff --git a/tests/monotouch-test/Phase/PhaseObjectTest.cs b/tests/monotouch-test/Phase/PhaseObjectTest.cs index e69de29bb2d1..b95b38f06f9f 100644 --- a/tests/monotouch-test/Phase/PhaseObjectTest.cs +++ b/tests/monotouch-test/Phase/PhaseObjectTest.cs @@ -0,0 +1,84 @@ +#if __IOS__ || MONOMAC + +using System; + +using CoreGraphics; +using Foundation; +using ObjCRuntime; +using Phase; + +using NUnit.Framework; + +#nullable enable + +namespace MonoTouchFixtures.Phase +{ + + [TestFixture] + // we want the test to be available if we use the linker + [Preserve (AllMembers = true)] + public class PhaseObjectTest + { + PhaseEngine? engine; + PhaseObject? phaseObject; + + [SetUp] + public void Setup () + { + TestRuntime.AssertXcodeVersion (15, 0); + // not supported in simulator + TestRuntime.AssertDevice (); + engine = new PhaseEngine (PhaseUpdateMode.Automatic); + phaseObject = new PhaseObject (engine); + } + + [TearDown] + public void TearDown () + { + phaseObject?.Dispose (); + engine?.Dispose (); + } + + [Test] + public void RigthTest () { + var right = PhaseObject.Right; + Assert.NotNull (right, "not null"); + Assert.AreEqual (1, right.Length, "length"); + } + + [Test] + public void UpTest () + { + var up = PhaseObject.Up; + Assert.NotNull (up, "not null"); + Assert.AreEqual (1, up.Length, "length"); + } + + [Test] + public void ForwardTest () + { + var fwd = PhaseObject.Forward; + Assert.NotNull (fwd, "not null"); + Assert.AreEqual (1, fwd.Length, "length"); + } + + [Test] + public void TransformTest () + { + var matrix = phaseObject.Transform; + Assert.NotNull (matrix, "not null"); + Assert.AreEqual (1, matrix.M11, "11"); + } + + [Test] + public void WorldTransform () + { + var matrix = phaseObject.WorldTransform; + Assert.NotNull (matrix, "not null"); + Assert.AreEqual (1, matrix.M11, "11"); + } + + } +} + +#endif // __IOS__ || MONOMAC diff --git a/tests/monotouch-test/monotouch-test.csproj b/tests/monotouch-test/monotouch-test.csproj index 313d87a41a2a..87907c6c8db0 100644 --- a/tests/monotouch-test/monotouch-test.csproj +++ b/tests/monotouch-test/monotouch-test.csproj @@ -23,7 +23,7 @@ True full False - bin\iPhoneSimulator\$(Configuration)-unified + bin\iPhoneSimulator\Debug-unified DEBUG;DYNAMIC_REGISTRAR;$(DefineConstants) prompt 0 @@ -32,14 +32,14 @@ True i386, x86_64 Entitlements.plist - iPhone Developer + Apple Development Apple Development None none False - bin\iPhoneSimulator\$(Configuration)-unified + bin\iPhoneSimulator\Release-unified MONOTOUCH;DYNAMIC_REGISTRAR;$(DefineConstants) prompt 0 @@ -53,7 +53,7 @@ True full False - bin\iPhone\$(Configuration)-unified + bin\iPhone\Debug-unified DEBUG;DEVICE;$(DefineConstants) prompt 0 @@ -65,12 +65,13 @@ true + None True full False - bin\iPhone\$(Configuration)-unified + bin\iPhone\Debug64-unified DEBUG;DEVICE;$(DefineConstants) prompt 0 @@ -80,12 +81,13 @@ ARM64 True true + SdkOnly True full False - bin\iPhone\$(Configuration)-unified + bin\iPhone\Debug32-unified DEBUG;DEVICE;$(DefineConstants) prompt 0 @@ -95,11 +97,12 @@ ARMv7 True true + SdkOnly none False - bin\iPhone\$(Configuration)-unified + bin\iPhone\Release-unified MONOTOUCH;DEVICE;$(DefineConstants) prompt 0 @@ -109,11 +112,12 @@ True true true + SdkOnly none False - bin\iPhone\$(Configuration)-unified + bin\iPhone\Release32-unified MONOTOUCH;DEVICE;$(DefineConstants) prompt 0 @@ -123,11 +127,12 @@ True true true + SdkOnly none False - bin\iPhone\$(Configuration)-unified + bin\iPhone\Release64-unified MONOTOUCH;DEVICE;$(DefineConstants) prompt 0 @@ -137,11 +142,12 @@ True true true + SdkOnly none False - bin\iPhone\$(Configuration)-unified + bin\iPhone\Release-bitcode-unified MONOTOUCH;DEVICE;$(DefineConstants) prompt 0 @@ -151,6 +157,7 @@ True true true + SdkOnly $(RootTestsDirectory)\..\src\build\ios-defines.rsp @@ -356,7 +363,6 @@ - monotouchtest.Security.openssl_crt.der @@ -394,7 +400,7 @@ - + From 8b81eb0647b8e38ca75f98ac485a1e603f527f99 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 3 Aug 2021 11:41:43 -0400 Subject: [PATCH 14/16] Fix phase tests. --- .../Phase/PhaseAmbientMixerDefinitionTest.cs | 21 +++++++++++++++++-- .../Phase/PhaseEnvelopeSegmentTest.cs | 2 +- .../monotouch-test/Phase/PhaseEnvelopeTest.cs | 2 +- tests/monotouch-test/Phase/PhaseObjectTest.cs | 2 +- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/tests/monotouch-test/Phase/PhaseAmbientMixerDefinitionTest.cs b/tests/monotouch-test/Phase/PhaseAmbientMixerDefinitionTest.cs index e7987a70e79a..4370d5b0876e 100644 --- a/tests/monotouch-test/Phase/PhaseAmbientMixerDefinitionTest.cs +++ b/tests/monotouch-test/Phase/PhaseAmbientMixerDefinitionTest.cs @@ -10,6 +10,7 @@ using OpenTK; using NUnit.Framework; using AVFoundation; +using AudioToolbox; #nullable enable @@ -24,7 +25,7 @@ public class PhaseAmbientMixerDefinitionTest { [SetUp] public void Setup () { - TestRuntime.AssertXcodeVersion (15, 0); + TestRuntime.AssertXcodeVersion (13, 0); // not supported in simulator TestRuntime.AssertDevice (); } @@ -33,7 +34,23 @@ public void Setup () public void TestConstructor () { var orientation = new Quaternion (1, 2, 1, 1); - using (var layout = new AVAudioChannelLayout ()) + var audioChannelLayout = new AudioChannelLayout { + Tag = (int) AudioChannelLayoutTag.UseChannelDescriptions, + Bitmap = 0, + Channels = new AudioChannelDescription [] { + new AudioChannelDescription { + Flags = AudioChannelFlags.AllOff, + Label = AudioChannelLabel.Discrete_4, + Coords = new float [] { 0, 0, 0}, + }, + new AudioChannelDescription { + Flags = AudioChannelFlags.AllOff, + Label = AudioChannelLabel.Discrete_5, + Coords = new float [] { 0, 0, 0}, + } + } + }; + using (var layout = new AVAudioChannelLayout (audioChannelLayout)) using (var mixer = new PhaseAmbientMixerDefinition (layout, orientation)) { Assert.AreEqual (orientation, mixer.Orientation); } diff --git a/tests/monotouch-test/Phase/PhaseEnvelopeSegmentTest.cs b/tests/monotouch-test/Phase/PhaseEnvelopeSegmentTest.cs index fb6217359209..265b7a7a14c2 100644 --- a/tests/monotouch-test/Phase/PhaseEnvelopeSegmentTest.cs +++ b/tests/monotouch-test/Phase/PhaseEnvelopeSegmentTest.cs @@ -24,7 +24,7 @@ public class PhaseEnvelopeSegmentTest [SetUp] public void Setup () { - TestRuntime.AssertXcodeVersion (15, 0); + TestRuntime.AssertXcodeVersion (13, 0); // not supported in simulator TestRuntime.AssertDevice (); } diff --git a/tests/monotouch-test/Phase/PhaseEnvelopeTest.cs b/tests/monotouch-test/Phase/PhaseEnvelopeTest.cs index 0b96cc414f05..f566349e75d5 100644 --- a/tests/monotouch-test/Phase/PhaseEnvelopeTest.cs +++ b/tests/monotouch-test/Phase/PhaseEnvelopeTest.cs @@ -24,7 +24,7 @@ public class PhaseEnvelopeTest [SetUp] public void Setup () { - TestRuntime.AssertXcodeVersion (15, 0); + TestRuntime.AssertXcodeVersion (13, 0); // not supported in simulator TestRuntime.AssertDevice (); } diff --git a/tests/monotouch-test/Phase/PhaseObjectTest.cs b/tests/monotouch-test/Phase/PhaseObjectTest.cs index b95b38f06f9f..061149c43a70 100644 --- a/tests/monotouch-test/Phase/PhaseObjectTest.cs +++ b/tests/monotouch-test/Phase/PhaseObjectTest.cs @@ -25,7 +25,7 @@ public class PhaseObjectTest [SetUp] public void Setup () { - TestRuntime.AssertXcodeVersion (15, 0); + TestRuntime.AssertXcodeVersion (13, 0); // not supported in simulator TestRuntime.AssertDevice (); engine = new PhaseEngine (PhaseUpdateMode.Automatic); From 6d59d6e2a085dfdd8a23eb6801890228fc6f45bf Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 3 Aug 2021 11:47:25 -0400 Subject: [PATCH 15/16] Undo vsmac changes. --- tests/monotouch-test/monotouch-test.csproj | 30 +++++++++------------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/tests/monotouch-test/monotouch-test.csproj b/tests/monotouch-test/monotouch-test.csproj index 87907c6c8db0..313d87a41a2a 100644 --- a/tests/monotouch-test/monotouch-test.csproj +++ b/tests/monotouch-test/monotouch-test.csproj @@ -23,7 +23,7 @@ True full False - bin\iPhoneSimulator\Debug-unified + bin\iPhoneSimulator\$(Configuration)-unified DEBUG;DYNAMIC_REGISTRAR;$(DefineConstants) prompt 0 @@ -32,14 +32,14 @@ True i386, x86_64 Entitlements.plist - Apple Development + iPhone Developer Apple Development None none False - bin\iPhoneSimulator\Release-unified + bin\iPhoneSimulator\$(Configuration)-unified MONOTOUCH;DYNAMIC_REGISTRAR;$(DefineConstants) prompt 0 @@ -53,7 +53,7 @@ True full False - bin\iPhone\Debug-unified + bin\iPhone\$(Configuration)-unified DEBUG;DEVICE;$(DefineConstants) prompt 0 @@ -65,13 +65,12 @@ true - None True full False - bin\iPhone\Debug64-unified + bin\iPhone\$(Configuration)-unified DEBUG;DEVICE;$(DefineConstants) prompt 0 @@ -81,13 +80,12 @@ ARM64 True true - SdkOnly True full False - bin\iPhone\Debug32-unified + bin\iPhone\$(Configuration)-unified DEBUG;DEVICE;$(DefineConstants) prompt 0 @@ -97,12 +95,11 @@ ARMv7 True true - SdkOnly none False - bin\iPhone\Release-unified + bin\iPhone\$(Configuration)-unified MONOTOUCH;DEVICE;$(DefineConstants) prompt 0 @@ -112,12 +109,11 @@ True true true - SdkOnly none False - bin\iPhone\Release32-unified + bin\iPhone\$(Configuration)-unified MONOTOUCH;DEVICE;$(DefineConstants) prompt 0 @@ -127,12 +123,11 @@ True true true - SdkOnly none False - bin\iPhone\Release64-unified + bin\iPhone\$(Configuration)-unified MONOTOUCH;DEVICE;$(DefineConstants) prompt 0 @@ -142,12 +137,11 @@ True true true - SdkOnly none False - bin\iPhone\Release-bitcode-unified + bin\iPhone\$(Configuration)-unified MONOTOUCH;DEVICE;$(DefineConstants) prompt 0 @@ -157,7 +151,6 @@ True true true - SdkOnly $(RootTestsDirectory)\..\src\build\ios-defines.rsp @@ -363,6 +356,7 @@ + monotouchtest.Security.openssl_crt.der @@ -400,7 +394,7 @@ - + From 68d5fc9b62adb3709178afdcc24a596acce016a5 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Wed, 4 Aug 2021 16:58:59 -0400 Subject: [PATCH 16/16] Fix intro tests. --- tests/introspection/iOS/iOSApiClassPtrTest.cs | 7 +++++++ tests/introspection/iOS/iOSApiFieldTest.cs | 3 ++- tests/introspection/iOS/iOSApiProtocolTest.cs | 1 + tests/introspection/iOS/iOSApiSelectorTest.cs | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/introspection/iOS/iOSApiClassPtrTest.cs b/tests/introspection/iOS/iOSApiClassPtrTest.cs index 514b26a5266f..0514b125d901 100644 --- a/tests/introspection/iOS/iOSApiClassPtrTest.cs +++ b/tests/introspection/iOS/iOSApiClassPtrTest.cs @@ -19,6 +19,13 @@ public class iOSApiClassPtrTest : ApiClassPtrTest { protected override bool Skip (Type type) { + switch (type.Namespace) { + case "Phase": // missing in the sim + if (Runtime.Arch == Arch.SIMULATOR) + return true; + break; + } + // While the following types are categories and contains a class_ptr // they are not used at all as extensions since they are just used to expose // static properties. diff --git a/tests/introspection/iOS/iOSApiFieldTest.cs b/tests/introspection/iOS/iOSApiFieldTest.cs index a68a521d235c..b29efc485c64 100644 --- a/tests/introspection/iOS/iOSApiFieldTest.cs +++ b/tests/introspection/iOS/iOSApiFieldTest.cs @@ -51,6 +51,7 @@ protected override bool Skip (PropertyInfo p) if (Class.GetHandle ("NFCNDEFReaderSession") == IntPtr.Zero) return true; break; + case "Phase": case "DeviceCheck": // Only available on device if (Runtime.Arch == Arch.SIMULATOR) return true; @@ -158,4 +159,4 @@ protected override bool Skip (string constantName, string libraryName) } } } -} \ No newline at end of file +} diff --git a/tests/introspection/iOS/iOSApiProtocolTest.cs b/tests/introspection/iOS/iOSApiProtocolTest.cs index a26eef66a0d2..9a24faafc4d8 100644 --- a/tests/introspection/iOS/iOSApiProtocolTest.cs +++ b/tests/introspection/iOS/iOSApiProtocolTest.cs @@ -39,6 +39,7 @@ protected override bool Skip (Type type) case "MonoTouch.MetalPerformanceShaders": case "MLCompute": case "MediaSetup": + case "Phase": if (Runtime.Arch == Arch.SIMULATOR) return true; break; diff --git a/tests/introspection/iOS/iOSApiSelectorTest.cs b/tests/introspection/iOS/iOSApiSelectorTest.cs index c7d453131139..0af8fde622b1 100644 --- a/tests/introspection/iOS/iOSApiSelectorTest.cs +++ b/tests/introspection/iOS/iOSApiSelectorTest.cs @@ -53,6 +53,7 @@ protected override bool Skip (Type type) case "MonoTouch.MetalKit": case "MetalPerformanceShaders": case "MonoTouch.MetalPerformanceShaders": + case "Phase": if (Runtime.Arch == Arch.SIMULATOR) return true; break;