use fmod_sys::*;
use std::ffi::c_int;
use crate::{FmodResultExt, Result};
use crate::{Sound, SoundGroup};
#[cfg(doc)]
use crate::Channel;
impl SoundGroup {
pub fn get_sound_count(&self) -> Result<c_int> {
let mut count = 0;
unsafe { FMOD_SoundGroup_GetNumSounds(self.inner.as_ptr(), &raw mut count).to_result()? };
Ok(count)
}
pub fn get_sound(&self, index: c_int) -> Result<Sound> {
let mut sound = std::ptr::null_mut();
unsafe {
FMOD_SoundGroup_GetSound(self.inner.as_ptr(), index, &raw mut sound).to_result()?;
Ok(Sound::from_ffi(sound))
}
}
pub fn get_playing_count(&self) -> Result<c_int> {
let mut count = 0;
unsafe { FMOD_SoundGroup_GetNumPlaying(self.inner.as_ptr(), &raw mut count).to_result()? };
Ok(count)
}
pub fn stop(&self) -> Result<()> {
unsafe { FMOD_SoundGroup_Stop(self.inner.as_ptr()).to_result() }
}
}