scale multiple inputs at the same time

newtfish's icon

Hi,

Im wondering whether there is any way to replicate the functionality of the scale object, but for multiple/variable amount of inputs?

For instance, if I have a coll object with min max values for each input.

Input1 0 400
Input2 0 100
Input3 0 50

Is there any way I can use this coll to scale all of these inputs at the same time?

Ive tried sending the data from coll to one scale object (which sets min/max each time an input is discovered), but it gets very jittery after more than 3 inputs.

Should I be using poly~ for this and if so, how to set multiple instances dynamically for the variable amount of inputs.

Any help would be very appreciated as Im a bit new to poly

Rick's icon

Can you post a small patch of [scale] getting "jittery"?

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

Im probably approaching this in a really wrong way, so hence, the suggestion to use poly instead. Although im just not sure how. Im trying to avoid having to create a different scale object for each param.

Rick's icon

It's the conversion from MSP signal to MAX message that's causing the errors. MAX can't keep up.

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

Have you tried staying in the signal realm? [scale~] vs. [scale]. This might work for you.

newtfish's icon

Unfortunately the signals were only there for demo purposes. The actual data im receiving is max message.

The main problem Im having is that the messages are getting mixed up (when theyre joined together). Is this something I can solve with trigger? or am I just approaching it totally the wrong way?

Rick's icon

Apples and oranges. Let's see if this poly version is closer to the output you expect. Save both of these patches, open the scale_poly.

scale_poly.maxpat
Max Patch
poly_scale.maxpat
Max Patch