2.0.0
After we have a stable 1.0.0 release, I'm planning on making some significant changes that will warrant bumping the major version to 2.0.0:
--- Rewrite the parser completely with an emphasis on performance and asynchronous parsing capabilities. ( #37 )
--- Rethink the way the sound engine plays scores. Alda has grown sufficiently complex that performing t…
After we have a stable 1.0.0 release, I'm planning on making some significant changes that will warrant bumping the major version to 2.0.0:
--- Rewrite the parser completely with an emphasis on performance and asynchronous parsing capabilities. ( #37 )
--- Rethink the way the sound engine plays scores. Alda has grown sufficiently complex that performing the musical events in real time is becoming less and less feasible. When experimenting in development with the streaming parser, I hear the audio "hang" at times, which I think is due to the worker process not being able to manage clojure.core.async channels, scheduling events, and playing the score at the same time.
It would be ideal if we could render the score into something like a Sequence and convert that into an audio stream. This will allow us to easily output a .wav file, and hopefully it will give us more reliable playback as well. ( https://github.com/alda-lang/alda-sound-engine-clj/issues/2 )
--- Lay the foundations for replacing Alda components with lighter implementations, potentially in another language. I might experiment with rewriting the client in something like Rust or Crystal, i.e. something that runs a little faster and lets us write cleaner, easier to understand code.
--- Potentially drop support for Windows, which would allow us to use Unix conventions to communicate between processes, giving us greater flexibility when developing across components. With a stable 1.0.0 release under our belt, I would feel better about doing this, because Windows users would still be able to use a stable version of Alda.
There are no open issues in this milestone.
Add issues to milestones to help organize your work for a particular release or project.
Create new issueOr find and add issues with no milestone in this repo.