i just released alda 1.0.0-rc15, which i'm particularly excited about because it culminates about 4 months of work i was doing on a branch, rewriting/improving a lot of the old code that was difficult to work with
my three favorite things about this release are:
1. a lot of code that relied on mutating top-level dynamic vars has been replaced with clean, functional style map transformations, so that score evaluation is now an easy to understand reducing process. this will make it a lot easier to work with the codebase and fix things / add new features in the near future
2. because we aren't relying on top-level vars anymore, score evaluation is now a self-contained process. this means the alda server can manage multiple scores at the same time! you can start playing a new score before the previous one is done playing, which used to cause alda to explode because both scores were trying to modify/use the same top-level things.
3. the default behavior of alda play -f somefile.alda
is now to play the score in isolation, instead of appending to whatever score was defined at the top level. this solves a lot of bugs, and makes the command line experience more pleasant. the -r/--replace
flag (which i used to use all the time to ensure i was getting a fresh score context every time i wanted to play something) has been removed, and is now the default behavior. (the append behavior is still available if you need it, you can use the new -a/--append
flag)
give it a try and let me know what you think! https://github.com/alda-lang/alda/releases/tag/1.0.0-rc15
hat tip to @aengelberg for leading me to realize that the appending behavior shouldn't be the default 😄 👍
👏
@dave glad I could help!