From 94539bbf92fe0e3e82ceda67d823a2f24a3fe469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=BCpper?= Date: Fri, 16 Jan 2015 17:32:32 +0100 Subject: [PATCH] Fixed bg-music glitches. --- Vocaluxe/Lib/Sound/Playback/CAudioStreamBase.cs | 5 +++++ Vocaluxe/Lib/Sound/Playback/CPlaybackBase.cs | 3 ++- Vocaluxe/Lib/Sound/Playback/IAudioStream.cs | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Vocaluxe/Lib/Sound/Playback/CAudioStreamBase.cs b/Vocaluxe/Lib/Sound/Playback/CAudioStreamBase.cs index 5040c427..3a421cce 100644 --- a/Vocaluxe/Lib/Sound/Playback/CAudioStreamBase.cs +++ b/Vocaluxe/Lib/Sound/Playback/CAudioStreamBase.cs @@ -36,6 +36,11 @@ namespace Vocaluxe.Lib.Sound.Playback get { return _ID; } } + public bool IsFading + { + get { return _Fading != null; } + } + public virtual float Volume { get; set; } public virtual float VolumeMax { get; set; } public virtual float Length { get; protected set; } diff --git a/Vocaluxe/Lib/Sound/Playback/CPlaybackBase.cs b/Vocaluxe/Lib/Sound/Playback/CPlaybackBase.cs index d3e4a168..1a12441c 100644 --- a/Vocaluxe/Lib/Sound/Playback/CPlaybackBase.cs +++ b/Vocaluxe/Lib/Sound/Playback/CPlaybackBase.cs @@ -74,7 +74,8 @@ namespace Vocaluxe.Lib.Sound.Playback return; float volumeF = volume.Clamp(0, 100) / 100f; foreach (IAudioStream stream in _Streams) - stream.VolumeMax = volumeF; + if(!stream.IsFading) + stream.VolumeMax = volumeF; _GlobalVolume = volumeF; } diff --git a/Vocaluxe/Lib/Sound/Playback/IAudioStream.cs b/Vocaluxe/Lib/Sound/Playback/IAudioStream.cs index 15d88270..45d99556 100644 --- a/Vocaluxe/Lib/Sound/Playback/IAudioStream.cs +++ b/Vocaluxe/Lib/Sound/Playback/IAudioStream.cs @@ -28,6 +28,7 @@ namespace Vocaluxe.Lib.Sound.Playback public interface IAudioStream : IDisposable { int ID { get; } + bool IsFading { get; } float Volume { get; set; } float VolumeMax { get; set; } float Length { get; }