How do I send a list containing symbols with spaces to zl mth?
Let's say this is my list: off, 1/3 octave, 2/3 octave, 1 octave. If I want to send this as a list that zl mth object will work with that won't contain quotes at the output of the zl mth, how can I feed this list to it properly? I've tried formatting as shown above, and using "quotes" around each list member separated by spaces, but can't seem to get the list entries to output properly from zl mth without using quotes in the list, which will then output them with quotes from zl mth.
using a list of symbols as in list "1/3 octave" "2/3 octave" is the most simple case of making sublists, and the opposite of [tosymbol] is [fromsymbol].
Okay. Looks like I just needed the fromsymbol after the zl mth in my patch. Thanks!
Hmm. Now I am running into a similar issue using live.tab that fromsymbol isn't fixing. The range/enum I have set for it is: off "1/3 oct" "2/3 oct" "1 oct". Most of the symbols output fine. But "1 oct" will only output as 1, even when using the fromsymbol on the middle output of the live.tab. Is there some other way to enter an enum value as a symbol when it starts with a number?
i am not sure what that is, but you should try to avoid using backslash and slash in live objects as well as in menu and umenu or as menubar items, they can cause trouble because they sometimes have a special meaning on the OS level.
Here see if this works for you.
Problem confirmed. Interestingly, it also happens with live.menu symbols.
Looks like a bug to me.
Yes, strange. As a workaround use another space character which is ascii 255 between the leading number and the symbol. @MIKE: I added a button that is changing text based on the tab. Is that what you want to do in your other thread?
O.
@11OLSEN: Cool! How do I type the ASCII 255 space in a string like that (I'm on a Mac, BTW)? And RE: the other thread, that's pretty close. Basically, I was trying to convert a live.dial with 4 steps into a single button so that the UI would change based on the dial value, and so it would cycle through the values, and be automatable. I ended up figuring it out, though. Maybe not the simplest solution, but it works!
Now I am trying to figure out how to change the parameters of the live.dial to make this extensible for larger lists/ranges of parameters/steps as a bpatcher. Any idea how to change the 'steps' or 'range/enum' parameters for a live.dial? I've been looking into pattr for this, but am not sure if these parameters are even changeable for a live.dial. I've been able to change the live.dial needle color so far, but nothing else really useful for my purposes.
Thank you!
I don't know how to type that on a Mac but i'm sure you'll can do a web search on that.
You can change the dial range like this:
for live.menu it is to be exspected.
you will also find that menu entries which only consist of one or more minus, dashes or hyphens will end up beeing dividerlines insteads of a menu item. (dividerlines are menu items...)
when migrating form OS9 to OSX for the first time back in the days i had a lot of trouble with menus containing / \ ; and the like.
btw, did you know that the [text] object ignores text passages put into brackets? "hello (my) friend" will be cut down to "hello friend" ...
@11OLSEN: THANK YOU! I have no idea where you found that info on changing live.dial parameters, but I would love to know. I am trying to figure out how to set other parameters and attributes for the live.dial, and using the same format message of _parameter_ followed by other attributes' names doesn't seem to work. Specifically, I'm looking to change the Scripting Name, Long Name, and Short Name. Hopefully that is also possible.
That's all from the book of secret max knowledge ;)
Go to the inspector (of the dial for example), click the @ sign to show parameter names. If it shows "hidden", click + sign to make an [attrui] with this parameter. If you still can't read the full name, open inspector of this [attrui] and look for the "inspected attribute name".
Someone shared this method on the forum but i can't find the thread at the moment.
O.
@11OLSEN: Nice. That is awesome. Any idea why some objects all the parameters show as (hidden), while others show all of the parameter names?
I think some parameters are hidden because changing them at runtime is inherently problematic. For example, if you dynamically change the value range of an automated object it will conflict with the value range of the original (static) mapping.
Yes, that's the reason. When you load a m4l device with a dial with an enum range of {a b c} for example and you change the range to {a b c d e f} at runtime, the automation for that dial will still only allow to automate {a b c}. And there are probably more cases of conflicts when using the hidden parameters. But i think it's nice to have the option of changing them for example outside of m4l.
Ah okay. Well, I suppose if I was opening my patch in Max/MSP instead of from Live using Max for Live, it might not be showing the parameters as hidden.
Considering I will only be changing the live.dial range/enum for a dial within instances of an abstraction when the device is loaded, not altering them at runtime, this seems to be working okay, and still allowing the live.dial range to be visible to Live, and properly automatable.
Also, I figured out that I can type option+space on Mac to add a non-breaking space (ASCII 255) in symbols instead of a regular space character, which does in fact eliminate the need to enclose symbols with spaces inside of a list within "quotes", as well as issues with symbols starting with a number followed by a space.
Thank you all again! I'm very grateful to have such knowledgeable and helpful people in this community to help me learn how to use these tools more effectively. :)