summaryrefslogtreecommitdiff
path: root/src-tauri/src/lib.rs
diff options
context:
space:
mode:
authorSolstice <solstice@local>2026-06-09 00:58:04 -0700
committerSolstice <solstice@local>2026-06-09 00:58:04 -0700
commitf43f549ffbe3074977116c9f35aa7064d6a4bd95 (patch)
treec285fbcf8a768d0de2631a93e379d61cea0313f2 /src-tauri/src/lib.rs
parenta7e2a94ddb19864d4a1f78a420fcf66a9e38f4e5 (diff)
refactor: switch ambient audio to user-supplied assets
Diffstat (limited to 'src-tauri/src/lib.rs')
-rw-r--r--src-tauri/src/lib.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs
index 11bb2f9..c298fdf 100644
--- a/src-tauri/src/lib.rs
+++ b/src-tauri/src/lib.rs
@@ -338,7 +338,7 @@ fn get_audio_status(audio: State<'_, AudioState>) -> AudioStatus {
match audio.0.lock().unwrap().as_ref() {
None => AudioStatus { available: false, playing: false, sound: None, volume: 0.5 },
Some(engine) => AudioStatus {
- available: true,
+ available: engine.has_any_audio_files(),
playing: engine.is_playing(),
sound: engine.current_sound().map(|s| s.name().to_string()),
volume: engine.volume(),
@@ -356,6 +356,9 @@ pub fn run() {
.setup(|app| {
let data_dir = app.handle().path().app_data_dir()
.expect("Failed to resolve app data dir");
+ let app_audio_dir = data_dir.join("audio");
+ std::fs::create_dir_all(&app_audio_dir)
+ .expect("Failed to create app audio dir");
// Load persisted data
let app_data = storage::load(&data_dir);
@@ -376,10 +379,10 @@ pub fn run() {
});
// Initialise audio engine (graceful if no device)
- let audio_dir = app.handle().path().resource_dir()
+ let bundled_audio_dir = app.handle().path().resource_dir()
.unwrap_or_else(|_| std::path::PathBuf::from("."))
.join("audio");
- let audio_state = audio::init_audio(audio_dir);
+ let audio_state = audio::init_audio(app_audio_dir, bundled_audio_dir);
let audio_arc = Arc::clone(&audio_state.0);
app.manage(audio_state);