KEY_KSLIDER

lalalali's icon

Hello,

I am stuck!
I am currently trying to convert keys (textedit) into numbers that fit the values of the "Kslider".
I have used "atoi" to convert the text into numbers.(By default letter "a"=97, "b"=98, "c" =99) I have used "coll" to assign values.(97, 40; 98, 41; 99, 42;)
(in the patch attached I only changed the letter "a", "b", "c").
How could i somehow change the message output by "atoi " and assigned the new values in a single message depending on what letter has been written.
For example if I type "ab", "atoi" will display "97 98", how could it display "40 41" instead?

I have attched the patch.

Thank you for your help!!

Text_changeValue.maxpat
Max Patch
metamax's icon

Maybe something like this might be easier? Otherwise you can use [zl.iter] to iterate your list into [coll] and [zl.group] to regroup your new values.

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

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

Hi Metamax & LALALALI
same think :
iter and zl group
zz

metamax's icon

mizu, just a heads up.. it looks like you accidentally repasted my patch.

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

oups
sorry
confused
zz

lalalali's icon

Thank you so much Metamax and Mizu. It really helps!
Another quick question regarding the chord message. It display note+velocity. How could i set a velocity (64 for example) then when i write "a", "b", "c", the chord message can display "chord 40 64 41 64 42 64". If i write just "b" and "c" it will display then "chord 41 64 42 64". Note, I will have more letter than "a", "b" and "c".

Thank you!!

metamax's icon

If you need a different velocity for each pitch, [zl.lace] will interlace two lists. ex. (a, b, c) and (1, 2, 3) = (a, 1, b, 2, c, 3). If the velocity is constant, you can use [iter], [pack] & [zl.group] .

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

lalalali's icon

Thank you for the quick reply and your help metamax. Problems solved :)