Seeking an elegant solution...

Beep's icon

I've solved my own problem already, but the solution feels clunky and ugly, I'm sure you splendid eggs will have a much more elegant solution!

The basic problem, I want to split an incoming number stream (in this case MIDI ctl data) into equal sections. Ultimately I want to choose how many sections on the fly, but my patch opens with 8 divisions. I then want to split each of these 8 divisions up into 5 sub sections measuring 10%, 10%, 60%, 10% and 10% of the total range of that section.

Max Patch
Copy patch and select New From Clipboard in Max.

Here is my effort, as I say, it works but seems pretty ugly! It utilises [multisplit] from Jasch Objects library. Answers on a postcard to...

brendan mccloskey's icon

Hi Barry

I know this hasn't been up that long, but I'm sad that there aren't more people on this. My maths, as we know, is pants, but I've been thinking about this - away from Max - and I would approach it using modulo scaling, for the top- and mid-level sections,with offsets based on the number of divisions; and then something like a trapezoid or exponential function for scaling those mid-level ones, after their individual offsets. Either that, or tables, but that wouldn't allow variable divisions. I can only think in terms of MSP solutions rather than expressions and functions, sorry!

HTH

Brendan

brendan mccloskey's icon
Max Patch
Copy patch and select New From Clipboard in Max.

this may be of no value whatsoever. Or not. I'm just free-forming in MSP:

Rick's icon
Max Patch
Copy patch and select New From Clipboard in Max.

I don't think you need to recalculate the multisplit for new divisions. Here's my postcard...