Skip to content

Latest commit

 

History

History
31 lines (21 loc) · 824 Bytes

README.md

File metadata and controls

31 lines (21 loc) · 824 Bytes

The code in this repository demonstrates how to use Elixir "hot-reloading" feature, together with MIDI events generation.

Youtube link:

Slides:

In short:

  • reloading.exs monitors the file system and hot-reloads music.exs
  • music.exs:
    • relies on GenServer to ensure the "midi player" will keep state between code reloads
    • creates a "tick" every 50 milliseconds
    • uses portmidi to send MIDI events to Renoise

How to use?

  • Install Renoise demo and load Song.xrns
  • Run the code:
brew install portmidi
mix deps.get
mix run --no-halt reloading.exs
  • Edit music.exs to play around