Deep-Symmetry / beat-link-trigger

Trigger events and automate shows in response to events on Pioneer CDJs
Eclipse Public License 2.0
443 stars 37 forks source link

Support macros in user expressions #156

Closed brunchboy closed 1 year ago

brunchboy commented 1 year ago

Is your feature request related to a problem? If so, please describe. Maddix wanted to be able to use macros to set up a nice, concise DSL for his expressions, but ran into the problem that it was impossible to refer to, for example, effective-tempo from within the macro because BLT did not detect that it was being used in the expression, so it did not generate the code to define it.

Describe the solution or new capability you’d like BLT should macroexpand the user expression before looking for any convenience variables that need to be bound.

brunchboy commented 1 year ago

This was easier to implement than I thought it would be! Hurrah, clojure.walk.