fix syntax

This commit is contained in:
2026-02-17 09:12:08 -06:00
parent 478dc8e632
commit 96ccdda9f5
3 changed files with 22 additions and 24 deletions

View File

@@ -65,8 +65,9 @@ player.play()
function pump() {
// Push audio when buffer has room
var expect = audio.expect()
var rendered = null
while (expect >= BUFFER_FRAMES) {
var rendered = player.render(BUFFER_FRAMES)
rendered = player.render(BUFFER_FRAMES)
if (rendered) {
audio.push(rendered)
}

4
midi.c
View File

@@ -43,7 +43,7 @@ JSC_CCALL(soundfont_set_output,
if (!sf) return JS_NULL;
int sample_rate = 44100;
float gain_db = 0.0f;
double gain_db = 0.0f;
if (argc > 1) JS_ToInt32(js, &sample_rate, argv[1]);
if (argc > 2) JS_ToFloat64(js, &gain_db, argv[2]);
@@ -275,7 +275,7 @@ JSC_CCALL(midi_parse,
continue;
}
JS_SetPropertyUint32(js, events, idx++, evt);
JS_SetPropertyNumber(js, events, idx++, evt);
}
JS_SetPropertyStr(js, result, "events", events);

39
midi.cm
View File

@@ -104,27 +104,22 @@ function Player(soundfont, song) {
// Process events up to current time
function process_events(time_ms) {
var evt = null
while (event_index < length(events) && events[event_index].time <= time_ms) {
var evt = events[event_index]
switch (evt.type) {
case 'note_on':
soundfont.note_on(evt.channel, evt.key, evt.velocity / 127.0)
break
case 'note_off':
soundfont.note_off(evt.channel, evt.key)
break
case 'control':
soundfont.control(evt.channel, evt.control, evt.value)
break
case 'program':
soundfont.set_preset(evt.channel, evt.program, evt.channel == 9)
break
case 'pitch_bend':
soundfont.pitch_bend(evt.channel, evt.pitch_bend)
break
evt = events[event_index]
if (evt.type == 'note_on') {
soundfont.note_on(evt.channel, evt.key, evt.velocity / 127.0)
} else if (evt.type == 'note_off') {
soundfont.note_off(evt.channel, evt.key)
} else if (evt.type == 'control') {
soundfont.control(evt.channel, evt.control, evt.value)
} else if (evt.type == 'program') {
soundfont.set_preset(evt.channel, evt.program, evt.channel == 9)
} else if (evt.type == 'pitch_bend') {
soundfont.pitch_bend(evt.channel, evt.pitch_bend)
}
event_index++
}
}
@@ -176,8 +171,10 @@ function Player(soundfont, song) {
// Fast-forward events to current time (for program changes etc)
// but don't trigger note_on events
for (var i = 0; i < length(events) && events[i].time <= time_ms; i++) {
var evt = events[i]
var i = 0
var evt = null
for (i = 0; i < length(events) && events[i].time <= time_ms; i++) {
evt = events[i]
if (evt.type == 'program') {
soundfont.set_preset(evt.channel, evt.program, evt.channel == 9)
} else if (evt.type == 'control') {