Skip to content

Commit 55da553

Browse files
committed
Move StemMixer _speed variable to BassStemMixer
+ Remove the BassAudioManager.GetSpeed call as we already have the speed saved
1 parent 8c040ca commit 55da553

File tree

2 files changed

+5
-9
lines changed

2 files changed

+5
-9
lines changed

Assets/Script/Audio/Bass/BassStemMixer.cs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public sealed class BassStemMixer : StemMixer
1616

1717
private StreamHandle _mainHandle;
1818
private int _songEndHandle;
19+
private float _speed;
1920

2021
public override event Action SongEnd
2122
{
@@ -44,10 +45,11 @@ void sync(int _, int __, int ___, IntPtr _____)
4445
}
4546

4647
internal BassStemMixer(string name, BassAudioManager manager, float speed, double volume, int handle, int sourceStream, bool clampStemVolume)
47-
: base(name, manager, speed, clampStemVolume)
48+
: base(name, manager, clampStemVolume)
4849
{
4950
_mixerHandle = handle;
5051
_sourceStream = sourceStream;
52+
_speed = speed;
5153
SetVolume_Internal(volume);
5254
_BufferSetter(Settings.SettingsManager.Settings.EnablePlaybackBuffer.Value, Bass.PlaybackBufferLength);
5355
}
@@ -107,13 +109,7 @@ protected override double GetPosition_Internal()
107109

108110
if (Settings.SettingsManager.Settings.EnablePlaybackBuffer.Value)
109111
{
110-
if (!BassAudioManager.GetSpeed(_mainHandle.Stream, out var speed))
111-
{
112-
YargLogger.LogFormatError("Failed to get channel speed for buffer compensation; assuming a speed of 1.", Bass.LastError);
113-
speed = 1;
114-
}
115-
116-
seconds -= (Bass.PlaybackBufferLength / 1000.0f) * speed;
112+
seconds -= (Bass.PlaybackBufferLength / 1000.0f) * _speed;
117113
// Gotta do this because ChannelBytes2Seconds() may not be less than the buffer at position 0
118114
if (seconds < 0)
119115
{

0 commit comments

Comments
 (0)