use fmod_sys::*;
use crate::studio::{Bank, LoadingState};
#[cfg(doc)]
use crate::studio::{EventDescription, LoadBankFlags, System};
use crate::{FmodResultExt, Result};
impl Bank {
pub fn get_loading_state(&self) -> Result<LoadingState> {
let mut loading_state = 0;
let error = unsafe {
FMOD_Studio_Bank_GetLoadingState(self.inner.as_ptr(), &raw mut loading_state).to_error()
};
LoadingState::try_from_ffi(loading_state, error)
}
pub fn load_sample_data(&self) -> Result<()> {
unsafe { FMOD_Studio_Bank_LoadSampleData(self.inner.as_ptr()).to_result() }
}
pub fn unload_sample_data(&self) -> Result<()> {
unsafe { FMOD_Studio_Bank_UnloadSampleData(self.inner.as_ptr()).to_result() }
}
pub fn get_sample_loading_state(&self) -> Result<LoadingState> {
let mut loading_state = 0;
let error = unsafe {
FMOD_Studio_Bank_GetSampleLoadingState(self.inner.as_ptr(), &raw mut loading_state)
.to_error()
};
LoadingState::try_from_ffi(loading_state, error)
}
pub fn unload(self) -> Result<()> {
unsafe { FMOD_Studio_Bank_Unload(self.inner.as_ptr()).to_result() }
}
}