The code in this repository demonstrates how to use Elixir "hot-reloading" feature, together with MIDI events generation.
Youtube link:
Slides:
In short:
reloading.exsmonitors the file system and hot-reloadsmusic.exsmusic.exs:- relies on
GenServerto ensure the "midi player" will keep state between code reloads - creates a "tick" every 50 milliseconds
- uses
portmidito send MIDI events to Renoise
- relies on
- Install Renoise demo and load
Song.xrns - Run the code:
brew install portmidi
mix deps.get
mix run --no-halt reloading.exs
- Edit
music.exsto play around