Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to set min/max for variable in Mappings?
#1
I’ve been using external attenuators to limit the amount of incoming CV to use as a mapping source, but would really like to do this all in Mappings going forward.

I currently have:
0A I2C SCCV #10 > SETV V C SRC
0B VAR # C SRC > TRCK TRK1 MUTE

I tried adding:
CALC RNGE VC|VC > SETV V C
… but I cannot modify min/max on the variable screen (if I’m even doing this correctly… probably not!)

Is there a way to set min max for the incoming CV (going to CVM-8), before it mutes TRK1?
Reply
#2
(01-19-2026, 04:21 AM)kriskeyman Wrote: I’ve been using external attenuators to limit the amount of incoming CV to use as a mapping source, but would really like to do this all in Mappings going forward.

I currently have:
0A I2C SCCV #10 > SETV V C SRC
0B VAR # C SRC > TRCK TRK1 MUTE

I tried adding:
CALC RNGE VC|VC > SETV V C
… but I cannot modify min/max on the variable screen (if I’m even doing this correctly… probably not!)

Is there a way to set min max for the incoming CV (going to CVM-8), before it mutes TRK1?

Sure, they are endless ways. But lets break down your experience at first and find out why it is not working.
0A I2C SCCV #10 > SETV V C SRC
0B VAR # C SRC > TRCK TRK1 MUTE

This would only unmute if your fader is completely down (and hopefully is calibrated well and produces a zero then) and on the slightest fader position beside that it would mute the track. (And beside that you don't need to use a separate variable for it. '0A I2C SCCV #10 > TRCK TRK1 MUTE' would do the exactly same thing here. 
Then your  CALC RNGE VC|VC > SETV V C and why you can't seem to change Variable C anymore. 
Variable C is continuously overwritten by ROW 0A and also by your CALC row on it's own and so your change attempts of Variable C are directly overwritten.

So in the first place, how to limit the incoming data into something you want (which is maybe here not the perfect thing for the MUTE function but I will get to that in a second).
0A I2C SCCV #10 > ---- ---- ----   This gets your fader value between 0 and 4095
0B CALC RNGE VA|VB  >             This would 'limit' your former fadervalue between the values of Variable A and Variable B. 
So if your Variable A is for example 500 and Variable B is 1000, then the result of your fader at 0 would be 500 and the fader at 4095 would be 1000 and everything in between.    (0-4095 -> 500-1000)
You would use the result on ROW B then to do something. But since MUTE is muted only at 0 and unmuted at 1-4095 that wouldn't make really sense here. 

Getting back to what you probably want to do. Lets say you want the track to be unmuted on the fader positions Zero to half (0-2047) and muted on the positions half to full (2048-4095). I wouldn't use the ranges for it but do a simple IF check.
0A I2C SCCV #10 > ---- ---- ----   This gets your fader value between 0 and 4095
0B CALC IF >    0AVA  >   TRCK TRK1 MUTE    This checks if the result of ROW 0A (0-4095 fader) is higher than Variable A (which you set manually once to 2047) and it results in 0 is the fader was somewhere between 0 and 2047 and results in 1 if it was higher than 2047 (thus 2048 to 4095). And a 0 result is unmute and a 1 result is mute. 

You would need to set your Variable A once (and it doesn't even need to be a variable, it can be the threshold value or another fader value or whatever you can think of.)
PLEASE use the search function if something have been asked or discussed before.
Every (unnessesary) forum support means less time to develop! But of course, i am here to help!  Smile
Reply
#3
Thank you!

I initially tried...
0A I2C SCCV #10 > ---- ---- ----
0B CALC RNGE VC|VD > TRCK TRK1 MUTE

and it did exactly what I needed it to do. Smile

then tried...
0A I2C SCCV #10 > ---- ---- ----
0B CALC IF > 0A|VC > TRCK TRK1 MUTE

and it also worked great! outstanding knowing that I can do the same with half the variables.

I understand how the second method works, but what confuses me about the former is trying to understand how '0B CALC RNGE VC|VD' applies to only row 0A and not other rows in Mappings? Does CALC only apply to the row directly above?
Reply
#4
Quote:Does CALC only apply to the row directly above?

CALC RANG does that indeed. Because it needs 3 parameters and not 2 like other commands.
PLEASE use the search function if something have been asked or discussed before.
Every (unnessesary) forum support means less time to develop! But of course, i am here to help!  Smile
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)