Renders a song file offline to a stereo WAV file, as fast as the machine renders it and with no sound card, for --render.
The band, its loops and an offline engine work out the song as they do when it plays, against Mx.Clock's time, which the render moves on 10 ms at a time.
At each step every loop is ticked in turn by name and waited for, so its notes reach the engine in the same order on every run, and the engine renders up to that time.
The render starts at the song's first beat, and ends once its music has ended or seconds: have passed, and the notes still sounding have faded, for four seconds at most.
MIDI and OSC are not sent, and a loop that waits for input plays nothing; each part left out is named once, a part that sends MIDI or OSC the first time it does.
Summary
Functions
Renders the song at path to the WAV file out, with seconds: and force:, and returns :ok once written, or {:error, message}.