aboutsummaryrefslogtreecommitdiff
path: root/src/classes/audio_clip.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/classes/audio_clip.rs')
-rw-r--r--src/classes/audio_clip.rs19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/classes/audio_clip.rs b/src/classes/audio_clip.rs
index 53a265f..a3e8d22 100644
--- a/src/classes/audio_clip.rs
+++ b/src/classes/audio_clip.rs
@@ -1,10 +1,11 @@
use super::streamed_resource::StreamedResource;
use crate::{
+ fmod::FmodSoundBank,
object::{Value, parser::FromValue},
unityfs::UnityFS,
};
-use anyhow::{Result, anyhow, bail};
-use log::info;
+use anyhow::{Ok, Result, anyhow, bail};
+use log::{debug, info};
use serde::Serialize;
use std::io::{Cursor, Read, Seek};
@@ -48,15 +49,13 @@ impl AudioClip {
match self.compression_format {
AudioCompressionFormat::Vorbis => {
info!("reading vorbis FMOD sound bank");
- let bank = fsbex::Bank::new(Cursor::new(data))?;
- assert_eq!(bank.format(), fsbex::AudioFormat::Vorbis);
- assert_eq!(u32::from(bank.num_streams()), 1);
- let stream = bank.into_iter().next().unwrap();
+ let mut bank = FmodSoundBank::open(Cursor::new(data))?;
+ // Ok(buf.into_inner())
+ for i in 0..bank.streams.len() {
+ let data = bank.read_stream(i)?;
+ }
- let mut buf = Cursor::new(Vec::new());
- stream.write(&mut buf)?;
-
- Ok(buf.into_inner())
+ Ok(Vec::new())
}
x => todo!("audio format {x:?}"),
}