do not keep startup sound in memory

This commit is contained in:
Aleksander
2026-01-04 12:51:12 +01:00
parent ccc9f9ebb2
commit 553dd02fc4
3 changed files with 6 additions and 13 deletions

View File

@@ -10,7 +10,6 @@ use wgui::{
i18n::Translation, i18n::Translation,
layout::{Layout, LayoutParams, LayoutUpdateParams, LayoutUpdateResult, WidgetID}, layout::{Layout, LayoutParams, LayoutUpdateParams, LayoutUpdateResult, WidgetID},
parser::{Fetchable, ParseDocumentParams, ParserState}, parser::{Fetchable, ParseDocumentParams, ParserState},
sound::WguiSoundType,
task::Tasks, task::Tasks,
widget::{label::WidgetLabel, rectangle::WidgetRectangle}, widget::{label::WidgetLabel, rectangle::WidgetRectangle},
windowing::{WguiWindow, WguiWindowParams, WguiWindowParamsExtra, WguiWindowPlacement}, windowing::{WguiWindow, WguiWindowParams, WguiWindowParamsExtra, WguiWindowPlacement},
@@ -172,15 +171,12 @@ impl<T: 'static> Frontend<T> {
Ok(frontend) Ok(frontend)
} }
pub fn play_startup_sound( pub fn play_startup_sound(&mut self, audio_system: &mut audio::AudioSystem) -> anyhow::Result<()> {
&mut self,
audio_system: &mut audio::AudioSystem,
audio_sample_player: &mut audio::SamplePlayer,
) -> anyhow::Result<()> {
// play startup sound // play startup sound
let mut assets = self.globals.assets_builtin(); let mut assets = self.globals.assets_builtin();
audio_sample_player.register_mp3_sample_from_assets("dash_startup", assets.as_mut(), "sound/startup.mp3")?;
audio_sample_player.play_sample(audio_system, "dash_startup"); let sample_startup = audio::AudioSample::from_mp3(&assets.load_from_path("sound/startup.mp3")?)?;
audio_system.play_sample(&sample_startup);
Ok(()) Ok(())
} }

View File

@@ -1,10 +1,7 @@
use std::{collections::HashMap, io::Cursor}; use std::{collections::HashMap, io::Cursor};
use rodio::Source; use rodio::Source;
use wgui::{ use wgui::{assets::AssetProvider, sound::WguiSoundType};
assets::{self, AssetProvider},
sound::WguiSoundType,
};
pub struct AudioSystem { pub struct AudioSystem {
audio_stream: Option<rodio::OutputStream>, audio_stream: Option<rodio::OutputStream>,

View File

@@ -109,7 +109,7 @@ impl DashFrontend {
interface: Box::new(interface), interface: Box::new(interface),
})?; })?;
frontend.play_startup_sound(&mut app.audio_system, &mut app.audio_sample_player)?; frontend.play_startup_sound(&mut app.audio_system)?;
let context = WguiContext::new(&mut app.wgui_shared, 1.0)?; let context = WguiContext::new(&mut app.wgui_shared, 1.0)?;
Ok(Self { Ok(Self {