diff options
| author | Solstice <solstice@local> | 2026-06-09 00:58:04 -0700 |
|---|---|---|
| committer | Solstice <solstice@local> | 2026-06-09 00:58:04 -0700 |
| commit | f43f549ffbe3074977116c9f35aa7064d6a4bd95 (patch) | |
| tree | c285fbcf8a768d0de2631a93e379d61cea0313f2 /src-tauri/src/lib.rs | |
| parent | a7e2a94ddb19864d4a1f78a420fcf66a9e38f4e5 (diff) | |
refactor: switch ambient audio to user-supplied assets
Diffstat (limited to 'src-tauri/src/lib.rs')
| -rw-r--r-- | src-tauri/src/lib.rs | 9 |
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); |
