unramp?

orange_glass's icon

Hi

I've made the attached sub patch to solve a problem but whilst doing it I had the feeling this functionality is probably already there out of box (even though I couldn't find it).

I needed a sort of reverse of the ramp device. I want to take out the ramp of a CC stream and just get the final 'resting' value. My controller nob was bound to a patch selector and a change would trigger a CPU expensive patch loading procedure, so going from say patch 2 to 20 would start and stop 18 unwanted patch loads.

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

Is there an object already built to do this?

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

Can't think of a single object ATM, but here's a way with two:

orange_glass's icon

Thanks that's a lot neater. One other requirement I had which I didn't mention before, is that if just one change comes through it needs to instantly go to the patcher.

So mine lets the 1st one through as normal and only subsequent CC streams trigger the unramping mechanism.

Peter McCulloch's icon

How about speedlim/qlim?

orange_glass's icon

Thanks for those pointers, neater than using ramp

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

Here's a three object version, that almost certainly uses less memory than the list version:

Chris Muir's icon

sorry, double post

orange_glass's icon

Thanks for that. I think speedlim is perfect for me. the crucial thing is a single change comes through instantly.

brendan mccloskey's icon

this is why scouring/pounding the forums is good; Chris and spectro may have helped me solve this 'unrelated' problem:
https://cycling74.com/forums/digital-filter-to-exclude-noisy-touch-data

my gating and filtering was getting pretty heavy-handed; often, simple is best, as these two solutions prove....thanks guys and OP

Brendan

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

Sorry, I missed the requirement for the first number to go through: