This commit is contained in:
2026-01-06 20:28:51 -06:00
parent 7b90a5a67d
commit 06e46a0721
3 changed files with 7 additions and 7 deletions

BIN
examples/invent8.mid Normal file

Binary file not shown.

BIN
examples/kong.sf2 Normal file

Binary file not shown.

View File

@@ -14,7 +14,7 @@ var os = use('os')
if (args.length < 2) {
log.console("Usage: cell run examples/player.ce <midi_file> <soundfont_file>")
log.console("Example: cell run examples/player.ce invent8.mid harpsichord.sf2")
$_.stop()
$stop()
}
var midi_file = args[0]
@@ -24,7 +24,7 @@ log.console("Loading soundfont: " + sf_file)
var sf_blob = io.slurp(sf_file)
if (!sf_blob) {
log.console("Error: Could not load soundfont: " + sf_file)
$_.stop()
$stop()
}
var soundfont = midi.Soundfont(sf_blob)
@@ -34,7 +34,7 @@ log.console("Loading MIDI: " + midi_file)
var midi_blob = io.slurp(midi_file)
if (!midi_blob) {
log.console("Error: Could not load MIDI file: " + midi_file)
$_.stop()
$stop()
}
var song = midi.parse(midi_blob)
@@ -54,7 +54,7 @@ audio.setup({
if (!audio.is_valid()) {
log.console("Error: Failed to initialize audio")
$_.stop()
$stop()
}
log.console("Playing... Press Ctrl+C to stop")
@@ -78,11 +78,11 @@ function pump() {
log.console("\nPlayback finished")
audio.shutdown()
soundfont.close()
$_.stop()
$stop()
return
}
$_.delay(pump, 0.1) // ~200Hz pump rate
$delay(pump, 0.1) // ~200Hz pump rate
}
// Progress display
@@ -95,7 +95,7 @@ function progress() {
var dur = player.duration_ms() / 1000
var pct = (pos / dur * 100).toFixed(0)
log.console(`\r${pos.toFixed(1)}s / ${dur.toFixed(1)}s (${pct}%) - ${soundfont.active_voices()} voices `, false)
$_.delay(progress, 0.1)
$delay(progress, 0.1)
}
pump()