MIDIpal scale app - possible to scale all notes on all channels?

Would it be possible to rewrite the scale app to process all incoming notes on all channels (and send notes in key/scale out on the same channel they came in on), or would that be too much for the MIDIpal to deal with?

This would require a complex code change to allow the scale app to process several channels at once (an associative array is needed to keep track of how each “note on” message has been transposed to make sure the corresponding “note off” will be sent later - this takes RAM and there’s not enough RAM for 16 of them using the currently used data structure).

That’s unfortunate. Even just being able to do a few channels would be really useful though. Would there be enough RAM to do 2 or 3 channels?

If this was the only app I wanted a midipal to run, would there be enough RAM if I stripped everything else out?

@borfo… i use multiple midipals in a chain for that… I love the scale app!

1 Like

> If this was the only app I wanted a midipal to run, would there be enough RAM if I stripped everything else out?

Yes, but you’d still have to rewrite a significant chunk of code to make the app multi-channel…

Yeah, it’s pretty great - would be awesome to even just be able to do a couple of channels… I was thinking of writing a mididings script (http://das.nasophon.de/mididings/) to handle scaling, but it’d be really nice to just use one piece of hardware to do it instead of having to put a computer in the mix…

Ok, well maybe I’ll take a look at doing that as a project sometime then. Thanks.

Is there any documentation on programming apps for the midipal anywhere that I should read?

Nope, just the code.

Ok, thanks.

One more question - Are you saying there would be enough RAM to do 16 channels if everything else was stripped out, or just a couple of channels?

Enough RAM for all channels.

Cool. Thanks - this is probably a good project to start wrapping my head around programming hardware. I’ll probably give it a shot sometime.