From ab59d1f262691bf6afb03d489a1cea0316952242 Mon Sep 17 00:00:00 2001 From: Shane Handley Date: Thu, 17 Oct 2019 16:10:24 +0900 Subject: [PATCH] Title music fix (fixes #342) Fix issue with title music restarting and playing in multiple channels when the player chooses a play state but then returns to the main menu. --- voxygen/src/menu/main/mod.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/voxygen/src/menu/main/mod.rs b/voxygen/src/menu/main/mod.rs index 1da59dc34c..11ec61317f 100644 --- a/voxygen/src/menu/main/mod.rs +++ b/voxygen/src/menu/main/mod.rs @@ -16,6 +16,7 @@ use ui::{Event as MainMenuEvent, MainMenuUi}; pub struct MainMenuState { main_menu_ui: MainMenuUi, + title_music_channel: Option, } impl MainMenuState { @@ -23,6 +24,7 @@ impl MainMenuState { pub fn new(global_state: &mut GlobalState) -> Self { Self { main_menu_ui: MainMenuUi::new(global_state), + title_music_channel: None, } } } @@ -38,9 +40,13 @@ impl PlayState for MainMenuState { let mut client_init: Option = None; // Kick off title music - global_state - .audio - .play_music("voxygen.audio.soundtrack.veloren_title_tune-3"); + if None == self.title_music_channel { + self.title_music_channel = Some( + global_state + .audio + .play_music("voxygen.audio.soundtrack.veloren_title_tune-3"), + ) + } loop { // Handle window events.