objc2_audio_toolbox/lib.rs
1//! # Bindings to the `AudioToolbox` frameworks
2//!
3//! See [Apple's docs][apple-doc] and [the general docs on framework crates][framework-crates] for more information.
4//!
5//! This also contains bindings to [the deprecated `AudioUnit` framework][audiounit].
6//!
7//! [apple-doc]: https://developer.apple.com/documentation/audiotoolbox/
8//! [audiounit]: https://developer.apple.com/documentation/audiounit/
9//! [framework-crates]: https://docs.rs/objc2/latest/objc2/topics/about_generated/index.html
10#![no_std]
11#![cfg_attr(feature = "unstable-darwin-objc", feature(darwin_objc))]
12#![cfg_attr(docsrs, feature(doc_cfg))]
13// Update in Cargo.toml as well.
14#![doc(html_root_url = "https://docs.rs/objc2-audio-toolbox/0.3.2")]
15
16// NOTE: If we still supported macOS 10.10 or below, we'd have to link
17// AudioUnit as well, because certain symbols were originally available there
18// (reflected in `AudioToolbox.tbd` with `$ld$hide$os10.10$` etc.).
19//
20// In newer macOS versions, those symbols were moved to AudioToolbox.
21//
22// See also https://github.com/RustAudio/coreaudio-sys/pull/51
23
24#[cfg(feature = "alloc")]
25extern crate alloc;
26
27#[cfg(feature = "std")]
28extern crate std;
29
30mod generated;
31#[allow(unused_imports, unreachable_pub)]
32pub use self::generated::*;
33
34// MacTypes.h
35#[allow(dead_code)]
36pub(crate) type Boolean = u8;
37#[allow(dead_code)]
38pub(crate) type OSStatus = i32;
39#[allow(dead_code)]
40pub(crate) type Byte = u8;
41#[allow(dead_code)]
42pub(crate) type OSType = u32;