1
0
Fork 0
mirror of https://github.com/doukutsu-rs/doukutsu-rs synced 2025-03-22 18:09:32 +00:00
This commit is contained in:
biroder 2023-09-03 11:40:00 +03:00
parent a45c630116
commit 21221d80e7

View file

@ -641,6 +641,10 @@ fn run<T>(
bgm_vol -= 0.02; bgm_vol -= 0.02;
} }
if bgm_vol < 0.0 {
bgm_vol = 0.0;
}
match rx.try_recv() { match rx.try_recv() {
Ok(PlaybackMessage::PlayOrganyaSong(song)) => { Ok(PlaybackMessage::PlayOrganyaSong(song)) => {
if state == PlaybackState::Stopped { if state == PlaybackState::Stopped {
@ -733,8 +737,12 @@ fn run<T>(
} }
Ok(PlaybackMessage::SetSongVolume(new_volume)) => { Ok(PlaybackMessage::SetSongVolume(new_volume)) => {
assert!(bgm_vol >= 0.0); assert!(bgm_vol >= 0.0);
if bgm_fadeout {
bgm_vol_saved = new_volume;
} else {
bgm_vol = new_volume; bgm_vol = new_volume;
} }
}
Ok(PlaybackMessage::SetSampleVolume(new_volume)) => { Ok(PlaybackMessage::SetSampleVolume(new_volume)) => {
assert!(sfx_vol >= 0.0); assert!(sfx_vol >= 0.0);
sfx_vol = new_volume; sfx_vol = new_volume;
@ -771,8 +779,10 @@ fn run<T>(
samples = org_engine.render_to(&mut bgm_buf); samples = org_engine.render_to(&mut bgm_buf);
bgm_index = 0; bgm_index = 0;
if bgm_fadeout {
bgm_fadeout = false; bgm_fadeout = false;
bgm_vol = bgm_vol_saved; bgm_vol = bgm_vol_saved;
}
state = PlaybackState::PlayingOrg; state = PlaybackState::PlayingOrg;
} }
@ -790,8 +800,10 @@ fn run<T>(
samples = ogg_engine.render_to(&mut bgm_buf); samples = ogg_engine.render_to(&mut bgm_buf);
bgm_index = 0; bgm_index = 0;
if bgm_fadeout {
bgm_fadeout = false; bgm_fadeout = false;
bgm_vol = bgm_vol_saved; bgm_vol = bgm_vol_saved;
}
state = PlaybackState::PlayingOgg; state = PlaybackState::PlayingOgg;
} }