use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-core-audio-types")]
use objc2_core_audio_types::*;
#[cfg(feature = "objc2-core-foundation")]
use objc2_core_foundation::*;
#[cfg(feature = "objc2-core-midi")]
use objc2_core_midi::*;
use crate::*;
pub const kAUPresetVersionKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"version\0") };
pub const kAUPresetTypeKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"type\0") };
pub const kAUPresetSubtypeKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"subtype\0") };
pub const kAUPresetManufacturerKey: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"manufacturer\0") };
pub const kAUPresetDataKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"data\0") };
pub const kAUPresetNameKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"name\0") };
pub const kAUPresetNumberKey: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"preset-number\0") };
pub const kAUPresetRenderQualityKey: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"render-quality\0") };
pub const kAUPresetCPULoadKey: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"cpu-load\0") };
pub const kAUPresetElementNameKey: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"element-name\0") };
pub const kAUPresetExternalFileRefs: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"file-references\0") };
pub const kAUPresetVSTDataKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"vstdata\0") };
pub const kAUPresetVSTPresetKey: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"vstpreset\0") };
pub const kAUPresetMASDataKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"masdata\0") };
pub const kAUPresetPartKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"part\0") };
pub const kAudioUnitConfigurationInfo_HasCustomView: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"HasCustomView\0") };
pub const kAudioUnitConfigurationInfo_ChannelConfigurations: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"ChannelConfigurations\0") };
pub const kAudioUnitConfigurationInfo_InitialInputs: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"InitialInputs\0") };
pub const kAudioUnitConfigurationInfo_InitialOutputs: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"InitialOutputs\0") };
pub const kAudioUnitConfigurationInfo_IconURL: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"IconURL\0") };
pub const kAudioUnitConfigurationInfo_BusCountWritable: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"BusCountWritable\0") };
pub const kAudioUnitConfigurationInfo_SupportedChannelLayoutTags: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"SupportedChannelLayoutTags\0") };
pub const kAudioUnitConfigurationInfo_MIDIProtocol: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"MIDIProtocol\0") };
pub const kAudioUnitConfigurationInfo_MigrateFromPlugin: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"MigrateFromPlugin\0") };
pub const kAudioUnitConfigurationInfo_AvailableArchitectures: &CStr =
unsafe { CStr::from_bytes_with_nul_unchecked(b"AvailableArchitectures\0") };
#[cfg(feature = "AUComponent")]
pub const kAudioUnitScope_Global: AudioUnitScope = 0;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitScope_Input: AudioUnitScope = 1;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitScope_Output: AudioUnitScope = 2;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitScope_Group: AudioUnitScope = 3;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitScope_Part: AudioUnitScope = 4;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitScope_Note: AudioUnitScope = 5;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitScope_Layer: AudioUnitScope = 6;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitScope_LayerItem: AudioUnitScope = 7;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ClassInfo: AudioUnitPropertyID = 0;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_MakeConnection: AudioUnitPropertyID = 1;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SampleRate: AudioUnitPropertyID = 2;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ParameterList: AudioUnitPropertyID = 3;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ParameterInfo: AudioUnitPropertyID = 4;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_CPULoad: AudioUnitPropertyID = 6;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_StreamFormat: AudioUnitPropertyID = 8;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ElementCount: AudioUnitPropertyID = 11;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_Latency: AudioUnitPropertyID = 12;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SupportedNumChannels: AudioUnitPropertyID = 13;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_MaximumFramesPerSlice: AudioUnitPropertyID = 14;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ParameterValueStrings: AudioUnitPropertyID = 16;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_AudioChannelLayout: AudioUnitPropertyID = 19;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_TailTime: AudioUnitPropertyID = 20;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_BypassEffect: AudioUnitPropertyID = 21;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_LastRenderError: AudioUnitPropertyID = 22;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SetRenderCallback: AudioUnitPropertyID = 23;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_FactoryPresets: AudioUnitPropertyID = 24;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_RenderQuality: AudioUnitPropertyID = 26;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_HostCallbacks: AudioUnitPropertyID = 27;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_InPlaceProcessing: AudioUnitPropertyID = 29;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ElementName: AudioUnitPropertyID = 30;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SupportedChannelLayoutTags: AudioUnitPropertyID = 32;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_PresentPreset: AudioUnitPropertyID = 36;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_DependentParameters: AudioUnitPropertyID = 45;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_InputSamplesInOutput: AudioUnitPropertyID = 49;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ShouldAllocateBuffer: AudioUnitPropertyID = 51;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_FrequencyResponse: AudioUnitPropertyID = 52;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ParameterHistoryInfo: AudioUnitPropertyID = 53;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_NickName: AudioUnitPropertyID = 54;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_OfflineRender: AudioUnitPropertyID = 37;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ParameterIDName: AudioUnitPropertyID = 34;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ParameterStringFromValue: AudioUnitPropertyID = 33;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ParameterClumpName: AudioUnitPropertyID = 35;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ParameterValueFromString: AudioUnitPropertyID = 38;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ContextName: AudioUnitPropertyID = 25;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_PresentationLatency: AudioUnitPropertyID = 40;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ClassInfoFromDocument: AudioUnitPropertyID = 50;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_RequestViewController: AudioUnitPropertyID = 56;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ParametersForOverview: AudioUnitPropertyID = 57;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SupportsMPE: AudioUnitPropertyID = 58;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_RenderContextObserver: AudioUnitPropertyID = 60;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_LastRenderSampleTime: AudioUnitPropertyID = 61;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_LoadedOutOfProcess: AudioUnitPropertyID = 62;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_FastDispatch: AudioUnitPropertyID = 5;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SetExternalBuffer: AudioUnitPropertyID = 15;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_GetUIComponentList: AudioUnitPropertyID = 18;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_CocoaUI: AudioUnitPropertyID = 31;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_IconLocation: AudioUnitPropertyID = 39;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_AUHostIdentifier: AudioUnitPropertyID = 46;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_MIDIOutputCallbackInfo: AudioUnitPropertyID = 47;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_MIDIOutputCallback: AudioUnitPropertyID = 48;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_MIDIOutputEventListCallback: AudioUnitPropertyID = 63;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_AudioUnitMIDIProtocol: AudioUnitPropertyID = 64;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_HostMIDIProtocol: AudioUnitPropertyID = 65;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_MIDIOutputBufferSizeHint: AudioUnitPropertyID = 66;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_RemoteControlEventListener: AudioUnitPropertyID = 100;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_IsInterAppConnected: AudioUnitPropertyID = 101;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_PeerURL: AudioUnitPropertyID = 102;
#[cfg(all(feature = "AUComponent", feature = "AudioComponent"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitConnection {
pub sourceAudioUnit: AudioUnit,
pub sourceOutputNumber: u32,
pub destInputNumber: u32,
}
#[cfg(all(feature = "AUComponent", feature = "AudioComponent"))]
unsafe impl Encode for AudioUnitConnection {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitConnection",
&[<AudioUnit>::ENCODING, <u32>::ENCODING, <u32>::ENCODING],
);
}
#[cfg(all(feature = "AUComponent", feature = "AudioComponent"))]
unsafe impl RefEncode for AudioUnitConnection {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUChannelInfo {
pub inChannels: i16,
pub outChannels: i16,
}
unsafe impl Encode for AUChannelInfo {
const ENCODING: Encoding =
Encoding::Struct("AUChannelInfo", &[<i16>::ENCODING, <i16>::ENCODING]);
}
unsafe impl RefEncode for AUChannelInfo {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitExternalBuffer {
pub buffer: NonNull<Byte>,
pub size: u32,
}
unsafe impl Encode for AudioUnitExternalBuffer {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitExternalBuffer",
&[<NonNull<Byte>>::ENCODING, <u32>::ENCODING],
);
}
unsafe impl RefEncode for AudioUnitExternalBuffer {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-audio-types"))]
#[repr(C)]
#[allow(unpredictable_function_pointer_comparisons)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AURenderCallbackStruct {
pub inputProc: AURenderCallback,
pub inputProcRefCon: *mut c_void,
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-audio-types"))]
unsafe impl Encode for AURenderCallbackStruct {
const ENCODING: Encoding = Encoding::Struct(
"AURenderCallbackStruct",
&[<AURenderCallback>::ENCODING, <*mut c_void>::ENCODING],
);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-audio-types"))]
unsafe impl RefEncode for AURenderCallbackStruct {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "objc2-core-foundation")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUPreset {
pub presetNumber: i32,
pub presetName: *const CFString,
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl Encode for AUPreset {
const ENCODING: Encoding =
Encoding::Struct("AUPreset", &[<i32>::ENCODING, <*const CFString>::ENCODING]);
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl RefEncode for AUPreset {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub const kRenderQuality_Max: c_uint = 127;
pub const kRenderQuality_High: c_uint = 96;
pub const kRenderQuality_Medium: c_uint = 64;
pub const kRenderQuality_Low: c_uint = 32;
pub const kRenderQuality_Min: c_uint = 0;
pub const kNumberOfResponseFrequencies: c_uint = 1024;
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitFrequencyResponseBin {
pub mFrequency: f64,
pub mMagnitude: f64,
}
unsafe impl Encode for AudioUnitFrequencyResponseBin {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitFrequencyResponseBin",
&[<f64>::ENCODING, <f64>::ENCODING],
);
}
unsafe impl RefEncode for AudioUnitFrequencyResponseBin {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub type HostCallback_GetBeatAndTempo =
Option<unsafe extern "C-unwind" fn(*mut c_void, *mut f64, *mut f64) -> OSStatus>;
pub type HostCallback_GetMusicalTimeLocation = Option<
unsafe extern "C-unwind" fn(*mut c_void, *mut u32, *mut f32, *mut u32, *mut f64) -> OSStatus,
>;
pub type HostCallback_GetTransportState = Option<
unsafe extern "C-unwind" fn(
*mut c_void,
*mut Boolean,
*mut Boolean,
*mut f64,
*mut Boolean,
*mut f64,
*mut f64,
) -> OSStatus,
>;
pub type HostCallback_GetTransportState2 = Option<
unsafe extern "C-unwind" fn(
*mut c_void,
*mut Boolean,
*mut Boolean,
*mut Boolean,
*mut f64,
*mut Boolean,
*mut f64,
*mut f64,
) -> OSStatus,
>;
#[repr(C)]
#[allow(unpredictable_function_pointer_comparisons)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct HostCallbackInfo {
pub hostUserData: *mut c_void,
pub beatAndTempoProc: HostCallback_GetBeatAndTempo,
pub musicalTimeLocationProc: HostCallback_GetMusicalTimeLocation,
pub transportStateProc: HostCallback_GetTransportState,
pub transportStateProc2: HostCallback_GetTransportState2,
}
unsafe impl Encode for HostCallbackInfo {
const ENCODING: Encoding = Encoding::Struct(
"HostCallbackInfo",
&[
<*mut c_void>::ENCODING,
<HostCallback_GetBeatAndTempo>::ENCODING,
<HostCallback_GetMusicalTimeLocation>::ENCODING,
<HostCallback_GetTransportState>::ENCODING,
<HostCallback_GetTransportState2>::ENCODING,
],
);
}
unsafe impl RefEncode for HostCallbackInfo {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUDependentParameter {
pub mScope: AudioUnitScope,
pub mParameterID: AudioUnitParameterID,
}
#[cfg(feature = "AUComponent")]
unsafe impl Encode for AUDependentParameter {
const ENCODING: Encoding = Encoding::Struct(
"AUDependentParameter",
&[<AudioUnitScope>::ENCODING, <AudioUnitParameterID>::ENCODING],
);
}
#[cfg(feature = "AUComponent")]
unsafe impl RefEncode for AUDependentParameter {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "objc2-core-foundation")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitCocoaViewInfo {
pub mCocoaAUViewBundleLocation: NonNull<CFURL>,
pub mCocoaAUViewClass: [NonNull<CFString>; 1],
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl Encode for AudioUnitCocoaViewInfo {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitCocoaViewInfo",
&[
<NonNull<CFURL>>::ENCODING,
<[NonNull<CFString>; 1]>::ENCODING,
],
);
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl RefEncode for AudioUnitCocoaViewInfo {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "objc2-core-foundation")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUHostVersionIdentifier {
pub hostName: NonNull<CFString>,
pub hostVersion: u32,
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl Encode for AUHostVersionIdentifier {
const ENCODING: Encoding = Encoding::Struct(
"AUHostVersionIdentifier",
&[<NonNull<CFString>>::ENCODING, <u32>::ENCODING],
);
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl RefEncode for AUHostVersionIdentifier {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "objc2-core-audio-types", feature = "objc2-core-midi"))]
pub type AUMIDIOutputCallback = Option<
unsafe extern "C-unwind" fn(
*mut c_void,
NonNull<AudioTimeStamp>,
u32,
NonNull<MIDIPacketList>,
) -> OSStatus,
>;
#[cfg(all(feature = "objc2-core-audio-types", feature = "objc2-core-midi"))]
#[repr(C)]
#[allow(unpredictable_function_pointer_comparisons)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUMIDIOutputCallbackStruct {
pub midiOutputCallback: AUMIDIOutputCallback,
pub userData: *mut c_void,
}
#[cfg(all(feature = "objc2-core-audio-types", feature = "objc2-core-midi"))]
unsafe impl Encode for AUMIDIOutputCallbackStruct {
const ENCODING: Encoding = Encoding::Struct(
"AUMIDIOutputCallbackStruct",
&[<AUMIDIOutputCallback>::ENCODING, <*mut c_void>::ENCODING],
);
}
#[cfg(all(feature = "objc2-core-audio-types", feature = "objc2-core-midi"))]
unsafe impl RefEncode for AUMIDIOutputCallbackStruct {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-audio-types"))]
#[repr(C)]
#[allow(unpredictable_function_pointer_comparisons)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUInputSamplesInOutputCallbackStruct {
pub inputToOutputCallback: AUInputSamplesInOutputCallback,
pub userData: *mut c_void,
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-audio-types"))]
unsafe impl Encode for AUInputSamplesInOutputCallbackStruct {
const ENCODING: Encoding = Encoding::Struct(
"AUInputSamplesInOutputCallbackStruct",
&[
<AUInputSamplesInOutputCallback>::ENCODING,
<*mut c_void>::ENCODING,
],
);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-audio-types"))]
unsafe impl RefEncode for AUInputSamplesInOutputCallbackStruct {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitParameterHistoryInfo {
pub updatesPerSecond: f32,
pub historyDurationInSeconds: f32,
}
unsafe impl Encode for AudioUnitParameterHistoryInfo {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitParameterHistoryInfo",
&[<f32>::ENCODING, <f32>::ENCODING],
);
}
unsafe impl RefEncode for AudioUnitParameterHistoryInfo {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub type AUEventSampleTime = i64;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AudioUnitParameterUnit(pub u32);
impl AudioUnitParameterUnit {
#[doc(alias = "kAudioUnitParameterUnit_Generic")]
pub const Generic: Self = Self(0);
#[doc(alias = "kAudioUnitParameterUnit_Indexed")]
pub const Indexed: Self = Self(1);
#[doc(alias = "kAudioUnitParameterUnit_Boolean")]
pub const Boolean: Self = Self(2);
#[doc(alias = "kAudioUnitParameterUnit_Percent")]
pub const Percent: Self = Self(3);
#[doc(alias = "kAudioUnitParameterUnit_Seconds")]
pub const Seconds: Self = Self(4);
#[doc(alias = "kAudioUnitParameterUnit_SampleFrames")]
pub const SampleFrames: Self = Self(5);
#[doc(alias = "kAudioUnitParameterUnit_Phase")]
pub const Phase: Self = Self(6);
#[doc(alias = "kAudioUnitParameterUnit_Rate")]
pub const Rate: Self = Self(7);
#[doc(alias = "kAudioUnitParameterUnit_Hertz")]
pub const Hertz: Self = Self(8);
#[doc(alias = "kAudioUnitParameterUnit_Cents")]
pub const Cents: Self = Self(9);
#[doc(alias = "kAudioUnitParameterUnit_RelativeSemiTones")]
pub const RelativeSemiTones: Self = Self(10);
#[doc(alias = "kAudioUnitParameterUnit_MIDINoteNumber")]
pub const MIDINoteNumber: Self = Self(11);
#[doc(alias = "kAudioUnitParameterUnit_MIDIController")]
pub const MIDIController: Self = Self(12);
#[doc(alias = "kAudioUnitParameterUnit_Decibels")]
pub const Decibels: Self = Self(13);
#[doc(alias = "kAudioUnitParameterUnit_LinearGain")]
pub const LinearGain: Self = Self(14);
#[doc(alias = "kAudioUnitParameterUnit_Degrees")]
pub const Degrees: Self = Self(15);
#[doc(alias = "kAudioUnitParameterUnit_EqualPowerCrossfade")]
pub const EqualPowerCrossfade: Self = Self(16);
#[doc(alias = "kAudioUnitParameterUnit_MixerFaderCurve1")]
pub const MixerFaderCurve1: Self = Self(17);
#[doc(alias = "kAudioUnitParameterUnit_Pan")]
pub const Pan: Self = Self(18);
#[doc(alias = "kAudioUnitParameterUnit_Meters")]
pub const Meters: Self = Self(19);
#[doc(alias = "kAudioUnitParameterUnit_AbsoluteCents")]
pub const AbsoluteCents: Self = Self(20);
#[doc(alias = "kAudioUnitParameterUnit_Octaves")]
pub const Octaves: Self = Self(21);
#[doc(alias = "kAudioUnitParameterUnit_BPM")]
pub const BPM: Self = Self(22);
#[doc(alias = "kAudioUnitParameterUnit_Beats")]
pub const Beats: Self = Self(23);
#[doc(alias = "kAudioUnitParameterUnit_Milliseconds")]
pub const Milliseconds: Self = Self(24);
#[doc(alias = "kAudioUnitParameterUnit_Ratio")]
pub const Ratio: Self = Self(25);
#[doc(alias = "kAudioUnitParameterUnit_CustomUnit")]
pub const CustomUnit: Self = Self(26);
#[doc(alias = "kAudioUnitParameterUnit_MIDI2Controller")]
pub const MIDI2Controller: Self = Self(27);
}
unsafe impl Encode for AudioUnitParameterUnit {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AudioUnitParameterUnit {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AudioUnitParameterOptions(pub u32);
bitflags::bitflags! {
impl AudioUnitParameterOptions: u32 {
#[doc(alias = "kAudioUnitParameterFlag_CFNameRelease")]
const Flag_CFNameRelease = 1<<4;
#[doc(alias = "kAudioUnitParameterFlag_OmitFromPresets")]
const Flag_OmitFromPresets = 1<<13;
#[doc(alias = "kAudioUnitParameterFlag_PlotHistory")]
const Flag_PlotHistory = 1<<14;
#[doc(alias = "kAudioUnitParameterFlag_MeterReadOnly")]
const Flag_MeterReadOnly = 1<<15;
#[doc(alias = "kAudioUnitParameterFlag_DisplayMask")]
const Flag_DisplayMask = (7<<16)|(1<<22);
#[doc(alias = "kAudioUnitParameterFlag_DisplaySquareRoot")]
const Flag_DisplaySquareRoot = 1<<16;
#[doc(alias = "kAudioUnitParameterFlag_DisplaySquared")]
const Flag_DisplaySquared = 2<<16;
#[doc(alias = "kAudioUnitParameterFlag_DisplayCubed")]
const Flag_DisplayCubed = 3<<16;
#[doc(alias = "kAudioUnitParameterFlag_DisplayCubeRoot")]
const Flag_DisplayCubeRoot = 4<<16;
#[doc(alias = "kAudioUnitParameterFlag_DisplayExponential")]
const Flag_DisplayExponential = 5<<16;
#[doc(alias = "kAudioUnitParameterFlag_HasClump")]
const Flag_HasClump = 1<<20;
#[doc(alias = "kAudioUnitParameterFlag_ValuesHaveStrings")]
const Flag_ValuesHaveStrings = 1<<21;
#[doc(alias = "kAudioUnitParameterFlag_DisplayLogarithmic")]
const Flag_DisplayLogarithmic = 1<<22;
#[doc(alias = "kAudioUnitParameterFlag_IsHighResolution")]
const Flag_IsHighResolution = 1<<23;
#[doc(alias = "kAudioUnitParameterFlag_NonRealTime")]
const Flag_NonRealTime = 1<<24;
#[doc(alias = "kAudioUnitParameterFlag_CanRamp")]
const Flag_CanRamp = 1<<25;
#[doc(alias = "kAudioUnitParameterFlag_ExpertMode")]
const Flag_ExpertMode = 1<<26;
#[doc(alias = "kAudioUnitParameterFlag_HasCFNameString")]
const Flag_HasCFNameString = 1<<27;
#[doc(alias = "kAudioUnitParameterFlag_IsGlobalMeta")]
const Flag_IsGlobalMeta = 1<<28;
#[doc(alias = "kAudioUnitParameterFlag_IsElementMeta")]
const Flag_IsElementMeta = 1<<29;
#[doc(alias = "kAudioUnitParameterFlag_IsReadable")]
const Flag_IsReadable = 1<<30;
#[doc(alias = "kAudioUnitParameterFlag_IsWritable")]
const Flag_IsWritable = 1<<31;
}
}
unsafe impl Encode for AudioUnitParameterOptions {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AudioUnitParameterOptions {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitParameterInfo {
pub name: [c_char; 52],
pub unitName: *const CFString,
pub clumpID: u32,
pub cfNameString: *const CFString,
pub unit: AudioUnitParameterUnit,
pub minValue: AudioUnitParameterValue,
pub maxValue: AudioUnitParameterValue,
pub defaultValue: AudioUnitParameterValue,
pub flags: AudioUnitParameterOptions,
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
unsafe impl Encode for AudioUnitParameterInfo {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitParameterInfo",
&[
<[c_char; 52]>::ENCODING,
<*const CFString>::ENCODING,
<u32>::ENCODING,
<*const CFString>::ENCODING,
<AudioUnitParameterUnit>::ENCODING,
<AudioUnitParameterValue>::ENCODING,
<AudioUnitParameterValue>::ENCODING,
<AudioUnitParameterValue>::ENCODING,
<AudioUnitParameterOptions>::ENCODING,
],
);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
unsafe impl RefEncode for AudioUnitParameterInfo {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub const kAudioUnitClumpID_System: c_uint = 0;
pub const kAudioUnitParameterName_Full: c_int = -1;
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitParameterNameInfo {
pub inID: AudioUnitParameterID,
pub inDesiredLength: i32,
pub outName: *const CFString,
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
unsafe impl Encode for AudioUnitParameterNameInfo {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitParameterNameInfo",
&[
<AudioUnitParameterID>::ENCODING,
<i32>::ENCODING,
<*const CFString>::ENCODING,
],
);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
unsafe impl RefEncode for AudioUnitParameterNameInfo {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
pub type AudioUnitParameterIDName = AudioUnitParameterNameInfo;
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitParameterStringFromValue {
pub inParamID: AudioUnitParameterID,
pub inValue: NonNull<AudioUnitParameterValue>,
pub outString: *const CFString,
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
unsafe impl Encode for AudioUnitParameterStringFromValue {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitParameterStringFromValue",
&[
<AudioUnitParameterID>::ENCODING,
<NonNull<AudioUnitParameterValue>>::ENCODING,
<*const CFString>::ENCODING,
],
);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
unsafe impl RefEncode for AudioUnitParameterStringFromValue {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitParameterValueFromString {
pub inParamID: AudioUnitParameterID,
pub inString: NonNull<CFString>,
pub outValue: AudioUnitParameterValue,
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
unsafe impl Encode for AudioUnitParameterValueFromString {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitParameterValueFromString",
&[
<AudioUnitParameterID>::ENCODING,
<NonNull<CFString>>::ENCODING,
<AudioUnitParameterValue>::ENCODING,
],
);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
unsafe impl RefEncode for AudioUnitParameterValueFromString {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AudioUnitRemoteControlEvent(pub u32);
impl AudioUnitRemoteControlEvent {
#[doc(alias = "kAudioUnitRemoteControlEvent_TogglePlayPause")]
pub const TogglePlayPause: Self = Self(1);
#[doc(alias = "kAudioUnitRemoteControlEvent_ToggleRecord")]
pub const ToggleRecord: Self = Self(2);
#[doc(alias = "kAudioUnitRemoteControlEvent_Rewind")]
pub const Rewind: Self = Self(3);
}
unsafe impl Encode for AudioUnitRemoteControlEvent {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AudioUnitRemoteControlEvent {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "block2")]
pub type AudioUnitRemoteControlEventListener =
*mut block2::DynBlock<dyn Fn(AudioUnitRemoteControlEvent)>;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_AllParameterMIDIMappings: AudioUnitPropertyID = 41;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_AddParameterMIDIMapping: AudioUnitPropertyID = 42;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_RemoveParameterMIDIMapping: AudioUnitPropertyID = 43;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_HotMapParameterMIDIMapping: AudioUnitPropertyID = 44;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUParameterMIDIMappingFlags(pub u32);
bitflags::bitflags! {
impl AUParameterMIDIMappingFlags: u32 {
#[doc(alias = "kAUParameterMIDIMapping_AnyChannelFlag")]
const AnyChannelFlag = 1<<0;
#[doc(alias = "kAUParameterMIDIMapping_AnyNoteFlag")]
const AnyNoteFlag = 1<<1;
#[doc(alias = "kAUParameterMIDIMapping_SubRange")]
const SubRange = 1<<2;
#[doc(alias = "kAUParameterMIDIMapping_Toggle")]
const Toggle = 1<<3;
#[doc(alias = "kAUParameterMIDIMapping_Bipolar")]
const Bipolar = 1<<4;
#[doc(alias = "kAUParameterMIDIMapping_Bipolar_On")]
const Bipolar_On = 1<<5;
}
}
unsafe impl Encode for AUParameterMIDIMappingFlags {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUParameterMIDIMappingFlags {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUParameterMIDIMapping {
pub mScope: AudioUnitScope,
pub mElement: AudioUnitElement,
pub mParameterID: AudioUnitParameterID,
pub mFlags: AUParameterMIDIMappingFlags,
pub mSubRangeMin: AudioUnitParameterValue,
pub mSubRangeMax: AudioUnitParameterValue,
pub mStatus: u8,
pub mData1: u8,
pub reserved1: u8,
pub reserved2: u8,
pub reserved3: u32,
}
#[cfg(feature = "AUComponent")]
unsafe impl Encode for AUParameterMIDIMapping {
const ENCODING: Encoding = Encoding::Struct(
"AUParameterMIDIMapping",
&[
<AudioUnitScope>::ENCODING,
<AudioUnitElement>::ENCODING,
<AudioUnitParameterID>::ENCODING,
<AUParameterMIDIMappingFlags>::ENCODING,
<AudioUnitParameterValue>::ENCODING,
<AudioUnitParameterValue>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
<u32>::ENCODING,
],
);
}
#[cfg(feature = "AUComponent")]
unsafe impl RefEncode for AUParameterMIDIMapping {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_MIDIXMLNames: AudioUnitPropertyID = 1006;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_PartGroup: AudioUnitPropertyID = 1010;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_DualSchedulingMode: AudioUnitPropertyID = 1013;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_SupportsStartStopNote: AudioUnitPropertyID = 1014;
pub const kMusicDeviceSampleFrameMask_SampleOffset: c_uint = 0xFFFFFF;
pub const kMusicDeviceSampleFrameMask_IsScheduled: c_uint = 0x01000000;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitOfflineProperty_InputSize: AudioUnitPropertyID = 3020;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitOfflineProperty_OutputSize: AudioUnitPropertyID = 3021;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitOfflineProperty_StartOffset: AudioUnitPropertyID = 3022;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitOfflineProperty_PreflightRequirements: AudioUnitPropertyID = 3023;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitOfflineProperty_PreflightName: AudioUnitPropertyID = 3024;
pub const kOfflinePreflight_NotRequired: c_uint = 0;
pub const kOfflinePreflight_Optional: c_uint = 1;
pub const kOfflinePreflight_Required: c_uint = 2;
#[cfg(feature = "AUComponent")]
#[deprecated = "no longer supported"]
pub const kAudioUnitProperty_DistanceAttenuationData: AudioUnitPropertyID = 3600;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitMigrateProperty_FromPlugin: AudioUnitPropertyID = 4000;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitMigrateProperty_OldAutomation: AudioUnitPropertyID = 4001;
pub const kOtherPluginFormat_Undefined: u32 = 0;
pub const kOtherPluginFormat_kMAS: u32 = 1;
pub const kOtherPluginFormat_kVST: u32 = 2;
pub const kOtherPluginFormat_AU: u32 = 3;
#[cfg(feature = "objc2-core-audio-types")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitOtherPluginDesc {
pub format: u32,
pub plugin: AudioClassDescription,
}
#[cfg(feature = "objc2-core-audio-types")]
unsafe impl Encode for AudioUnitOtherPluginDesc {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitOtherPluginDesc",
&[<u32>::ENCODING, <AudioClassDescription>::ENCODING],
);
}
#[cfg(feature = "objc2-core-audio-types")]
unsafe impl RefEncode for AudioUnitOtherPluginDesc {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-audio-types"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitParameterValueTranslation {
pub otherDesc: AudioUnitOtherPluginDesc,
pub otherParamID: u32,
pub otherValue: f32,
pub auParamID: AudioUnitParameterID,
pub auValue: AudioUnitParameterValue,
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-audio-types"))]
unsafe impl Encode for AudioUnitParameterValueTranslation {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitParameterValueTranslation",
&[
<AudioUnitOtherPluginDesc>::ENCODING,
<u32>::ENCODING,
<f32>::ENCODING,
<AudioUnitParameterID>::ENCODING,
<AudioUnitParameterValue>::ENCODING,
],
);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-audio-types"))]
unsafe impl RefEncode for AudioUnitParameterValueTranslation {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitPresetMAS_SettingData {
pub isStockSetting: u32,
pub settingID: u32,
pub dataLen: u32,
pub data: [u8; 1],
}
unsafe impl Encode for AudioUnitPresetMAS_SettingData {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitPresetMAS_SettingData",
&[
<u32>::ENCODING,
<u32>::ENCODING,
<u32>::ENCODING,
<[u8; 1]>::ENCODING,
],
);
}
unsafe impl RefEncode for AudioUnitPresetMAS_SettingData {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitPresetMAS_Settings {
pub manufacturerID: u32,
pub effectID: u32,
pub variantID: u32,
pub settingsVersion: u32,
pub numberOfSettings: u32,
pub settings: [AudioUnitPresetMAS_SettingData; 1],
}
unsafe impl Encode for AudioUnitPresetMAS_Settings {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitPresetMAS_Settings",
&[
<u32>::ENCODING,
<u32>::ENCODING,
<u32>::ENCODING,
<u32>::ENCODING,
<u32>::ENCODING,
<[AudioUnitPresetMAS_SettingData; 1]>::ENCODING,
],
);
}
unsafe impl RefEncode for AudioUnitPresetMAS_Settings {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SampleRateConverterComplexity: AudioUnitPropertyID = 3014;
pub const kAudioUnitSampleRateConverterComplexity_Linear: u32 = 0x6c696e65;
pub const kAudioUnitSampleRateConverterComplexity_Normal: u32 = 0x6e6f726d;
pub const kAudioUnitSampleRateConverterComplexity_Mastering: u32 = 0x62617473;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_CurrentDevice: AudioUnitPropertyID = 2000;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_IsRunning: AudioUnitPropertyID = 2001;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_ChannelMap: AudioUnitPropertyID = 2002;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_EnableIO: AudioUnitPropertyID = 2003;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_StartTime: AudioUnitPropertyID = 2004;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_SetInputCallback: AudioUnitPropertyID = 2005;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_HasIO: AudioUnitPropertyID = 2006;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_StartTimestampsAtZero: AudioUnitPropertyID = 2007;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_OSWorkgroup: AudioUnitPropertyID = 2015;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_IntendedSpatialExperience: AudioUnitPropertyID = 2016;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_MIDICallbacks: AudioUnitPropertyID = 2010;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_HostReceivesRemoteControlEvents: AudioUnitPropertyID = 2011;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_RemoteControlToHost: AudioUnitPropertyID = 2012;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_HostTransportState: AudioUnitPropertyID = 2013;
#[cfg(feature = "AUComponent")]
pub const kAudioOutputUnitProperty_NodeComponentDescription: AudioUnitPropertyID = 2014;
#[repr(C)]
#[allow(unpredictable_function_pointer_comparisons)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioOutputUnitMIDICallbacks {
pub userData: *mut c_void,
pub MIDIEventProc: unsafe extern "C-unwind" fn(*mut c_void, u32, u32, u32, u32),
pub MIDISysExProc: unsafe extern "C-unwind" fn(*mut c_void, NonNull<u8>, u32),
}
unsafe impl Encode for AudioOutputUnitMIDICallbacks {
const ENCODING: Encoding = Encoding::Struct(
"AudioOutputUnitMIDICallbacks",
&[
<*mut c_void>::ENCODING,
<unsafe extern "C-unwind" fn(*mut c_void, u32, u32, u32, u32)>::ENCODING,
<unsafe extern "C-unwind" fn(*mut c_void, NonNull<u8>, u32)>::ENCODING,
],
);
}
unsafe impl RefEncode for AudioOutputUnitMIDICallbacks {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "objc2-core-audio-types")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioOutputUnitStartAtTimeParams {
pub mTimestamp: AudioTimeStamp,
pub mFlags: u32,
}
#[cfg(feature = "objc2-core-audio-types")]
unsafe impl Encode for AudioOutputUnitStartAtTimeParams {
const ENCODING: Encoding = Encoding::Struct(
"AudioOutputUnitStartAtTimeParams",
&[<AudioTimeStamp>::ENCODING, <u32>::ENCODING],
);
}
#[cfg(feature = "objc2-core-audio-types")]
unsafe impl RefEncode for AudioOutputUnitStartAtTimeParams {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
pub const kAUVoiceIOProperty_BypassVoiceProcessing: AudioUnitPropertyID = 2100;
#[cfg(feature = "AUComponent")]
pub const kAUVoiceIOProperty_VoiceProcessingEnableAGC: AudioUnitPropertyID = 2101;
#[cfg(feature = "AUComponent")]
pub const kAUVoiceIOProperty_MuteOutput: AudioUnitPropertyID = 2104;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUVoiceIOSpeechActivityEvent(pub u32);
impl AUVoiceIOSpeechActivityEvent {
#[doc(alias = "kAUVoiceIOSpeechActivityHasStarted")]
pub const HasStarted: Self = Self(0);
#[doc(alias = "kAUVoiceIOSpeechActivityHasEnded")]
pub const HasEnded: Self = Self(1);
}
unsafe impl Encode for AUVoiceIOSpeechActivityEvent {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUVoiceIOSpeechActivityEvent {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "block2")]
pub type AUVoiceIOMutedSpeechActivityEventListener =
*mut block2::DynBlock<dyn Fn(AUVoiceIOSpeechActivityEvent)>;
#[cfg(feature = "AUComponent")]
pub const kAUVoiceIOProperty_MutedSpeechActivityEventListener: AudioUnitPropertyID = 2106;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUVoiceIOOtherAudioDuckingLevel(pub u32);
impl AUVoiceIOOtherAudioDuckingLevel {
#[doc(alias = "kAUVoiceIOOtherAudioDuckingLevelDefault")]
pub const Default: Self = Self(0);
#[doc(alias = "kAUVoiceIOOtherAudioDuckingLevelMin")]
pub const Min: Self = Self(10);
#[doc(alias = "kAUVoiceIOOtherAudioDuckingLevelMid")]
pub const Mid: Self = Self(20);
#[doc(alias = "kAUVoiceIOOtherAudioDuckingLevelMax")]
pub const Max: Self = Self(30);
}
unsafe impl Encode for AUVoiceIOOtherAudioDuckingLevel {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUVoiceIOOtherAudioDuckingLevel {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUVoiceIOOtherAudioDuckingConfiguration {
pub mEnableAdvancedDucking: Boolean,
pub mDuckingLevel: AUVoiceIOOtherAudioDuckingLevel,
}
unsafe impl Encode for AUVoiceIOOtherAudioDuckingConfiguration {
const ENCODING: Encoding = Encoding::Struct(
"AUVoiceIOOtherAudioDuckingConfiguration",
&[
<Boolean>::ENCODING,
<AUVoiceIOOtherAudioDuckingLevel>::ENCODING,
],
);
}
unsafe impl RefEncode for AUVoiceIOOtherAudioDuckingConfiguration {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
pub const kAUVoiceIOProperty_OtherAudioDuckingConfiguration: AudioUnitPropertyID = 2108;
#[cfg(feature = "AUComponent")]
#[deprecated]
pub const kAUVoiceIOProperty_VoiceProcessingQuality: AudioUnitPropertyID = 2103;
#[cfg(feature = "AUComponent")]
pub const kAUNBandEQProperty_NumberOfBands: AudioUnitPropertyID = 2200;
#[cfg(feature = "AUComponent")]
pub const kAUNBandEQProperty_MaxNumberOfBands: AudioUnitPropertyID = 2201;
#[cfg(feature = "AUComponent")]
pub const kAUNBandEQProperty_BiquadCoefficients: AudioUnitPropertyID = 2203;
pub const kAUVoiceIOErr_UnexpectedNumberOfInputChannels: OSStatus = -66784;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_MeteringMode: AudioUnitPropertyID = 3007;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_MatrixLevels: AudioUnitPropertyID = 3006;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_MatrixDimensions: AudioUnitPropertyID = 3009;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_MeterClipping: AudioUnitPropertyID = 3011;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_InputAnchorTimeStamp: AudioUnitPropertyID = 3016;
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitMeterClipping {
pub peakValueSinceLastCall: f32,
pub sawInfinity: Boolean,
pub sawNotANumber: Boolean,
}
unsafe impl Encode for AudioUnitMeterClipping {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitMeterClipping",
&[<f32>::ENCODING, <Boolean>::ENCODING, <Boolean>::ENCODING],
);
}
unsafe impl RefEncode for AudioUnitMeterClipping {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ReverbRoomType: AudioUnitPropertyID = 10;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_UsesInternalReverb: AudioUnitPropertyID = 1005;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SpatializationAlgorithm: AudioUnitPropertyID = 3000;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SpatialMixerRenderingFlags: AudioUnitPropertyID = 3003;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SpatialMixerSourceMode: AudioUnitPropertyID = 3005;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SpatialMixerDistanceParams: AudioUnitPropertyID = 3010;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SpatialMixerAttenuationCurve: AudioUnitPropertyID = 3013;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SpatialMixerOutputType: AudioUnitPropertyID = 3100;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SpatialMixerPointSourceInHeadMode: AudioUnitPropertyID = 3103;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SpatialMixerEnableHeadTracking: AudioUnitPropertyID = 3111;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SpatialMixerPersonalizedHRTFMode: AudioUnitPropertyID = 3113;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SpatialMixerAnyInputIsUsingPersonalizedHRTF: AudioUnitPropertyID =
3116;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUSpatializationAlgorithm(pub u32);
impl AUSpatializationAlgorithm {
#[doc(alias = "kSpatializationAlgorithm_EqualPowerPanning")]
pub const SpatializationAlgorithm_EqualPowerPanning: Self = Self(0);
#[doc(alias = "kSpatializationAlgorithm_SphericalHead")]
pub const SpatializationAlgorithm_SphericalHead: Self = Self(1);
#[doc(alias = "kSpatializationAlgorithm_HRTF")]
pub const SpatializationAlgorithm_HRTF: Self = Self(2);
#[doc(alias = "kSpatializationAlgorithm_SoundField")]
pub const SpatializationAlgorithm_SoundField: Self = Self(3);
#[doc(alias = "kSpatializationAlgorithm_VectorBasedPanning")]
pub const SpatializationAlgorithm_VectorBasedPanning: Self = Self(4);
#[doc(alias = "kSpatializationAlgorithm_StereoPassThrough")]
pub const SpatializationAlgorithm_StereoPassThrough: Self = Self(5);
#[doc(alias = "kSpatializationAlgorithm_HRTFHQ")]
pub const SpatializationAlgorithm_HRTFHQ: Self = Self(6);
#[doc(alias = "kSpatializationAlgorithm_UseOutputType")]
pub const SpatializationAlgorithm_UseOutputType: Self = Self(7);
}
unsafe impl Encode for AUSpatializationAlgorithm {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUSpatializationAlgorithm {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUSpatialMixerSourceMode(pub u32);
impl AUSpatialMixerSourceMode {
#[doc(alias = "kSpatialMixerSourceMode_SpatializeIfMono")]
pub const SpatialMixerSourceMode_SpatializeIfMono: Self = Self(0);
#[doc(alias = "kSpatialMixerSourceMode_Bypass")]
pub const SpatialMixerSourceMode_Bypass: Self = Self(1);
#[doc(alias = "kSpatialMixerSourceMode_PointSource")]
pub const SpatialMixerSourceMode_PointSource: Self = Self(2);
#[doc(alias = "kSpatialMixerSourceMode_AmbienceBed")]
pub const SpatialMixerSourceMode_AmbienceBed: Self = Self(3);
}
unsafe impl Encode for AUSpatialMixerSourceMode {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUSpatialMixerSourceMode {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUReverbRoomType(pub u32);
impl AUReverbRoomType {
#[doc(alias = "kReverbRoomType_SmallRoom")]
pub const ReverbRoomType_SmallRoom: Self = Self(0);
#[doc(alias = "kReverbRoomType_MediumRoom")]
pub const ReverbRoomType_MediumRoom: Self = Self(1);
#[doc(alias = "kReverbRoomType_LargeRoom")]
pub const ReverbRoomType_LargeRoom: Self = Self(2);
#[doc(alias = "kReverbRoomType_MediumHall")]
pub const ReverbRoomType_MediumHall: Self = Self(3);
#[doc(alias = "kReverbRoomType_LargeHall")]
pub const ReverbRoomType_LargeHall: Self = Self(4);
#[doc(alias = "kReverbRoomType_Plate")]
pub const ReverbRoomType_Plate: Self = Self(5);
#[doc(alias = "kReverbRoomType_MediumChamber")]
pub const ReverbRoomType_MediumChamber: Self = Self(6);
#[doc(alias = "kReverbRoomType_LargeChamber")]
pub const ReverbRoomType_LargeChamber: Self = Self(7);
#[doc(alias = "kReverbRoomType_Cathedral")]
pub const ReverbRoomType_Cathedral: Self = Self(8);
#[doc(alias = "kReverbRoomType_LargeRoom2")]
pub const ReverbRoomType_LargeRoom2: Self = Self(9);
#[doc(alias = "kReverbRoomType_MediumHall2")]
pub const ReverbRoomType_MediumHall2: Self = Self(10);
#[doc(alias = "kReverbRoomType_MediumHall3")]
pub const ReverbRoomType_MediumHall3: Self = Self(11);
#[doc(alias = "kReverbRoomType_LargeHall2")]
pub const ReverbRoomType_LargeHall2: Self = Self(12);
}
unsafe impl Encode for AUReverbRoomType {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUReverbRoomType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUSpatialMixerAttenuationCurve(pub u32);
impl AUSpatialMixerAttenuationCurve {
#[doc(alias = "kSpatialMixerAttenuationCurve_Power")]
pub const SpatialMixerAttenuationCurve_Power: Self = Self(0);
#[doc(alias = "kSpatialMixerAttenuationCurve_Exponential")]
pub const SpatialMixerAttenuationCurve_Exponential: Self = Self(1);
#[doc(alias = "kSpatialMixerAttenuationCurve_Inverse")]
pub const SpatialMixerAttenuationCurve_Inverse: Self = Self(2);
#[doc(alias = "kSpatialMixerAttenuationCurve_Linear")]
pub const SpatialMixerAttenuationCurve_Linear: Self = Self(3);
}
unsafe impl Encode for AUSpatialMixerAttenuationCurve {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUSpatialMixerAttenuationCurve {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct MixerDistanceParams {
pub mReferenceDistance: f32,
pub mMaxDistance: f32,
pub mMaxAttenuation: f32,
}
unsafe impl Encode for MixerDistanceParams {
const ENCODING: Encoding = Encoding::Struct(
"MixerDistanceParams",
&[<f32>::ENCODING, <f32>::ENCODING, <f32>::ENCODING],
);
}
unsafe impl RefEncode for MixerDistanceParams {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUSpatialMixerRenderingFlags(pub u32);
bitflags::bitflags! {
impl AUSpatialMixerRenderingFlags: u32 {
#[doc(alias = "kSpatialMixerRenderingFlags_InterAuralDelay")]
const SpatialMixerRenderingFlags_InterAuralDelay = 1<<0;
#[doc(alias = "kSpatialMixerRenderingFlags_DistanceAttenuation")]
const SpatialMixerRenderingFlags_DistanceAttenuation = 1<<2;
}
}
unsafe impl Encode for AUSpatialMixerRenderingFlags {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUSpatialMixerRenderingFlags {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUSpatialMixerPersonalizedHRTFMode(pub u32);
impl AUSpatialMixerPersonalizedHRTFMode {
#[doc(alias = "kSpatialMixerPersonalizedHRTFMode_Off")]
pub const SpatialMixerPersonalizedHRTFMode_Off: Self = Self(0);
#[doc(alias = "kSpatialMixerPersonalizedHRTFMode_On")]
pub const SpatialMixerPersonalizedHRTFMode_On: Self = Self(1);
#[doc(alias = "kSpatialMixerPersonalizedHRTFMode_Auto")]
pub const SpatialMixerPersonalizedHRTFMode_Auto: Self = Self(2);
}
unsafe impl Encode for AUSpatialMixerPersonalizedHRTFMode {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUSpatialMixerPersonalizedHRTFMode {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUSpatialMixerOutputType(pub u32);
impl AUSpatialMixerOutputType {
#[doc(alias = "kSpatialMixerOutputType_Headphones")]
pub const SpatialMixerOutputType_Headphones: Self = Self(1);
#[doc(alias = "kSpatialMixerOutputType_BuiltInSpeakers")]
pub const SpatialMixerOutputType_BuiltInSpeakers: Self = Self(2);
#[doc(alias = "kSpatialMixerOutputType_ExternalSpeakers")]
pub const SpatialMixerOutputType_ExternalSpeakers: Self = Self(3);
}
unsafe impl Encode for AUSpatialMixerOutputType {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUSpatialMixerOutputType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUSpatialMixerPointSourceInHeadMode(pub u32);
impl AUSpatialMixerPointSourceInHeadMode {
#[doc(alias = "kSpatialMixerPointSourceInHeadMode_Mono")]
pub const SpatialMixerPointSourceInHeadMode_Mono: Self = Self(0);
#[doc(alias = "kSpatialMixerPointSourceInHeadMode_Bypass")]
pub const SpatialMixerPointSourceInHeadMode_Bypass: Self = Self(1);
}
unsafe impl Encode for AUSpatialMixerPointSourceInHeadMode {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUSpatialMixerPointSourceInHeadMode {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
pub const kAUAudioMixProperty_SpatialAudioMixMetadata: AudioUnitPropertyID = 5000;
#[cfg(feature = "AUComponent")]
pub const kAUAudioMixProperty_EnableSpatialization: AudioUnitPropertyID = 5001;
#[cfg(feature = "AUComponent")]
#[deprecated]
pub const kAudioUnitProperty_3DMixerDistanceParams: AudioUnitPropertyID = 3010;
#[cfg(feature = "AUComponent")]
#[deprecated]
pub const kAudioUnitProperty_3DMixerAttenuationCurve: AudioUnitPropertyID = 3013;
#[cfg(feature = "AUComponent")]
#[deprecated]
pub const kAudioUnitProperty_DopplerShift: AudioUnitPropertyID = 3002;
#[cfg(feature = "AUComponent")]
#[deprecated]
pub const kAudioUnitProperty_3DMixerRenderingFlags: AudioUnitPropertyID = 3003;
#[cfg(feature = "AUComponent")]
#[deprecated]
pub const kAudioUnitProperty_3DMixerDistanceAtten: AudioUnitPropertyID = 3004;
#[cfg(feature = "AUComponent")]
#[deprecated]
pub const kAudioUnitProperty_ReverbPreset: AudioUnitPropertyID = 3012;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AU3DMixerRenderingFlags(pub u32);
bitflags::bitflags! {
impl AU3DMixerRenderingFlags: u32 {
const k3DMixerRenderingFlags_InterAuralDelay = 1<<0;
const k3DMixerRenderingFlags_DopplerShift = 1<<1;
const k3DMixerRenderingFlags_DistanceAttenuation = 1<<2;
const k3DMixerRenderingFlags_DistanceFilter = 1<<3;
const k3DMixerRenderingFlags_DistanceDiffusion = 1<<4;
const k3DMixerRenderingFlags_LinearDistanceAttenuation = 1<<5;
const k3DMixerRenderingFlags_ConstantReverbBlend = 1<<6;
}
}
unsafe impl Encode for AU3DMixerRenderingFlags {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AU3DMixerRenderingFlags {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AU3DMixerAttenuationCurve(pub u32);
impl AU3DMixerAttenuationCurve {
pub const k3DMixerAttenuationCurve_Power: Self = Self(0);
pub const k3DMixerAttenuationCurve_Exponential: Self = Self(1);
pub const k3DMixerAttenuationCurve_Inverse: Self = Self(2);
pub const k3DMixerAttenuationCurve_Linear: Self = Self(3);
}
unsafe impl Encode for AU3DMixerAttenuationCurve {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AU3DMixerAttenuationCurve {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ScheduleAudioSlice: AudioUnitPropertyID = 3300;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ScheduleStartTimeStamp: AudioUnitPropertyID = 3301;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_CurrentPlayTime: AudioUnitPropertyID = 3302;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AUScheduledAudioSliceFlags(pub u32);
bitflags::bitflags! {
impl AUScheduledAudioSliceFlags: u32 {
#[doc(alias = "kScheduledAudioSliceFlag_Complete")]
const ScheduledAudioSliceFlag_Complete = 0x01;
#[doc(alias = "kScheduledAudioSliceFlag_BeganToRender")]
const ScheduledAudioSliceFlag_BeganToRender = 0x02;
#[doc(alias = "kScheduledAudioSliceFlag_BeganToRenderLate")]
const ScheduledAudioSliceFlag_BeganToRenderLate = 0x04;
#[doc(alias = "kScheduledAudioSliceFlag_Loop")]
const ScheduledAudioSliceFlag_Loop = 0x08;
#[doc(alias = "kScheduledAudioSliceFlag_Interrupt")]
const ScheduledAudioSliceFlag_Interrupt = 0x10;
#[doc(alias = "kScheduledAudioSliceFlag_InterruptAtLoop")]
const ScheduledAudioSliceFlag_InterruptAtLoop = 0x20;
}
}
unsafe impl Encode for AUScheduledAudioSliceFlags {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for AUScheduledAudioSliceFlags {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ScheduledFileIDs: AudioUnitPropertyID = 3310;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ScheduledFileRegion: AudioUnitPropertyID = 3311;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ScheduledFilePrime: AudioUnitPropertyID = 3312;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ScheduledFileBufferSizeFrames: AudioUnitPropertyID = 3313;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ScheduledFileNumberBuffers: AudioUnitPropertyID = 3314;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_UsesInternalReverb: AudioUnitPropertyID =
kAudioUnitProperty_UsesInternalReverb;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_SoundBankData: AudioUnitPropertyID = 1008;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_StreamFromDisk: AudioUnitPropertyID = 1011;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_SoundBankFSRef: AudioUnitPropertyID = 1012;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_InstrumentName: AudioUnitPropertyID = 1001;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_InstrumentNumber: AudioUnitPropertyID = 1004;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_InstrumentCount: AudioUnitPropertyID = 1000;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_BankName: AudioUnitPropertyID = 1007;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_SoundBankURL: AudioUnitPropertyID = 1100;
#[cfg(feature = "AUComponent")]
pub const kAUMIDISynthProperty_EnablePreload: AudioUnitPropertyID = 4119;
#[cfg(feature = "AUComponent")]
pub const kAUSamplerProperty_LoadInstrument: AudioUnitPropertyID = 4102;
#[cfg(feature = "AUComponent")]
pub const kAUSamplerProperty_LoadAudioFiles: AudioUnitPropertyID = 4101;
#[cfg(feature = "objc2-core-foundation")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUSamplerInstrumentData {
pub fileURL: NonNull<CFURL>,
pub instrumentType: u8,
pub bankMSB: u8,
pub bankLSB: u8,
pub presetID: u8,
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl Encode for AUSamplerInstrumentData {
const ENCODING: Encoding = Encoding::Struct(
"AUSamplerInstrumentData",
&[
<NonNull<CFURL>>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
],
);
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl RefEncode for AUSamplerInstrumentData {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub const kInstrumentType_DLSPreset: c_uint = 1;
pub const kInstrumentType_SF2Preset: c_uint = kInstrumentType_DLSPreset;
pub const kInstrumentType_AUPreset: c_uint = 2;
pub const kInstrumentType_Audiofile: c_uint = 3;
pub const kInstrumentType_EXS24: c_uint = 4;
pub const kAUSampler_DefaultPercussionBankMSB: c_uint = 0x78;
pub const kAUSampler_DefaultMelodicBankMSB: c_uint = 0x79;
pub const kAUSampler_DefaultBankLSB: c_uint = 0x00;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_DeferredRendererPullSize: AudioUnitPropertyID = 3320;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_DeferredRendererExtraLatency: AudioUnitPropertyID = 3321;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_DeferredRendererWaitFrames: AudioUnitPropertyID = 3322;
#[cfg(feature = "AUComponent")]
pub const kAUNetReceiveProperty_Hostname: AudioUnitPropertyID = 3511;
#[cfg(feature = "AUComponent")]
pub const kAUNetReceiveProperty_Password: AudioUnitPropertyID = 3512;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendProperty_PortNum: AudioUnitPropertyID = 3513;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendProperty_TransmissionFormat: AudioUnitPropertyID = 3514;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendProperty_TransmissionFormatIndex: AudioUnitPropertyID = 3515;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendProperty_ServiceName: AudioUnitPropertyID = 3516;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendProperty_Disconnect: AudioUnitPropertyID = 3517;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendProperty_Password: AudioUnitPropertyID = 3518;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_PCMFloat32: AudioUnitPropertyID = 0;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_PCMInt24: AudioUnitPropertyID = 1;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_PCMInt16: AudioUnitPropertyID = 2;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_Lossless24: AudioUnitPropertyID = 3;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_Lossless16: AudioUnitPropertyID = 4;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_ULaw: AudioUnitPropertyID = 5;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_IMA4: AudioUnitPropertyID = 6;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_AAC_128kbpspc: AudioUnitPropertyID = 7;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_AAC_96kbpspc: AudioUnitPropertyID = 8;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_AAC_80kbpspc: AudioUnitPropertyID = 9;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_AAC_64kbpspc: AudioUnitPropertyID = 10;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_AAC_48kbpspc: AudioUnitPropertyID = 11;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_AAC_40kbpspc: AudioUnitPropertyID = 12;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_AAC_32kbpspc: AudioUnitPropertyID = 13;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_AAC_LD_64kbpspc: AudioUnitPropertyID = 14;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_AAC_LD_48kbpspc: AudioUnitPropertyID = 15;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_AAC_LD_40kbpspc: AudioUnitPropertyID = 16;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendPresetFormat_AAC_LD_32kbpspc: AudioUnitPropertyID = 17;
#[cfg(feature = "AUComponent")]
pub const kAUNetSendNumPresetFormats: AudioUnitPropertyID = 18;
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUNumVersion {
pub nonRelRev: u8,
pub stage: u8,
pub minorAndBugRev: u8,
pub majorRev: u8,
}
unsafe impl Encode for AUNumVersion {
const ENCODING: Encoding = Encoding::Struct(
"AUNumVersion",
&[
<u8>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
],
);
}
unsafe impl RefEncode for AUNumVersion {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "objc2-core-foundation")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUHostIdentifier {
pub hostName: NonNull<CFString>,
pub hostVersion: AUNumVersion,
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl Encode for AUHostIdentifier {
const ENCODING: Encoding = Encoding::Struct(
"AUHostIdentifier",
&[<NonNull<CFString>>::ENCODING, <AUNumVersion>::ENCODING],
);
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl RefEncode for AUHostIdentifier {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub const kAudioUnitParameterFlag_Global: c_uint = 1 << 0;
pub const kAudioUnitParameterFlag_Input: c_uint = 1 << 1;
pub const kAudioUnitParameterFlag_Output: c_uint = 1 << 2;
pub const kAudioUnitParameterFlag_Group: c_uint = 1 << 3;
pub const kAudioUnitParameterFlag_HasName: u32 =
AudioUnitParameterOptions::Flag_ValuesHaveStrings.0;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SRCAlgorithm: AudioUnitPropertyID = 9;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_MIDIControlMapping: AudioUnitPropertyID = 17;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_CurrentPreset: AudioUnitPropertyID = 28;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_ParameterValueName: AudioUnitPropertyID =
kAudioUnitProperty_ParameterStringFromValue;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_BusCount: AudioUnitPropertyID = kAudioUnitProperty_ElementCount;
#[cfg(feature = "AUComponent")]
pub const kAudioOfflineUnitProperty_InputSize: AudioUnitPropertyID =
kAudioUnitOfflineProperty_InputSize;
#[cfg(feature = "AUComponent")]
pub const kAudioOfflineUnitProperty_OutputSize: AudioUnitPropertyID =
kAudioUnitOfflineProperty_OutputSize;
pub const kAudioUnitSRCAlgorithm_Polyphase: u32 = 0x706f6c79;
pub const kAudioUnitSRCAlgorithm_MediumQuality: u32 = 0x63737263;
#[cfg(feature = "AUComponent")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitMIDIControlMapping {
pub midiNRPN: u16,
pub midiControl: u8,
pub scope: u8,
pub element: AudioUnitElement,
pub parameter: AudioUnitParameterID,
}
#[cfg(feature = "AUComponent")]
unsafe impl Encode for AudioUnitMIDIControlMapping {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitMIDIControlMapping",
&[
<u16>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
<AudioUnitElement>::ENCODING,
<AudioUnitParameterID>::ENCODING,
],
);
}
#[cfg(feature = "AUComponent")]
unsafe impl RefEncode for AudioUnitMIDIControlMapping {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AudioUnitParameterValueName {
pub inParamID: AudioUnitParameterID,
pub inValue: NonNull<f32>,
pub outName: NonNull<CFString>,
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
unsafe impl Encode for AudioUnitParameterValueName {
const ENCODING: Encoding = Encoding::Struct(
"AudioUnitParameterValueName",
&[
<AudioUnitParameterID>::ENCODING,
<NonNull<f32>>::ENCODING,
<NonNull<CFString>>::ENCODING,
],
);
}
#[cfg(all(feature = "AUComponent", feature = "objc2-core-foundation"))]
unsafe impl RefEncode for AudioUnitParameterValueName {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_GroupOutputBus: AudioUnitPropertyID = 1002;
#[cfg(feature = "AUComponent")]
pub const kMusicDeviceProperty_SoundBankFSSpec: AudioUnitPropertyID = 1003;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_PannerMode: AudioUnitPropertyID = 3008;
#[cfg(feature = "AUComponent")]
pub const kAudioUnitProperty_SpeakerConfiguration: AudioUnitPropertyID = 3001;
pub const kSpeakerConfiguration_HeadPhones: c_uint = 0;
pub const kSpeakerConfiguration_Stereo: c_uint = 1;
pub const kSpeakerConfiguration_Quad: c_uint = 2;
pub const kSpeakerConfiguration_5_0: c_uint = 3;
pub const kSpeakerConfiguration_5_1: c_uint = kSpeakerConfiguration_5_0;
#[cfg(feature = "objc2-core-foundation")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AUSamplerBankPresetData {
pub bankURL: NonNull<CFURL>,
pub bankMSB: u8,
pub bankLSB: u8,
pub presetID: u8,
pub reserved: u8,
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl Encode for AUSamplerBankPresetData {
const ENCODING: Encoding = Encoding::Struct(
"AUSamplerBankPresetData",
&[
<NonNull<CFURL>>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
<u8>::ENCODING,
],
);
}
#[cfg(feature = "objc2-core-foundation")]
unsafe impl RefEncode for AUSamplerBankPresetData {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "AUComponent")]
pub const kAUSamplerProperty_LoadPresetFromBank: AudioUnitPropertyID = 4100;
#[cfg(feature = "AUComponent")]
pub const kAUSamplerProperty_BankAndPreset: AudioUnitPropertyID =
kAUSamplerProperty_LoadPresetFromBank;