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,
layout::{Layout, LayoutParams, LayoutUpdateParams, LayoutUpdateResult, WidgetID},
parser::{Fetchable, ParseDocumentParams, ParserState},
sound::WguiSoundType,
task::Tasks,
widget::{label::WidgetLabel, rectangle::WidgetRectangle},
windowing::{WguiWindow, WguiWindowParams, WguiWindowParamsExtra, WguiWindowPlacement},
@@ -172,15 +171,12 @@ impl<T: 'static> Frontend<T> {
Ok(frontend)
}
pub fn play_startup_sound(
&mut self,
audio_system: &mut audio::AudioSystem,
audio_sample_player: &mut audio::SamplePlayer,
) -> anyhow::Result<()> {
pub fn play_startup_sound(&mut self, audio_system: &mut audio::AudioSystem) -> anyhow::Result<()> {
// play startup sound
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(())
}

View File

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

View File

@@ -109,7 +109,7 @@ impl DashFrontend {
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)?;
Ok(Self {