do not keep startup sound in memory
This commit is contained in:
@@ -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(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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>,
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user