changing live.dial output numbers.

take5's icon

Wondering how to change the output number to be from 0-255, rather than the 0-127. I tired Range/Enum to 255 but that simply only enables me to use half the dial. I also tried changing the modulation range from -127-127 to 0-255 with no results. Can anyone help me figure out how to have those numbers outputting ranges from 0-255 ? This would be VERY handy to me.

Thanks !

broc's icon

In the inspector, set Range from 0-255 and 'Steps' to 256.

take5's icon

looks like live.dial output is still stuck on 127, which at this point is half way up the dial.

Anyone else know a workaround?

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

Format it as a float and round/truncate after the fact. My rule of thumb: avoid using int except in all but the simplest cases.

take5's icon

Thanks for the reply. My problem here I am pretty sure is due to the fact that my APC40 controller only outputs values of 0-127. I will try and paste your code and see what that is (pardon me I am really new to this).. and see if that helps.

Peter McCulloch's icon

Ah. Try dividing the incoming value from your APC by 127. (the decimal point there is important!), then sending it into the "rawfloat $1" message box.

take5's icon

ok thanks trying some stuff out.

take5's icon

actually what i have seen now in your frist code does help. All i needed was those number boxes that show the value of 0- 255. Also, I noticed your live dial goes all the way to 255 when i map it to my controller that goes form 0 -127.

THat dial is now sending out 0-255, when I wish it simply to send out 0-127 , but display the values are 0-255. How can I achieve this result?

take5's icon

OK i figured out a sloppy way, which was to simply use a number box with a multiplier object that translate the values of 0-127 x 2 to equal the value in in 0-255 .

thank you!

seejayjames's icon

the [scale] object can be very handy in these cases too.

Peter McCulloch's icon

I recommend the "rawfloat" method because it'll work with whatever range the object is set to.

To look at specific controller values, you need to use the ctlin object with an argument. For example "ctlin 1" will give you only the values for the modwheel (controller #1). Ctlin 64 will give you the sustain wheel. If you use a second argument, that will specify for a specific channel.