summaryrefslogtreecommitdiff
path: root/graphics/src/audio/mod.rs
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-11-22 13:29:10 -0500
committerFreya Murphy <freya@freyacat.org>2025-11-22 13:29:10 -0500
commit2274d33e469aca544a7aeb899a10769b973ae374 (patch)
tree7ff10964234fd5e8917624508e249265a3d0b19c /graphics/src/audio/mod.rs
parentaudio: move 'asm' files out of data segment (diff)
downloadDungeonCrawl-2274d33e469aca544a7aeb899a10769b973ae374.tar.gz
DungeonCrawl-2274d33e469aca544a7aeb899a10769b973ae374.tar.bz2
DungeonCrawl-2274d33e469aca544a7aeb899a10769b973ae374.zip
audio: refactor into seperate crate
Diffstat (limited to '')
-rw-r--r--audio/src/lib.rs (renamed from graphics/src/audio/mod.rs)13
1 files changed, 9 insertions, 4 deletions
diff --git a/graphics/src/audio/mod.rs b/audio/src/lib.rs
index 2b85a0f..b2d3e87 100644
--- a/graphics/src/audio/mod.rs
+++ b/audio/src/lib.rs
@@ -1,17 +1,22 @@
//! The `audio` crate stores all audio assets that need to be loaded during runtime
+use raylib::audio::RaylibAudio;
use std::time::{Duration, Instant};
use channel::{Channel, NoiseChannel, PulseChannel, TriangleChannel};
-use raylib::audio::RaylibAudio;
-
-use crate::audio::data::Data;
+use data::Data;
mod channel;
mod data;
mod parse;
mod program;
+/// The `Error` type used within this crate
+pub type Error = Box<dyn std::error::Error>;
+
+/// The `Result` type used witin this crate
+pub type Result<T> = std::result::Result<T, crate::Error>;
+
const AUDIO_FPS: u32 = 60;
const TIME_SLICE: Duration = Duration::from_millis(1000 / AUDIO_FPS as u64);
@@ -66,7 +71,7 @@ pub struct Audio {
pub data: Data,
}
impl Audio {
- pub(crate) fn load() -> crate::Result<Self> {
+ pub fn load() -> crate::Result<Self> {
let channels = Channels::load()?;
let last = Instant::now();
let data = Data::load()?;