1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use *;
use *;
use crate::*;
/// A position in an audio file or stream.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/avfaudio/avaudioframeposition?language=objc)
pub type AVAudioFramePosition = i64;
/// A number of audio sample frames.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/avfaudio/avaudioframecount?language=objc)
pub type AVAudioFrameCount = u32;
/// A number of packets of compressed audio data.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/avfaudio/avaudiopacketcount?language=objc)
pub type AVAudioPacketCount = u32;
/// A number of audio channels.
///
///
/// Rationale: making this a potentially larger-than-32-bit type like NSUInteger would open the
/// door to a large set of runtime failures due to underlying implementations' use of UInt32.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/avfaudio/avaudiochannelcount?language=objc)
pub type AVAudioChannelCount = u32;
/// Generic callback handler.
///
/// Various AVAudioEngine objects issue callbacks to generic blocks of this type. In general
/// the callback arrives on a non-main thread and it is the client's responsibility to handle it
/// in a thread-safe manner.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/avfaudio/avaudionodecompletionhandler?language=objc)
pub type AVAudioNodeCompletionHandler = *mut DynBlock;
/// The index of a bus on an AVAudioNode.
///
/// AVAudioNode objects potentially have multiple input and/or output busses.
/// AVAudioNodeBus represents a bus as a zero-based index.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/avfaudio/avaudionodebus?language=objc)
pub type AVAudioNodeBus = NSUInteger;
/// The time position in beats of playback and events in the AVAudioSequencer and its components.
///
/// AVMusicTimeStamp allows the position and duration of events and actions in the AVAudioSequencer to
/// function independently from the tempo of the sequence being played. At the default tempo of 120.0,
/// a time stamp of 1.0 represents 0.5 seconds of time.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/avfaudio/avmusictimestamp?language=objc)
pub type AVMusicTimeStamp = c_double;
/// Struct representing a point in 3D space
///
/// This struct is used by classes dealing with 3D audio such as `AVAudioMixing`
/// and `AVAudioEnvironmentNode` and represents a point in 3D space.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/avfaudio/avaudio3dpoint?language=objc)
unsafe
unsafe
// TODO: pub fn AVAudioMake3DPoint(x: c_float,y: c_float,z: c_float,) -> AVAudio3DPoint;
/// Struct representing a vector in 3D space
///
/// This struct is used by classes dealing with 3D audio such as `AVAudioMixing`
/// and `AVAudioEnvironmentNode`.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/avfaudio/avaudio3dvector?language=objc)
pub type AVAudio3DVector = AVAudio3DPoint;
// TODO: pub fn AVAudioMake3DVector(x: c_float,y: c_float,z: c_float,) -> AVAudio3DVector;
/// Struct representing the orientation of the listener in 3D space
///
/// Two orthogonal vectors describe the orientation of the listener. The forward
/// vector points in the direction that the listener is facing. The up vector is orthogonal
/// to the forward vector and points upwards from the listener's head.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/avfaudio/avaudio3dvectororientation?language=objc)
unsafe
unsafe
// TODO: pub fn AVAudioMake3DVectorOrientation(forward: AVAudio3DVector,up: AVAudio3DVector,) -> AVAudio3DVectorOrientation;
/// Struct representing the orientation of the listener in 3D space
///
/// Three angles describe the orientation of a listener's head - yaw, pitch and roll.
///
/// Yaw describes the side to side movement of the listener's head.
/// The yaw axis is perpendicular to the plane of the listener's ears with its origin at the
/// center of the listener's head and directed towards the bottom of the listener's head. A
/// positive yaw is in the clockwise direction going from 0 to 180 degrees. A negative yaw is in
/// the counter-clockwise direction going from 0 to -180 degrees.
///
/// Pitch describes the up-down movement of the listener's head.
/// The pitch axis is perpendicular to the yaw axis and is parallel to the plane of the
/// listener's ears with its origin at the center of the listener's head and directed towards
/// the right ear. A positive pitch is the upwards direction going from 0 to 180 degrees. A
/// negative pitch is in the downwards direction going from 0 to -180 degrees.
///
/// Roll describes the tilt of the listener's head.
/// The roll axis is perpendicular to the other two axes with its origin at the center of the
/// listener's head and is directed towards the listener's nose. A positive roll is to the right
/// going from 0 to 180 degrees. A negative roll is to the left going from 0 to -180 degrees.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/avfaudio/avaudio3dangularorientation?language=objc)
unsafe
unsafe
// TODO: pub fn AVAudioMake3DAngularOrientation(yaw: c_float,pitch: c_float,roll: c_float,) -> AVAudio3DAngularOrientation;