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; }