How can I re-name the tabs of live.tab

FriFlo's icon

I found out how to do that with tabs, but isn't this possible with live tabs as well? Mira only supports live.tabs ...

DRKOSS's icon

Ditto - anyone know if this is possible?

Lee's icon

They can't be dynamically renamed unfortunately...

DRKOSS's icon

thanks for the reply!

FriFlo's icon

Thanks. Mira really seems to be in beta for now. I had high hopes for this, but it is so much behind lemur in terms of flexibility. I will turn it back to Apple for now ...

DJ's icon

actually you can rename the tabs of [live.tab] with the help of a secret message called "_parameter_range" (without quotation marks).

Here is an example

{
    "boxes" : [         {
            "box" :             {
                "maxclass" : "message",
                "text" : "_parameter_range skin the cat",
                "patching_rect" : [ 328.0, 118.0, 146.0, 16.0 ],
                "id" : "obj-7",
                "fontname" : "Arial",
                "numinlets" : 2,
                "numoutlets" : 1,
                "fontsize" : 10.0,
                "outlettype" : [ "" ]
            }

        }
,         {
            "box" :             {
                "maxclass" : "message",
                "text" : "_parameter_range a b c",
                "patching_rect" : [ 125.0, 123.0, 117.0, 16.0 ],
                "id" : "obj-8",
                "fontname" : "Arial",
                "numinlets" : 2,
                "numoutlets" : 1,
                "fontsize" : 10.0,
                "outlettype" : [ "" ]
            }

        }
,         {
            "box" :             {
                "maxclass" : "live.tab",
                "varname" : "live.tab[1]",
                "patching_rect" : [ 206.0, 161.0, 100.0, 20.0 ],
                "id" : "obj-9",
                "parameter_enable" : 1,
                "numinlets" : 1,
                "numoutlets" : 3,
                "outlettype" : [ "", "", "float" ],
                "saved_attribute_attributes" :                 {
                    "valueof" :                     {
                        "parameter_longname" : "live.tab[1]",
                        "parameter_shortname" : "live.tab",
                        "parameter_type" : 2,
                        "parameter_enum" : [ "skin", "the", "cat" ],
                        "parameter_unitstyle" : 0
                    }

                }

            }

        }
],
    "lines" : [         {
            "patchline" :             {
                "source" : [ "obj-8", 0 ],
                "destination" : [ "obj-9", 0 ],
                "hidden" : 0,
                "disabled" : 0
            }

        }
,         {
            "patchline" :             {
                "source" : [ "obj-7", 0 ],
                "destination" : [ "obj-9", 0 ],
                "hidden" : 0,
                "disabled" : 0
            }

        }
],
    "appversion" :     {
        "major" : 6,
        "minor" : 1,
        "revision" : 3,
        "architecture" : "x86"
    }

}

DJ's icon

sorry... I somehow failed to insert the max example of my previous post...

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

I try again...

FriFlo's icon

Thanks, DJ! Works!

DRKOSS's icon

that's fantastic. really wish some of these secret messages weren't so secret - they are damn useful!

cheers

DJ's icon

actually there are 3 relatively easy steps to get this kind of information:

Step 1)
Select the object and press Cmd-i to open the Inspector. Find the parameter you are interested in.

Step 2) Select the parameter / attribute and click on the little "gear wheel" in the lower left corner. Select "copy Attribute".

Step 3) Paste the copied text into some text window. It looks like this.

{
    "attributes" :     {
        "_parameter_range" : [ "one", "two", "three" ]
    }

}

From there it is easy to guess the attribute's name ;-)

Step1.jpg
jpg
Step2.jpg
jpg
Step3.jpg
jpg
DJ's icon

forgot the image for step2...

Step21.jpg
jpg
DRKOSS's icon

DJ - you just rocked my world. next time you are in nyc - beers on me.

thanks!

DJ's icon

you're welcome... and beer is always welcome too ;-)

FriFlo's icon

Beers on me, too! Although, you would have to drink "eine Maß auf der Wiesn, wenn'st mogst" ;-)

And since you seem to be the genius of finding secret functions in MAX ... would you also happen to know a solution to this:
I want to create a large matrix of tabs, which can be labeled. With your help, I can label them now. However, they have to be multi-line buttons, as I need between 30 and 60 fields on that matrix. But when I do that, I get really small pads that are not easy to hit. Only, if I set text size quite large, I get good pad sizes. But then again, the text gets to big to fit into the pads ...
Is there a way to fix, how many rows and columns you get independently from text size? I actually found this worked perfectly on Lemur or touch OSC. But I cannot get it working with Mira. I only found a hack by using a tabbed mira.multitouch placing text fields in front of every tab. But this is really a pain in the ass to set up for a quite normal operation like some labeled pads ... there should be an easier way to get it done.

Lee's icon

@dj. Wow! Great stuff. Why are these hidden in the first place I wonder? So can I change the type of a dial for instance? Need to experiment....

broc's icon

I guess that dynamic attribute changes of live.* objects will confuse the automation bindings in Max For Live which is probably the reason why these messages are hidden.