Skip to content

Commit 36dbcb8

Browse files
committed
play task: report parsing errors
1 parent 99677f3 commit 36dbcb8

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

build.boot

+8-4
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
'[alda.parser :refer (parse-input)]
2121
'[alda.repl])
2222

23-
(def +version+ "0.2.0")
23+
(def +version+ "0.2.1")
2424
(bootlaces! +version+)
2525

2626
(task-options!
@@ -86,13 +86,17 @@
8686
P post-buffer MS int "The number of milliseconds to keep the synth open after the score ends. (default: 1000)"
8787
s stock bool "Use the default MIDI soundfont of your JVM, instead of FluidR3."]
8888
(require '[alda.lisp]
89-
'[alda.sound])
89+
'[alda.sound]
90+
'[instaparse.core])
9091
(binding [alda.sound.midi/*midi-soundfont* (when-not stock (fluid-r3!))
9192
alda.sound/*play-opts* {:pre-buffer (or pre-buffer 0)
9293
:post-buffer (or post-buffer 1000)
9394
:one-off? true}]
94-
(alda.sound/play! (eval (parse-input (if code code (slurp file)))))
95-
identity))
95+
(let [parsed (parse-input (if code code (slurp file)))]
96+
(if (instaparse.core/failure? parsed)
97+
(prn parsed)
98+
(alda.sound/play! (eval parsed)))
99+
identity)))
96100

97101
(deftask alda-repl
98102
"Starts an Alda Read-Evaluate-Play-Loop."

0 commit comments

Comments
 (0)