Rewrite Internal Audio Source & Fix AudioSwitchFix
This commit is contained in:
@@ -599,17 +599,6 @@ class Sound extends EventDispatcher
|
||||
#end
|
||||
}
|
||||
|
||||
var changeID:Int = 0;
|
||||
public function regen() {
|
||||
var audioBuffer = new AudioBuffer();
|
||||
audioBuffer.bitsPerSample = __buffer.bitsPerSample;
|
||||
audioBuffer.channels = __buffer.channels;
|
||||
audioBuffer.data = __buffer.data;
|
||||
audioBuffer.sampleRate = __buffer.sampleRate;
|
||||
|
||||
__buffer = audioBuffer;
|
||||
}
|
||||
|
||||
/**
|
||||
Generates a new SoundChannel object to play back the sound. This method
|
||||
returns a SoundChannel object, which you access to stop the sound and to
|
||||
@@ -636,13 +625,6 @@ class Sound extends EventDispatcher
|
||||
return null;
|
||||
}
|
||||
|
||||
#if !macro
|
||||
if (changeID < funkin.backend.system.Main.changeID) {
|
||||
changeID = funkin.backend.system.Main.changeID;
|
||||
regen();
|
||||
}
|
||||
#end
|
||||
|
||||
if (sndTransform == null)
|
||||
{
|
||||
sndTransform = new SoundTransform();
|
||||
|
||||
@@ -169,7 +169,7 @@ import lime.media.AudioSource;
|
||||
if (__source.buffer == null || !__checkUpdatePeaks(position)) return;
|
||||
|
||||
var index = AL.getSourcei(__source.__backend.handle, AL.SAMPLE_OFFSET), bufferDatas = __source.__backend.bufferDatas;
|
||||
var bufferi = NativeAudioSource.STREAM_NUM_BUFFERS - __source.__backend.queuedBuffers, bytes = bufferDatas[bufferi].buffer;
|
||||
var bufferi = NativeAudioSource.STREAM_MAX_BUFFERS - __source.__backend.queuedBuffers, bytes = bufferDatas[bufferi].buffer;
|
||||
|
||||
var channels = __source.buffer.channels, todo = scanSamples, sample;
|
||||
var lfilled = false, rfilled = channels < 2;
|
||||
@@ -204,7 +204,7 @@ import lime.media.AudioSource;
|
||||
#if (lime_cffi && !macro)
|
||||
if (!__isValid) return;
|
||||
|
||||
#if lime_vorbis if (__source.__backend.stream) return __updateVorbisPeaks(); #end
|
||||
#if lime_vorbis if (__source.__backend.streamed) return __updateVorbisPeaks(); #end
|
||||
|
||||
var buffer = __source.buffer;
|
||||
if (buffer == null || buffer.data == null || !__checkUpdatePeaks(position)) return;
|
||||
|
||||
Reference in New Issue
Block a user