#![allow(
    dead_code,
    non_camel_case_types,
    non_snake_case,
    non_upper_case_globals,
    clippy::all,
    clippy::pedantic,
    clippy::nursery,
    clippy::cargo
)]

/* automatically generated by rust-bindgen 0.69.5 */

pub use apple_cf::raw::{__CFString, Boolean, CFStringRef, CFURLRef, OSStatus, OSType, __CFURL};

/// Wraps `UInt8`.
pub type UInt8 = ::std::os::raw::c_uchar;
/// Wraps `SInt8`.
pub type SInt8 = ::std::os::raw::c_schar;
/// Wraps `UInt16`.
pub type UInt16 = ::std::os::raw::c_ushort;
/// Wraps `SInt16`.
pub type SInt16 = ::std::os::raw::c_short;
/// Wraps `UInt32`.
pub type UInt32 = ::std::os::raw::c_uint;
/// Wraps `SInt32`.
pub type SInt32 = ::std::os::raw::c_int;
/// Wraps `SInt64`.
pub type SInt64 = ::std::os::raw::c_longlong;
/// Wraps `UInt64`.
pub type UInt64 = ::std::os::raw::c_ulonglong;
/// Wraps `Float32`.
pub type Float32 = f32;
/// Wraps `Float64`.
pub type Float64 = f64;
/// Wraps `FourCharCode`.
pub type FourCharCode = UInt32;
/// Wraps `Byte`.
pub type Byte = UInt8;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioBuffer`.
pub struct AudioBuffer {
    pub mNumberChannels: UInt32,
    pub mDataByteSize: UInt32,
    pub mData: *mut ::std::os::raw::c_void,
}
impl Default for AudioBuffer {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioBufferList`.
pub struct AudioBufferList {
    pub mNumberBuffers: UInt32,
    pub mBuffers: [AudioBuffer; 1usize],
}
impl Default for AudioBufferList {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioStreamPacketDescription`.
pub struct AudioStreamPacketDescription {
    /// Wraps `SMPTETimeType`.
    pub mStartOffset: SInt64,
    /// Wraps `SMPTETimeType`.
    pub mVariableFramesInPacket: UInt32,
    /// Wraps `SMPTETimeType`.
    pub mDataByteSize: UInt32,
}
/// Wraps `SMPTETimeType`.
pub type SMPTETimeType = UInt32;
/// Wraps `SMPTETimeFlags`.
pub type SMPTETimeFlags = UInt32;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `SMPTETime`.
pub struct SMPTETime {
    /// Wraps `AudioTimeStampFlags`.
    pub mSubframes: SInt16,
    /// Wraps `AudioTimeStampFlags`.
    pub mSubframeDivisor: SInt16,
    /// Wraps `AudioTimeStampFlags`.
    pub mCounter: UInt32,
    /// Wraps `AudioTimeStampFlags`.
    pub mType: SMPTETimeType,
    /// Wraps `AudioTimeStampFlags`.
    pub mFlags: SMPTETimeFlags,
    /// Wraps `AudioTimeStampFlags`.
    pub mHours: SInt16,
    /// Wraps `AudioTimeStampFlags`.
    pub mMinutes: SInt16,
    /// Wraps `AudioTimeStampFlags`.
    pub mSeconds: SInt16,
    /// Wraps `AudioTimeStampFlags`.
    pub mFrames: SInt16,
}
/// Wraps `AudioTimeStampFlags`.
pub type AudioTimeStampFlags = UInt32;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioTimeStamp`.
pub struct AudioTimeStamp {
    /// Wraps `AudioClassDescription`.
    pub mSampleTime: Float64,
    /// Wraps `AudioClassDescription`.
    pub mHostTime: UInt64,
    /// Wraps `AudioClassDescription`.
    pub mRateScalar: Float64,
    /// Wraps `AudioClassDescription`.
    pub mWordClockTime: UInt64,
    /// Wraps `AudioClassDescription`.
    pub mSMPTETime: SMPTETime,
    /// Wraps `AudioClassDescription`.
    pub mFlags: AudioTimeStampFlags,
    /// Wraps `AudioClassDescription`.
    pub mReserved: UInt32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioClassDescription`.
pub struct AudioClassDescription {
    /// Wraps `__CFURL`.
    pub mType: OSType,
    /// Wraps `__CFURL`.
    pub mSubType: OSType,
    /// Wraps `__CFURL`.
    pub mManufacturer: OSType,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `os_workgroup_s`.
pub struct os_workgroup_s {
    _unused: [u8; 0],
}
/// Wraps `os_workgroup_t`.
pub type os_workgroup_t = *mut os_workgroup_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `ComponentInstanceRecord`.
pub struct ComponentInstanceRecord {
    _unused: [u8; 0],
}
/// Owning wrapper around an AudioToolbox.framework `AudioComponentInstance`.
pub type AudioComponentInstance = *mut ComponentInstanceRecord;
/// Wraps `AudioComponentMethod`.
pub type AudioComponentMethod = ::std::option::Option<
    unsafe extern "C" fn(self_: *mut ::std::os::raw::c_void, ...) -> OSStatus,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioComponentPlugInInterface`.
pub struct AudioComponentPlugInInterface {
    pub Open: ::std::option::Option<
        unsafe extern "C" fn(
            self_: *mut ::std::os::raw::c_void,
            mInstance: AudioComponentInstance,
        ) -> OSStatus,
    >,
    pub Close:
        ::std::option::Option<unsafe extern "C" fn(self_: *mut ::std::os::raw::c_void) -> OSStatus>,
    pub Lookup:
        ::std::option::Option<unsafe extern "C" fn(selector: SInt16) -> AudioComponentMethod>,
    pub reserved: *mut ::std::os::raw::c_void,
}
impl Default for AudioComponentPlugInInterface {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
/// Wraps `AudioCodec`.
pub type AudioCodec = AudioComponentInstance;
/// Wraps `AudioCodecPropertyID`.
pub type AudioCodecPropertyID = UInt32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioCodecMagicCookieInfo`.
pub struct AudioCodecMagicCookieInfo {
    pub mMagicCookieSize: UInt32,
    pub mMagicCookie: *const ::std::os::raw::c_void,
}
impl Default for AudioCodecMagicCookieInfo {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `OpaqueAudioFileID`.
pub struct OpaqueAudioFileID {
    _unused: [u8; 0],
}
/// Wraps `AudioFilePropertyID`.
pub type AudioFilePropertyID = UInt32;
/// Wraps `AudioFile_ReadProc`.
pub type AudioFile_ReadProc = ::std::option::Option<
    unsafe extern "C" fn(
        inClientData: *mut ::std::os::raw::c_void,
        inPosition: SInt64,
        requestCount: UInt32,
        buffer: *mut ::std::os::raw::c_void,
        actualCount: *mut UInt32,
    ) -> OSStatus,
>;
/// Wraps `AudioFile_WriteProc`.
pub type AudioFile_WriteProc = ::std::option::Option<
    unsafe extern "C" fn(
        inClientData: *mut ::std::os::raw::c_void,
        inPosition: SInt64,
        requestCount: UInt32,
        buffer: *const ::std::os::raw::c_void,
        actualCount: *mut UInt32,
    ) -> OSStatus,
>;
/// Wraps `AudioFile_GetSizeProc`.
pub type AudioFile_GetSizeProc = ::std::option::Option<
    unsafe extern "C" fn(inClientData: *mut ::std::os::raw::c_void) -> SInt64,
>;
/// Wraps `AudioFile_SetSizeProc`.
pub type AudioFile_SetSizeProc = ::std::option::Option<
    unsafe extern "C" fn(inClientData: *mut ::std::os::raw::c_void, inSize: SInt64) -> OSStatus,
>;
/// Wraps `ReadBytesFDF`.
pub type ReadBytesFDF = ::std::option::Option<
    unsafe extern "C" fn(
        inComponentStorage: *mut ::std::os::raw::c_void,
        inUseCache: Boolean,
        inStartingByte: SInt64,
        ioNumBytes: *mut UInt32,
        outBuffer: *mut ::std::os::raw::c_void,
    ) -> OSStatus,
>;
/// Wraps `WriteBytesFDF`.
pub type WriteBytesFDF = ::std::option::Option<
    unsafe extern "C" fn(
        inComponentStorage: *mut ::std::os::raw::c_void,
        inUseCache: Boolean,
        inStartingByte: SInt64,
        ioNumBytes: *mut UInt32,
        inBuffer: *const ::std::os::raw::c_void,
    ) -> OSStatus,
>;
/// Wraps `ReadPacketsFDF`.
pub type ReadPacketsFDF = ::std::option::Option<
    unsafe extern "C" fn(
        inComponentStorage: *mut ::std::os::raw::c_void,
        inUseCache: Boolean,
        outNumBytes: *mut UInt32,
        outPacketDescriptions: *mut AudioStreamPacketDescription,
        inStartingPacket: SInt64,
        ioNumPackets: *mut UInt32,
        outBuffer: *mut ::std::os::raw::c_void,
    ) -> OSStatus,
>;
/// Wraps `WritePacketsFDF`.
pub type WritePacketsFDF = ::std::option::Option<
    unsafe extern "C" fn(
        inComponentStorage: *mut ::std::os::raw::c_void,
        inUseCache: Boolean,
        inNumBytes: UInt32,
        inPacketDescriptions: *const AudioStreamPacketDescription,
        inStartingPacket: SInt64,
        ioNumPackets: *mut UInt32,
        inBuffer: *const ::std::os::raw::c_void,
    ) -> OSStatus,
>;
/// Wraps `GetPropertyInfoFDF`.
pub type GetPropertyInfoFDF = ::std::option::Option<
    unsafe extern "C" fn(
        inComponentStorage: *mut ::std::os::raw::c_void,
        inPropertyID: AudioFilePropertyID,
        outDataSize: *mut UInt32,
        isWritable: *mut UInt32,
    ) -> OSStatus,
>;
/// Wraps `GetPropertyFDF`.
pub type GetPropertyFDF = ::std::option::Option<
    unsafe extern "C" fn(
        inComponentStorage: *mut ::std::os::raw::c_void,
        inPropertyID: AudioFilePropertyID,
        ioDataSize: *mut UInt32,
        ioPropertyData: *mut ::std::os::raw::c_void,
    ) -> OSStatus,
>;
/// Wraps `SetPropertyFDF`.
pub type SetPropertyFDF = ::std::option::Option<
    unsafe extern "C" fn(
        inComponentStorage: *mut ::std::os::raw::c_void,
        inPropertyID: AudioFilePropertyID,
        inDataSize: UInt32,
        inPropertyData: *const ::std::os::raw::c_void,
    ) -> OSStatus,
>;
/// Wraps `CountUserDataFDF`.
pub type CountUserDataFDF = ::std::option::Option<
    unsafe extern "C" fn(
        inComponentStorage: *mut ::std::os::raw::c_void,
        inUserDataID: UInt32,
        outNumberItems: *mut UInt32,
    ) -> OSStatus,
>;
/// Wraps `GetUserDataSizeFDF`.
pub type GetUserDataSizeFDF = ::std::option::Option<
    unsafe extern "C" fn(
        inComponentStorage: *mut ::std::os::raw::c_void,
        inUserDataID: UInt32,
        inIndex: UInt32,
        outDataSize: *mut UInt32,
    ) -> OSStatus,
>;
/// Wraps `GetUserDataFDF`.
pub type GetUserDataFDF = ::std::option::Option<
    unsafe extern "C" fn(
        inComponentStorage: *mut ::std::os::raw::c_void,
        inUserDataID: UInt32,
        inIndex: UInt32,
        ioUserDataSize: *mut UInt32,
        outUserData: *mut ::std::os::raw::c_void,
    ) -> OSStatus,
>;
/// Wraps `SetUserDataFDF`.
pub type SetUserDataFDF = ::std::option::Option<
    unsafe extern "C" fn(
        inComponentStorage: *mut ::std::os::raw::c_void,
        inUserDataID: UInt32,
        inIndex: UInt32,
        inUserDataSize: UInt32,
        inUserData: *const ::std::os::raw::c_void,
    ) -> OSStatus,
>;
/// Wraps `AudioQueuePropertyID`.
pub type AudioQueuePropertyID = UInt32;
/// Wraps `AudioQueueParameterID`.
pub type AudioQueueParameterID = UInt32;
/// Wraps `AudioQueueParameterValue`.
pub type AudioQueueParameterValue = Float32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `OpaqueAudioQueue`.
pub struct OpaqueAudioQueue {
    _unused: [u8; 0],
}
/// Wraps `AudioQueueRef`.
pub type AudioQueueRef = *mut OpaqueAudioQueue;
/// Wraps `AudioQueueProcessingTapFlags`.
pub type AudioQueueProcessingTapFlags = UInt32;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioQueueParameterEvent`.
pub struct AudioQueueParameterEvent {
    /// Wraps `OpaqueAudioQueueProcessingTap`.
    pub mID: AudioQueueParameterID,
    /// Wraps `OpaqueAudioQueueProcessingTap`.
    pub mValue: AudioQueueParameterValue,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `OpaqueAudioQueueProcessingTap`.
pub struct OpaqueAudioQueueProcessingTap {
    _unused: [u8; 0],
}
/// Wraps `AudioQueueProcessingTapRef`.
pub type AudioQueueProcessingTapRef = *mut OpaqueAudioQueueProcessingTap;
/// Wraps `AudioQueuePropertyListenerProc`.
pub type AudioQueuePropertyListenerProc = ::std::option::Option<
    unsafe extern "C" fn(
        inUserData: *mut ::std::os::raw::c_void,
        inAQ: AudioQueueRef,
        inID: AudioQueuePropertyID,
    ),
>;
/// Wraps `AudioSessionPropertyID`.
pub type AudioSessionPropertyID = UInt32;
/// Wraps `AudioSessionPropertyListener`.
pub type AudioSessionPropertyListener = ::std::option::Option<
    unsafe extern "C" fn(
        inClientData: *mut ::std::os::raw::c_void,
        inID: AudioSessionPropertyID,
        inDataSize: UInt32,
        inData: *const ::std::os::raw::c_void,
    ),
>;
/// Wraps `AudioUnit`.
pub type AudioUnit = AudioComponentInstance;
/// Wraps `AudioUnitPropertyID`.
pub type AudioUnitPropertyID = UInt32;
/// Wraps `AudioUnitScope`.
pub type AudioUnitScope = UInt32;
/// Wraps `AudioUnitElement`.
pub type AudioUnitElement = UInt32;
/// Wraps `AudioUnitParameterID`.
pub type AudioUnitParameterID = UInt32;
/// Wraps `AudioUnitParameterValue`.
pub type AudioUnitParameterValue = Float32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioUnitParameter`.
pub struct AudioUnitParameter {
    pub mAudioUnit: AudioUnit,
    pub mParameterID: AudioUnitParameterID,
    pub mScope: AudioUnitScope,
    pub mElement: AudioUnitElement,
}
impl Default for AudioUnitParameter {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioUnitProperty`.
pub struct AudioUnitProperty {
    pub mAudioUnit: AudioUnit,
    pub mPropertyID: AudioUnitPropertyID,
    pub mScope: AudioUnitScope,
    pub mElement: AudioUnitElement,
}
impl Default for AudioUnitProperty {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
/// Wraps `AUInputSamplesInOutputCallback`.
pub type AUInputSamplesInOutputCallback = ::std::option::Option<
    unsafe extern "C" fn(
        inRefCon: *mut ::std::os::raw::c_void,
        inOutputTimeStamp: *const AudioTimeStamp,
        inInputSample: Float64,
        inNumberInputSamples: Float64,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioUnitConnection`.
pub struct AudioUnitConnection {
    pub sourceAudioUnit: AudioUnit,
    pub sourceOutputNumber: UInt32,
    pub destInputNumber: UInt32,
}
impl Default for AudioUnitConnection {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AUChannelInfo`.
pub struct AUChannelInfo {
    /// Wraps `AudioUnitExternalBuffer`.
    pub inChannels: SInt16,
    /// Wraps `AudioUnitExternalBuffer`.
    pub outChannels: SInt16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioUnitExternalBuffer`.
pub struct AudioUnitExternalBuffer {
    pub buffer: *mut Byte,
    pub size: UInt32,
}
impl Default for AudioUnitExternalBuffer {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AUPreset`.
pub struct AUPreset {
    pub presetNumber: SInt32,
    pub presetName: CFStringRef,
}
impl Default for AUPreset {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioUnitFrequencyResponseBin`.
pub struct AudioUnitFrequencyResponseBin {
    /// Wraps `HostCallback_GetBeatAndTempo`.
    pub mFrequency: Float64,
    /// Wraps `HostCallback_GetBeatAndTempo`.
    pub mMagnitude: Float64,
}
/// Wraps `HostCallback_GetBeatAndTempo`.
pub type HostCallback_GetBeatAndTempo = ::std::option::Option<
    unsafe extern "C" fn(
        inHostUserData: *mut ::std::os::raw::c_void,
        outCurrentBeat: *mut Float64,
        outCurrentTempo: *mut Float64,
    ) -> OSStatus,
>;
/// Wraps `HostCallback_GetMusicalTimeLocation`.
pub type HostCallback_GetMusicalTimeLocation = ::std::option::Option<
    unsafe extern "C" fn(
        inHostUserData: *mut ::std::os::raw::c_void,
        outDeltaSampleOffsetToNextBeat: *mut UInt32,
        outTimeSig_Numerator: *mut Float32,
        outTimeSig_Denominator: *mut UInt32,
        outCurrentMeasureDownBeat: *mut Float64,
    ) -> OSStatus,
>;
/// Wraps `HostCallback_GetTransportState`.
pub type HostCallback_GetTransportState = ::std::option::Option<
    unsafe extern "C" fn(
        inHostUserData: *mut ::std::os::raw::c_void,
        outIsPlaying: *mut Boolean,
        outTransportStateChanged: *mut Boolean,
        outCurrentSampleInTimeLine: *mut Float64,
        outIsCycling: *mut Boolean,
        outCycleStartBeat: *mut Float64,
        outCycleEndBeat: *mut Float64,
    ) -> OSStatus,
>;
/// Wraps `HostCallback_GetTransportState2`.
pub type HostCallback_GetTransportState2 = ::std::option::Option<
    unsafe extern "C" fn(
        inHostUserData: *mut ::std::os::raw::c_void,
        outIsPlaying: *mut Boolean,
        outIsRecording: *mut Boolean,
        outTransportStateChanged: *mut Boolean,
        outCurrentSampleInTimeLine: *mut Float64,
        outIsCycling: *mut Boolean,
        outCycleStartBeat: *mut Float64,
        outCycleEndBeat: *mut Float64,
    ) -> OSStatus,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `HostCallbackInfo`.
pub struct HostCallbackInfo {
    pub hostUserData: *mut ::std::os::raw::c_void,
    pub beatAndTempoProc: HostCallback_GetBeatAndTempo,
    pub musicalTimeLocationProc: HostCallback_GetMusicalTimeLocation,
    pub transportStateProc: HostCallback_GetTransportState,
    pub transportStateProc2: HostCallback_GetTransportState2,
}
impl Default for HostCallbackInfo {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AUDependentParameter`.
pub struct AUDependentParameter {
    /// Wraps `AudioUnitCocoaViewInfo`.
    pub mScope: AudioUnitScope,
    /// Wraps `AudioUnitCocoaViewInfo`.
    pub mParameterID: AudioUnitParameterID,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioUnitCocoaViewInfo`.
pub struct AudioUnitCocoaViewInfo {
    pub mCocoaAUViewBundleLocation: CFURLRef,
    pub mCocoaAUViewClass: [CFStringRef; 1usize],
}
impl Default for AudioUnitCocoaViewInfo {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AUHostVersionIDentifier`.
pub struct AUHostVersionIdentifier {
    pub hostName: CFStringRef,
    pub hostVersion: UInt32,
}
impl Default for AUHostVersionIdentifier {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
/// Wraps `AUMIDIOutputCallback`.
pub type AUMIDIOutputCallback = ::std::option::Option<
    unsafe extern "C" fn(
        userData: *mut ::std::os::raw::c_void,
        timeStamp: *const AudioTimeStamp,
        midiOutNum: UInt32,
        pktlist: *const MIDIPacketList,
    ) -> OSStatus,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AUMIDIOutputCallbackStruct`.
pub struct AUMIDIOutputCallbackStruct {
    pub midiOutputCallback: AUMIDIOutputCallback,
    pub userData: *mut ::std::os::raw::c_void,
}
impl Default for AUMIDIOutputCallbackStruct {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AUInputSamplesInOutputCallbackStruct`.
pub struct AUInputSamplesInOutputCallbackStruct {
    pub inputToOutputCallback: AUInputSamplesInOutputCallback,
    pub userData: *mut ::std::os::raw::c_void,
}
impl Default for AUInputSamplesInOutputCallbackStruct {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioUnitParameterHistoryInfo`.
pub struct AudioUnitParameterHistoryInfo {
    /// Wraps `AudioUnitRenderContext`.
    pub updatesPerSecond: Float32,
    /// Wraps `AudioUnitRenderContext`.
    pub historyDurationInSeconds: Float32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioUnitRenderContext`.
pub struct AudioUnitRenderContext {
    pub workgroup: os_workgroup_t,
    pub reserved: [u32; 6usize],
}
impl Default for AudioUnitRenderContext {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
/// Wraps `AUEventSampleTime`.
pub type AUEventSampleTime = i64;
/// Wraps `AUMIDIEventListBlock`.
pub type AUMIDIEventListBlock = *mut ::std::os::raw::c_void;
/// Wraps `AudioUnitParameterUnit`.
pub type AudioUnitParameterUnit = UInt32;
/// Wraps `AudioUnitParameterOptions`.
pub type AudioUnitParameterOptions = UInt32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioUnitParameterInfo`.
pub struct AudioUnitParameterInfo {
    pub name: [::std::os::raw::c_char; 52usize],
    pub unitName: CFStringRef,
    pub clumpID: UInt32,
    pub cfNameString: CFStringRef,
    pub unit: AudioUnitParameterUnit,
    pub minValue: AudioUnitParameterValue,
    pub maxValue: AudioUnitParameterValue,
    pub defaultValue: AudioUnitParameterValue,
    pub flags: AudioUnitParameterOptions,
}
impl Default for AudioUnitParameterInfo {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioUnitParameterNameInfo`.
pub struct AudioUnitParameterNameInfo {
    pub inID: AudioUnitParameterID,
    pub inDesiredLength: SInt32,
    pub outName: CFStringRef,
}
impl Default for AudioUnitParameterNameInfo {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioUnitParameterStringFromValue`.
pub struct AudioUnitParameterStringFromValue {
    /// Wraps `kAudiounitparametervalue`.
    pub inParamID: AudioUnitParameterID,
    /// Wraps `kAudiounitparametervalue`.
    pub inValue: *const AudioUnitParameterValue,
    pub outString: CFStringRef,
}
impl Default for AudioUnitParameterStringFromValue {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioUnitParameterValueFromString`.
pub struct AudioUnitParameterValueFromString {
    pub inParamID: AudioUnitParameterID,
    pub inString: CFStringRef,
    pub outValue: AudioUnitParameterValue,
}
impl Default for AudioUnitParameterValueFromString {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
/// Wraps `AUParameterMIDIMappingFlags`.
pub type AUParameterMIDIMappingFlags = UInt32;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AUParameterMIDIMapping`.
pub struct AUParameterMIDIMapping {
    /// Wraps `AudioUnitOtherPluginDesc`.
    pub mScope: AudioUnitScope,
    /// Wraps `AudioUnitOtherPluginDesc`.
    pub mElement: AudioUnitElement,
    /// Wraps `AudioUnitOtherPluginDesc`.
    pub mParameterID: AudioUnitParameterID,
    /// Wraps `AudioUnitOtherPluginDesc`.
    pub mFlags: AUParameterMIDIMappingFlags,
    /// Wraps `AudioUnitOtherPluginDesc`.
    pub mSubRangeMin: AudioUnitParameterValue,
    /// Wraps `AudioUnitOtherPluginDesc`.
    pub mSubRangeMax: AudioUnitParameterValue,
    /// Wraps `AudioUnitOtherPluginDesc`.
    pub mStatus: UInt8,
    /// Wraps `AudioUnitOtherPluginDesc`.
    pub mData1: UInt8,
    /// Wraps `AudioUnitOtherPluginDesc`.
    pub reserved1: UInt8,
    /// Wraps `AudioUnitOtherPluginDesc`.
    pub reserved2: UInt8,
    /// Wraps `AudioUnitOtherPluginDesc`.
    pub reserved3: UInt32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioUnitOtherPluginDesc`.
pub struct AudioUnitOtherPluginDesc {
    /// Wraps `AudioUnitParameterValueTranslation`.
    pub format: UInt32,
    /// Wraps `AudioUnitParameterValueTranslation`.
    pub plugin: AudioClassDescription,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioUnitParameterValueTranslation`.
pub struct AudioUnitParameterValueTranslation {
    /// Wraps `AudioUnitPresetMAS_SettingData`.
    pub otherDesc: AudioUnitOtherPluginDesc,
    /// Wraps `AudioUnitPresetMAS_SettingData`.
    pub otherParamID: UInt32,
    /// Wraps `AudioUnitPresetMAS_SettingData`.
    pub otherValue: Float32,
    /// Wraps `AudioUnitPresetMAS_SettingData`.
    pub auParamID: AudioUnitParameterID,
    /// Wraps `AudioUnitPresetMAS_SettingData`.
    pub auValue: AudioUnitParameterValue,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioUnitPresetMAS_SettingData`.
pub struct AudioUnitPresetMAS_SettingData {
    pub isStockSetting: UInt32,
    pub settingID: UInt32,
    pub dataLen: UInt32,
    pub data: [UInt8; 1usize],
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioUnitPresetMAS_Settings`.
pub struct AudioUnitPresetMAS_Settings {
    pub manufacturerID: UInt32,
    pub effectID: UInt32,
    pub variantID: UInt32,
    pub settingsVersion: UInt32,
    pub numberOfSettings: UInt32,
    pub settings: [AudioUnitPresetMAS_SettingData; 1usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AudioOutputUnitMIDICallbacks`.
pub struct AudioOutputUnitMIDICallbacks {
    /// Wraps `kUint8`.
    pub userData: *mut ::std::os::raw::c_void,
    /// Wraps `kUint8`.
    pub MIDIEventProc: ::std::option::Option<
        unsafe extern "C" fn(
            userData: *mut ::std::os::raw::c_void,
            inStatus: UInt32,
            inData1: UInt32,
            inData2: UInt32,
            inOffsetSampleFrame: UInt32,
        ),
    >,
    /// Wraps `kUint8`.
    pub MIDISysExProc: ::std::option::Option<
        unsafe extern "C" fn(
            userData: *mut ::std::os::raw::c_void,
            inData: *const UInt8,
            inLength: UInt32,
        ),
    >,
}
impl Default for AudioOutputUnitMIDICallbacks {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioOutputUnitStartAtTimeParams`.
pub struct AudioOutputUnitStartAtTimeParams {
    /// Wraps `AUVoiceIOOtherAudioDuckingLevel`.
    pub mTimestamp: AudioTimeStamp,
    /// Wraps `AUVoiceIOOtherAudioDuckingLevel`.
    pub mFlags: UInt32,
}
/// Wraps `AUVoiceIOOtherAudioDuckingLevel`.
pub type AUVoiceIOOtherAudioDuckingLevel = UInt32;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AUVoiceIOOtherAudioDuckingConfiguration`.
pub struct AUVoiceIOOtherAudioDuckingConfiguration {
    /// Wraps `AudioUnitMeterClipping`.
    pub mEnableAdvancedDucking: Boolean,
    /// Wraps `AudioUnitMeterClipping`.
    pub mDuckingLevel: AUVoiceIOOtherAudioDuckingLevel,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AudioUnitMeterClipping`.
pub struct AudioUnitMeterClipping {
    /// Wraps `MixerDistanceParams`.
    pub peakValueSinceLastCall: Float32,
    /// Wraps `MixerDistanceParams`.
    pub sawInfinity: Boolean,
    /// Wraps `MixerDistanceParams`.
    pub sawNotANumber: Boolean,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `MixerDistanceParams`.
pub struct MixerDistanceParams {
    /// Wraps `AUScheduledAudioSliceFlags`.
    pub mReferenceDistance: Float32,
    /// Wraps `AUScheduledAudioSliceFlags`.
    pub mMaxDistance: Float32,
    /// Wraps `AUScheduledAudioSliceFlags`.
    pub mMaxAttenuation: Float32,
}
/// Wraps `AUScheduledAudioSliceFlags`.
pub type AUScheduledAudioSliceFlags = UInt32;
/// Wraps `ScheduledAudioSliceCompletionProc`.
pub type ScheduledAudioSliceCompletionProc = ::std::option::Option<
    unsafe extern "C" fn(
        userData: *mut ::std::os::raw::c_void,
        bufferList: *mut ScheduledAudioSlice,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `ScheduledAudioSlice`.
pub struct ScheduledAudioSlice {
    pub mTimeStamp: AudioTimeStamp,
    pub mCompletionProc: ScheduledAudioSliceCompletionProc,
    pub mCompletionProcUserData: *mut ::std::os::raw::c_void,
    pub mFlags: AUScheduledAudioSliceFlags,
    pub mReserved: UInt32,
    pub mReserved2: *mut ::std::os::raw::c_void,
    pub mNumberFrames: UInt32,
    pub mBufferList: *mut AudioBufferList,
}
impl Default for ScheduledAudioSlice {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
/// Wraps `ScheduledAudioFileRegionCompletionProc`.
pub type ScheduledAudioFileRegionCompletionProc = ::std::option::Option<
    unsafe extern "C" fn(
        userData: *mut ::std::os::raw::c_void,
        fileRegion: *mut ScheduledAudioFileRegion,
        result: OSStatus,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `ScheduledAudioFileRegion`.
pub struct ScheduledAudioFileRegion {
    pub mTimeStamp: AudioTimeStamp,
    pub mCompletionProc: ScheduledAudioFileRegionCompletionProc,
    pub mCompletionProcUserData: *mut ::std::os::raw::c_void,
    pub mAudioFile: *mut OpaqueAudioFileID,
    pub mLoopCount: UInt32,
    pub mStartFrame: SInt64,
    pub mFramesToPlay: UInt32,
}
impl Default for ScheduledAudioFileRegion {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AUSamplerInstrumentData`.
pub struct AUSamplerInstrumentData {
    pub fileURL: CFURLRef,
    pub instrumentType: UInt8,
    pub bankMSB: UInt8,
    pub bankLSB: UInt8,
    pub presetID: UInt8,
}
impl Default for AUSamplerInstrumentData {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `AUNumVersion`.
pub struct AUNumVersion {
    /// Wraps `AUHostIDentifier`.
    pub nonRelRev: UInt8,
    /// Wraps `AUHostIDentifier`.
    pub stage: UInt8,
    /// Wraps `AUHostIDentifier`.
    pub minorAndBugRev: UInt8,
    /// Wraps `AUHostIDentifier`.
    pub majorRev: UInt8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AUHostIDentifier`.
pub struct AUHostIdentifier {
    pub hostName: CFStringRef,
    pub hostVersion: AUNumVersion,
}
impl Default for AUHostIdentifier {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
/// Wraps `MusicDeviceComponent`.
pub type MusicDeviceComponent = AudioComponentInstance;
/// Wraps `AudioUnitEventType`.
pub type AudioUnitEventType = UInt32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `AUListenerBase`.
pub struct AUListenerBase {
    _unused: [u8; 0],
}
/// Wraps `AUParameterListenerRef`.
pub type AUParameterListenerRef = *mut AUListenerBase;
/// Wraps `AUEventListenerRef`.
pub type AUEventListenerRef = AUParameterListenerRef;
#[repr(C)]
#[derive(Copy, Clone)]
/// Wraps `AudioUnitEvent`.
pub struct AudioUnitEvent {
    /// Wraps `AudioUnitEvent__bindgen_ty_1`.
    pub mEventType: AudioUnitEventType,
    /// Wraps `AudioUnitEvent__bindgen_ty_1`.
    pub mArgument: AudioUnitEvent__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
/// Wraps `AudioUnitEvent__bindgen_ty_1`.
pub union AudioUnitEvent__bindgen_ty_1 {
    pub mParameter: AudioUnitParameter,
    pub mProperty: AudioUnitProperty,
}
impl Default for AudioUnitEvent__bindgen_ty_1 {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
impl Default for AudioUnitEvent {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFChunkHeader`.
pub struct CAFChunkHeader {
    /// Wraps `CAF_UUID_ChunkHeader`.
    pub mChunkType: UInt32,
    /// Wraps `CAF_UUID_ChunkHeader`.
    pub mChunkSize: SInt64,
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAF_UUID_ChunkHeader`.
pub struct CAF_UUID_ChunkHeader {
    pub mHeader: CAFChunkHeader,
    pub mUUID: [UInt8; 16usize],
}
/// Wraps `CAFFormatFlags`.
pub type CAFFormatFlags = UInt32;
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFAudioDescription`.
pub struct CAFAudioDescription {
    /// Wraps `CAFPacketTableHeader`.
    pub mSampleRate: Float64,
    /// Wraps `CAFPacketTableHeader`.
    pub mFormatID: UInt32,
    /// Wraps `CAFPacketTableHeader`.
    pub mFormatFlags: CAFFormatFlags,
    /// Wraps `CAFPacketTableHeader`.
    pub mBytesPerPacket: UInt32,
    /// Wraps `CAFPacketTableHeader`.
    pub mFramesPerPacket: UInt32,
    /// Wraps `CAFPacketTableHeader`.
    pub mChannelsPerFrame: UInt32,
    /// Wraps `CAFPacketTableHeader`.
    pub mBitsPerChannel: UInt32,
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFPacketTableHeader`.
pub struct CAFPacketTableHeader {
    pub mNumberPackets: SInt64,
    pub mNumberValidFrames: SInt64,
    pub mPrimingFrames: SInt32,
    pub mRemainderFrames: SInt32,
    pub mPacketDescriptions: [UInt8; 1usize],
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFDataChunk`.
pub struct CAFDataChunk {
    pub mEditCount: UInt32,
    pub mData: [UInt8; 1usize],
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAF_SMPTE_Time`.
pub struct CAF_SMPTE_Time {
    /// Wraps `CAFMarker`.
    pub mHours: SInt8,
    /// Wraps `CAFMarker`.
    pub mMinutes: SInt8,
    /// Wraps `CAFMarker`.
    pub mSeconds: SInt8,
    /// Wraps `CAFMarker`.
    pub mFrames: SInt8,
    /// Wraps `CAFMarker`.
    pub mSubFrameSampleOffset: UInt32,
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFMarker`.
pub struct CAFMarker {
    /// Wraps `CAFMarkerChunk`.
    pub mType: UInt32,
    /// Wraps `CAFMarkerChunk`.
    pub mFramePosition: Float64,
    /// Wraps `CAFMarkerChunk`.
    pub mMarkerID: UInt32,
    /// Wraps `CAFMarkerChunk`.
    pub mSMPTETime: CAF_SMPTE_Time,
    /// Wraps `CAFMarkerChunk`.
    pub mChannel: UInt32,
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFMarkerChunk`.
pub struct CAFMarkerChunk {
    pub mSMPTE_TimeType: UInt32,
    pub mNumberMarkers: UInt32,
    pub mMarkers: [CAFMarker; 1usize],
}
/// Wraps `CAFRegionFlags`.
pub type CAFRegionFlags = UInt32;
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFRegion`.
pub struct CAFRegion {
    pub mRegionID: UInt32,
    pub mFlags: CAFRegionFlags,
    pub mNumberMarkers: UInt32,
    pub mMarkers: [CAFMarker; 1usize],
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFRegionChunk`.
pub struct CAFRegionChunk {
    pub mSMPTE_TimeType: UInt32,
    pub mNumberRegions: UInt32,
    pub mRegions: [CAFRegion; 1usize],
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFInstrumentChunk`.
pub struct CAFInstrumentChunk {
    /// Wraps `CAFStringID`.
    pub mBaseNote: Float32,
    /// Wraps `CAFStringID`.
    pub mMIDILowNote: UInt8,
    /// Wraps `CAFStringID`.
    pub mMIDIHighNote: UInt8,
    /// Wraps `CAFStringID`.
    pub mMIDILowVelocity: UInt8,
    /// Wraps `CAFStringID`.
    pub mMIDIHighVelocity: UInt8,
    /// Wraps `CAFStringID`.
    pub mdBGain: Float32,
    /// Wraps `CAFStringID`.
    pub mStartRegionID: UInt32,
    /// Wraps `CAFStringID`.
    pub mSustainRegionID: UInt32,
    /// Wraps `CAFStringID`.
    pub mReleaseRegionID: UInt32,
    /// Wraps `CAFStringID`.
    pub mInstrumentID: UInt32,
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFStringID`.
pub struct CAFStringID {
    /// Wraps `CAFStrings`.
    pub mStringID: UInt32,
    /// Wraps `CAFStrings`.
    pub mStringStartByteOffset: SInt64,
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFStrings`.
pub struct CAFStrings {
    pub mNumEntries: UInt32,
    pub mStringsIDs: [CAFStringID; 1usize],
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFInfoStrings`.
pub struct CAFInfoStrings {
    /// Wraps `CAFPositionPeak`.
    pub mNumEntries: UInt32,
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFPositionPeak`.
pub struct CAFPositionPeak {
    /// Wraps `CAFPeakChunk`.
    pub mValue: Float32,
    /// Wraps `CAFPeakChunk`.
    pub mFrameNumber: UInt64,
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFPeakChunk`.
pub struct CAFPeakChunk {
    pub mEditCount: UInt32,
    pub mPeaks: [CAFPositionPeak; 1usize],
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFOverviewSample`.
pub struct CAFOverviewSample {
    /// Wraps `CAFOverviewChunk`.
    pub mMinValue: SInt16,
    /// Wraps `CAFOverviewChunk`.
    pub mMaxValue: SInt16,
}
#[repr(C, packed)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAFOverviewChunk`.
pub struct CAFOverviewChunk {
    pub mEditCount: UInt32,
    pub mNumFramesPerOVWSample: UInt32,
    pub mData: [CAFOverviewSample; 1usize],
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
/// Wraps `CAFUMIDChunk`.
pub struct CAFUMIDChunk {
    pub mBytes: [UInt8; 64usize],
}
impl Default for CAFUMIDChunk {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
/// Wraps `MIDITimeStamp`.
pub type MIDITimeStamp = UInt64;
/// Wraps `MIDIProtocolID`.
pub type MIDIProtocolID = SInt32;
#[repr(C, packed(4))]
#[derive(Debug, Copy, Clone)]
/// Wraps `MIDIEventPacket`.
pub struct MIDIEventPacket {
    pub timeStamp: MIDITimeStamp,
    pub wordCount: UInt32,
    pub words: [UInt32; 64usize],
}
impl Default for MIDIEventPacket {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `MIDIEventList`.
pub struct MIDIEventList {
    pub protocol: MIDIProtocolID,
    pub numPackets: UInt32,
    pub packet: [MIDIEventPacket; 1usize],
}
impl Default for MIDIEventList {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C, packed(4))]
#[derive(Debug, Copy, Clone)]
/// Wraps `MIDIPacket`.
pub struct MIDIPacket {
    pub timeStamp: MIDITimeStamp,
    pub length: UInt16,
    pub data: [Byte; 256usize],
}
impl Default for MIDIPacket {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `MIDIPacketList`.
pub struct MIDIPacketList {
    pub numPackets: UInt32,
    pub packet: [MIDIPacket; 1usize],
}
impl Default for MIDIPacketList {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
/// Wraps `CAClockPropertyID`.
pub type CAClockPropertyID = UInt32;
/// Wraps `CAClockMessage`.
pub type CAClockMessage = UInt32;
/// Wraps `CAClockTimeFormat`.
pub type CAClockTimeFormat = UInt32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `OpaqueCAClock`.
pub struct OpaqueCAClock {
    _unused: [u8; 0],
}
/// Wraps `CAClockRef`.
pub type CAClockRef = *mut OpaqueCAClock;
/// Wraps `CAClockBeats`.
pub type CAClockBeats = Float64;
/// Wraps `CAClockTempo`.
pub type CAClockTempo = Float64;
/// Wraps `CAClockSamples`.
pub type CAClockSamples = Float64;
/// Wraps `CAClockSeconds`.
pub type CAClockSeconds = Float64;
/// Wraps `CAClockListenerProc`.
pub type CAClockListenerProc = ::std::option::Option<
    unsafe extern "C" fn(
        userData: *mut ::std::os::raw::c_void,
        message: CAClockMessage,
        param: *const ::std::os::raw::c_void,
    ),
>;
#[repr(C)]
#[derive(Copy, Clone)]
/// Wraps `CAClockTime`.
pub struct CAClockTime {
    /// Wraps `CAClockTime__bindgen_ty_1`.
    pub format: CAClockTimeFormat,
    /// Wraps `CAClockTime__bindgen_ty_1`.
    pub reserved: UInt32,
    /// Wraps `CAClockTime__bindgen_ty_1`.
    pub time: CAClockTime__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
/// Wraps `CAClockTime__bindgen_ty_1`.
pub union CAClockTime__bindgen_ty_1 {
    pub hostTime: UInt64,
    pub samples: CAClockSamples,
    pub beats: CAClockBeats,
    pub seconds: CAClockSeconds,
    pub smpte: SMPTETime,
}
impl Default for CAClockTime__bindgen_ty_1 {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
impl Default for CAClockTime {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CATempoMapEntry`.
pub struct CATempoMapEntry {
    /// Wraps `CAMeterTrackEntry`.
    pub beats: CAClockBeats,
    /// Wraps `CAMeterTrackEntry`.
    pub tempoBPM: CAClockTempo,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
/// Wraps `CAMeterTrackEntry`.
pub struct CAMeterTrackEntry {
    /// Wraps `OpaqueAudioConverter`.
    pub beats: CAClockBeats,
    /// Wraps `OpaqueAudioConverter`.
    pub meterNumer: UInt16,
    /// Wraps `OpaqueAudioConverter`.
    pub meterDenom: UInt16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
/// Wraps `OpaqueAudioConverter`.
pub struct OpaqueAudioConverter {
    _unused: [u8; 0],
}
/// Wraps `AudioConverterRef`.
pub type AudioConverterRef = *mut OpaqueAudioConverter;
/// Wraps `AudioConverterComplexInputDataProc`.
pub type AudioConverterComplexInputDataProc = ::std::option::Option<
    unsafe extern "C" fn(
        inAudioConverter: AudioConverterRef,
        ioNumberDataPackets: *mut UInt32,
        ioData: *mut AudioBufferList,
        outDataPacketDescription: *mut *mut AudioStreamPacketDescription,
        inUserData: *mut ::std::os::raw::c_void,
    ) -> OSStatus,
>;
