1use fmod_sys::*;
8
9mod data_reading;
10mod defaults;
11mod general;
12mod information;
13mod music;
14mod relationship;
15mod synchronization;
16pub use synchronization::SyncPoint;
17
18#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
19#[repr(transparent)] pub struct Sound {
21 pub(crate) inner: *mut FMOD_SOUND,
22}
23
24unsafe impl Send for Sound {}
25unsafe impl Sync for Sound {}
26
27impl From<*mut FMOD_SOUND> for Sound {
28 fn from(value: *mut FMOD_SOUND) -> Self {
29 Sound { inner: value }
30 }
31}
32
33impl From<Sound> for *mut FMOD_SOUND {
34 fn from(value: Sound) -> Self {
35 value.inner
36 }
37}