diff options
Diffstat (limited to 'audio/src/data.rs')
| -rw-r--r-- | audio/src/data.rs | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/audio/src/data.rs b/audio/src/data.rs index 9ed8019..f130c2d 100644 --- a/audio/src/data.rs +++ b/audio/src/data.rs @@ -1,43 +1,48 @@ -use crate::program::Program; +use crate::program::Track; use std::fs; macro_rules! load_asm { - ($path:tt) => {{ + ($looping:tt, $path:tt) => {{ let res = if cfg!(any(feature = "static", target_arch = "wasm32")) { let src = include_str!(concat!("../../", $path)); - Program::parse(src, true) + Track::parse(src, $looping) } else { let src = fs::read_to_string($path)?; - Program::parse(&src, true) + Track::parse(&src, $looping) }; res.map_err(|mut err| { err.file = Some(String::from($path)); err })? }}; - ($first:tt, $($arg:tt),*) => { - load_asm!($first)$(.merge(load_asm!($arg)))* + ($looping:tt, $first:tt, $($arg:tt),*) => { + load_asm!($looping, $first)$(.merge(load_asm!($looping, $arg)))* }; } pub struct Data { - pub explore: Program, - pub megalovania: Program, + pub explore: Track, + pub megalovania: Track, + pub test: Track, } impl Data { pub fn load() -> crate::Result<Self> { let explore = load_asm!( + true, "assets/asm/explore_melody.asm", "assets/asm/explore_harmony1.asm", "assets/asm/explore_harmony2.asm" ); let megalovania = load_asm!( + true, "assets/asm/megalovania_melody.asm", "assets/asm/megalovania_base.asm" ); + let test = load_asm!(false, "assets/asm/test.asm"); Ok(Self { explore, megalovania, + test, }) } } |