Skip to content

Commit d7df4aa

Browse files
committed
fixies + cleanup
1 parent e31aeaf commit d7df4aa

File tree

2 files changed

+8
-21
lines changed

2 files changed

+8
-21
lines changed

src/funkin/vis/audioclip/frontends/LimeAudioClip.hx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,13 @@ class LimeAudioClip implements funkin.vis.AudioClip
3030

3131
#if web
3232
streamed = false;
33+
3334
var sampleRate:Float = limeBuffer.src._sounds[0]._node.context.sampleRate;
3435
var length:Int = audioSource.length;
3536
var bitsPerSample:Int = 32;
3637
var channels:Int = 2;
3738
#else
38-
var sampleRate:Float = 0.0;
39+
var sampleRate:Float = 0;
3940
var length:Int = 0;
4041
var bitsPerSample:Int = 0;
4142
var channels:Int = 0;
@@ -45,7 +46,6 @@ class LimeAudioClip implements funkin.vis.AudioClip
4546
@:privateAccess
4647
if (limeBuffer.__srcVorbisFile != null)
4748
{
48-
trace("got vorbisfile");
4949
streamed = true;
5050

5151
var vorbisFile = limeBuffer.__srcVorbisFile;

src/funkin/vis/dsp/SpectralAnalyzer.hx

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -211,30 +211,17 @@ class SpectralAnalyzer
211211
#if lime_vorbis
212212
if (audioClip.streamed)
213213
{
214-
var length = endFrame - startFrame;
215-
// trace(length);
216-
// var buffer:Bytes = Bytes.alloc();
217-
218-
// if (_vorbisBuffer == null || (_vorbisBuffer.length != length))
219-
// {
220-
// _vorbisBuffer = null;
221-
// _vorbisBuffer = new UInt8Array(length);
222-
// }
223-
224214
@:privateAccess
225215
var vorbisFile = audioSource.buffer.__srcVorbisFile;
226216

227217
// reading from VorbisFile will automatically move the position
228218
// which causes issues with playback, so we keep old time to go back to it
229219
var prevPos = vorbisFile.pcmTell();
230-
231-
vorbisFile.pcmSeek(startFrame);
232220

233-
@:privateAccess
234-
// _vorbisBuffer = audioSource.__backend.readVorbisFileBuffer(vorbisFile, length);
235-
_vorbisBuffer = readVorbisBuffer(vorbisFile, 0, wantedLength);
221+
vorbisFile.pcmSeek(Std.int(startFrame / (numOctets + audioClip.audioBuffer.channels)));
236222

237-
// trace('$startFrame - $endFrame');
223+
@:privateAccess
224+
_vorbisBuffer = readVorbisBuffer(vorbisFile, wantedLength);
238225

239226
vorbisFile.pcmSeek(prevPos);
240227

@@ -243,8 +230,6 @@ class SpectralAnalyzer
243230
else
244231
#end
245232
{
246-
247-
248233
var segment:UInt8Array = audioSource.buffer.data.subarray(startFrame, endFrame);
249234
signal = getSignal(segment, audioClip.audioBuffer.bitsPerSample);
250235
}
@@ -333,7 +318,9 @@ class SpectralAnalyzer
333318
}
334319

335320
#if lime_vorbis
336-
function readVorbisBuffer(vorbisFile:VorbisFile, position:Int, length:Int):UInt8Array
321+
// Pretty much copied from
322+
// https://github.com/openfl/lime/blob/develop/src/lime/_internal/backend/native/NativeAudioSource.hx#L212
323+
function readVorbisBuffer(vorbisFile:VorbisFile, length:Int):UInt8Array
337324
{
338325
var buffer:UInt8Array = new UInt8Array(length);
339326

0 commit comments

Comments
 (0)