change live.dial needle colour

pb21's icon

I would like to alternate the needle colour of the dial when i am using the dial.

between white and green when dial is moved to give indication not of dial movement but that control codes are being sent
.

pb21's icon

any tips on how i might do this? I am sending out cc code in ctlout and wanted to try to have some confirmation that the code was sent in form of a small rectangle flashing green OR the needle alternating between white and green on the dial itself to conserve space on the device

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

Most traits of an object are adjustable in the object's Inspector, and most of those are attributes of the object that you can adjust programmatically with messages. In the case of live.dial, I think the attribute you want to change is activeneedlecolor.

pb21's icon

The bit i was driving at was could the act of cc message out og ctlout send a message to trigger, I had looked at the reference and found the needlecolour just wasnt sure how i could trigger when a cc message is sent

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

Use the output of the live.dial to send to ctlout and also to start whatever flashing process you want to use. When output from the live.dial stops, stop flashing and reset to black. You can use the delay object to wait a certain amount of time to determine that output has stopped.

pb21's icon

I see youve used a live.dial, whereas I used the dial, with 32 as the multiplier with 3 positions starting at 32, can the live.dial do that, i cannot see the multiplier in it.

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

`

pb21's icon

I found it it had a different naming convention for the needle.

Christopher Dobrian's icon

live.dial doesn't have a built-in multiplier the same way that dial does.

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

What it does have that dial doesn't have is the ability to display a choice of different items (numbers or text), with the "Enum" Type chosen in the Inspector. If you want a live.dial that has only three positions, you just put three things you want to display in the Range/Enum field in the Inspector. (See example below.)

In this example, I've given the three items the labels "Lo", "Med", and "Hi". If you prefer "32", "64", and "96" you can use those instead. But in either case, the live.dial will send out 0, 1, and 2 (similarly to umenu), so if you want those to actually go out as 32, 64, and 96, you need to do a little math, as shown.

pb21's icon

I really want to thank you for taking the time to explain the difference between the two objects those subtleties I hadn't picked up on with the help and reference.

Thank you very much.

pb21's icon

I have a side question when the maxforlive object opens (i have a default value of 32 in dial property) I am assuming that the value is not physically sent to the ctlout object?

if so could it so that the synth control corresponds to the dial setting.

just to explain I am creating a device that controls my usb monotribe parameters by sending the cc codes.

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

There are many ways to do what you want. Here are a few.

pb21's icon

thats really helpful thank you.

Ernest's icon

Sometimes the background of live-dial has diagonal stripes. Could someone in the know please explain why this happens?

Jan M's icon

this occurs when you change a parametet in a live.xx ui element that needs to be stored in live. (ie the range). when you haven't saved your device yet these stripes indicate that the parameter value in the max editor hasen't been sent to live yet. just save your device and the stripes will disapear.
jan

Ernest's icon

Well thanks for the clarification. Is it possible to disable live! paramaeter saving entirely somehow?

Ernest's icon

t/s not important. pattrstorage overwrites the values anyway.