multipass is a framework that makes it easier to build alternative firmwares for monome eurorack modules: white whale, earthsea, meadowphysics, ansible and teletype. it’s a very lightweight layer over libavr32 monome library which abstracts hardware input/output and some of the system functions.
the 2 main goals are:
- make it easy to start writing apps without having to figure out a lot of low level details
- allow for re-using the same code for multiple modules (and perhaps eventually multiple platforms)
i’ve been meaning to document this properly for quite some time but with so many projects i’m going to post this for now so that people can start taking advantage of it, and hopefully this will create the momentum to expand it and add more functionality.
so, what is it? it’s basically a very lightweight framework that abstracts all the gritty details about how to implement things like outputting a CV, talking to MIDI devices, reading/writing to flash, using grid, arc and other various controllers. it also abstracts the notion of playing notes from how notes are actually played - you configure voices and use functions to play notes, and multipass will translate it into CV, or appropriate i2c commands - it knows how to talk to er-301, telexo, just friends etc.
it supports various controllers already: grid, arc, shnth, keyboard. screen support is available for teletype. you can see what is possible here: https://github.com/scanner-darkly/multipass/blob/master/interface.h
i’ve put together instructions on how to get started here: https://github.com/scanner-darkly/multipass/blob/master/README.md
a sample app: https://github.com/scanner-darkly/multipass-simple translates MIDI notes to CV/gate (didn’t have a chance to test it yet!).
for a more complex example, take a look at polyearthsea.
i’m hoping to add more functions at some point to support USB storage and more controllers - ideally, multipass could also implement some universal preset management system, scale editing and output mapping - but this is far future. for now though it should be very easy to start making apps with it!
several areas could use more documentation, namely, flash preset management and voice mapping - will try to add more soon!