diff --git a/Qwilight/Qwilight/Compute/DefaultCompute.cs b/Qwilight/Qwilight/Compute/DefaultCompute.cs index 8c79e50..f93c8ea 100644 --- a/Qwilight/Qwilight/Compute/DefaultCompute.cs +++ b/Qwilight/Qwilight/Compute/DefaultCompute.cs @@ -4732,5 +4732,9 @@ } public void SetCommentFile() => _comments.Add(Comment.Clone()); + + public void SetAudioPosition(uint audioPosition) + { + } } } \ No newline at end of file diff --git a/Qwilight/Qwilight/System/AudioSystem/AudioSystem.cs b/Qwilight/Qwilight/System/AudioSystem/AudioSystem.cs index 31c26b6..98b9225 100644 --- a/Qwilight/Qwilight/System/AudioSystem/AudioSystem.cs +++ b/Qwilight/Qwilight/System/AudioSystem/AudioSystem.cs @@ -996,21 +996,22 @@ } } - public void Fade(PausableAudioHandler pausableAudioHandler, double fadeMillis) + public void Fade(IAudioHandler audioHandler, double fadeMillis) { - if (_audioHandlerMap.TryRemove(pausableAudioHandler, out var audioHandlerItems)) + if (_audioHandlerMap.TryRemove(audioHandler, out var audioHandlerItems)) { foreach (var audioHandlerItem in audioHandlerItems) { var audioChannel = audioHandlerItem.Channel; - audioChannel.getDSPClock(out _, out var audioStandardUnit); try { _audioCSX.EnterWriteLock(); if (_isAvailable) { audioChannel.getPosition(out var audioPosition, TIMEUNIT.MS); - pausableAudioHandler.SetAudioPosition((uint)(audioPosition + fadeMillis)); + audioHandler.SetAudioPosition((uint)(audioPosition + fadeMillis)); + + audioChannel.getDSPClock(out _, out var audioStandardUnit); audioChannel.addFadePoint(audioStandardUnit, 1F); audioChannel.addFadePoint(audioStandardUnit + (ulong)(_rate * fadeMillis), 0F); audioChannel.setDelay(0UL, audioStandardUnit + (ulong)(_rate * fadeMillis)); diff --git a/Qwilight/Qwilight/System/AudioSystem/HandlableAudioHandler.cs b/Qwilight/Qwilight/System/AudioSystem/HandlableAudioHandler.cs index 3a30584..cab117a 100644 --- a/Qwilight/Qwilight/System/AudioSystem/HandlableAudioHandler.cs +++ b/Qwilight/Qwilight/System/AudioSystem/HandlableAudioHandler.cs @@ -8,9 +8,13 @@ { if (IsHandling.HasValue) { - AudioSystem.Instance.Stop(this); + AudioSystem.Instance.Fade(this, QwilightComponent.StandardWaitMillis); IsHandling = false; } } + + public void SetAudioPosition(uint audioPosition) + { + } } } \ No newline at end of file diff --git a/Qwilight/Qwilight/System/AudioSystem/IAudioHandler.cs b/Qwilight/Qwilight/System/AudioSystem/IAudioHandler.cs index 29d6f3a..9f6a59c 100644 --- a/Qwilight/Qwilight/System/AudioSystem/IAudioHandler.cs +++ b/Qwilight/Qwilight/System/AudioSystem/IAudioHandler.cs @@ -2,5 +2,6 @@ { public interface IAudioHandler { + public void SetAudioPosition(uint audioPosition); } } \ No newline at end of file