I recently regained some of my motivation to work on software things - in the form of Java's MIDI APIs! I've been intermittently working on a Kotlin library for writing "music applications" (whatever that means) with Asynchronous Flows: https://jfenn.me/blog/2021-01-31-Audio-Automation/
It sort of seems like Flows aren't really meant for this, but funnily enough, it actually works *really well* - the format of `metronome(500).take(3).transform(...)` (and all the other Flow functions) is very intuitive to use in this manner.
I'm hoping to integrate this with something a bit more interactive, but the latency problems kind of prevent me from doing anything really time-sensitive with it. For now, I'm just focusing on the interface and maybe I'll find a better solution to that later.
A group of individual developers and enthusiasts with a focus on independent services, software, and technology.