This is a page for programming adventures in music and other subjects!
This (unnecessary) SPA is written in Clojurescript with the Shadow-cljs workflow and
First make sure shadow-cljs is installed, preferrably globally, as these instructions assume the existence of the command shadow-cljs
(I'm using yarn):
[yarn global add] shadow-cljs
While you're at it, also do
yarn [install]
First build worker.cljs
for release, since that's not going to change often:
shadow-cljs release worker
It's encouraged to start a shadow-cljs if you're going to be running shadow-cljs commands alot, since then you won't need to start a new JVM each time:
shadow-cljs start
Then, watch the app, which will also make a dev server capable of hot reloading:
shadow-cljs watch app
Once it's done, go to localhost:8080
.
Just run shadow-cljs release app
!
The subapps are as follows.
This page is a polyrhythmic metronome. It allows you to generate accurate polyrhythms in various tempi. Uses the Web-Audio API and a webworker to schedule the ticks. Visit this blogpost to see details about what this is, why, and how.
- Either put a message about landscape being ideal, or make a vertical version
- Volume/Off controls (individual?)
- Multiple tracks?