1
- /* ByteBeat@1.0.7 , license MIT */
1
+ /* ByteBeat@1.0.8 , license MIT */
2
2
class WrappingStack {
3
3
constructor ( stackSize = 256 ) {
4
4
let sp = 0 ;
@@ -428,8 +428,8 @@ class ByteBeatProcessor {
428
428
function ( buffer0 , buffer1 , fn0 , fn1 , time , divisor , stack0 , stack1 , ctx0 , ctx1 , extra , lastSample ) {
429
429
for ( let i = 0 ; i < lastSample ; ++ i ) {
430
430
const s = fn0 . call ( ctx0 , ( time / divisor ) , undefined , stack0 , ctx0 , extra ) ;
431
- buffer0 [ time % buffer0 . length ] = s [ 0 ] ;
432
- buffer1 [ time % buffer1 . length ] = s [ 1 ] ;
431
+ buffer0 [ time % buffer0 . length ] = Number . isNaN ( s [ 0 ] ) ? 0 : s [ 0 ] ;
432
+ buffer1 [ time % buffer1 . length ] = Number . isNaN ( s [ 1 ] ) ? 0 : s [ 1 ] ;
433
433
++ time ;
434
434
}
435
435
} ,
@@ -457,8 +457,10 @@ class ByteBeatProcessor {
457
457
// case 1: // floatbeat
458
458
function ( buffer0 , buffer1 , fn0 , fn1 , time , divisor , stack0 , stack1 , ctx0 , ctx1 , extra , lastSample ) {
459
459
for ( let i = 0 ; i < lastSample ; ++ i ) {
460
- buffer0 [ time % buffer0 . length ] = fn0 . call ( ctx0 , ( time ) / divisor , undefined , stack0 , ctx0 , extra ) ;
461
- buffer1 [ time % buffer1 . length ] = fn1 . call ( ctx1 , ( time ) / divisor , undefined , stack1 , ctx1 , extra ) ;
460
+ const s0 = fn0 . call ( ctx0 , ( time ) / divisor , undefined , stack0 , ctx0 , extra ) ;
461
+ buffer0 [ time % buffer0 . length ] = Number . isNaN ( s0 ) ? 0 : s0 ;
462
+ const s1 = fn1 . call ( ctx1 , ( time ) / divisor , undefined , stack1 , ctx1 , extra ) ;
463
+ buffer1 [ time % buffer1 . length ] = Number . isNaN ( s1 ) ? 0 : s1 ;
462
464
}
463
465
} ,
464
466
// case 2: // signed bytebeat
@@ -483,7 +485,8 @@ class ByteBeatProcessor {
483
485
// case 1: // floatbeat
484
486
function ( buffer0 , buffer1 , fn0 , fn1 , time , divisor , stack0 , stack1 , ctx0 , ctx1 , extra , lastSample ) {
485
487
for ( let i = 0 ; i < lastSample ; ++ i ) {
486
- buffer0 [ time % buffer0 . length ] = fn0 . call ( ctx0 , ( time ) / divisor , undefined , stack0 , ctx0 , extra ) ;
488
+ const s = fn0 . call ( ctx0 , ( time ) / divisor , undefined , stack0 , ctx0 , extra ) ;
489
+ buffer0 [ time % buffer0 . length ] = Number . isNaN ( s ) ? 0 : s ;
487
490
++ time ;
488
491
}
489
492
} ,
0 commit comments