attrui store and recall settings ?

LLT's icon

Hello, preset does not account attrui?

I do not know if it's me but I have trouble with the box number in attrui: when I release my mouse attrui often changes the value of the box number.
I tested with several mouse and the same.

The various tests that I made with Gen MSP and Jitter are crazy.

The first reason to update my Max 5;)

Thank you team cycling74 for all this work and all these new ideas.
I look forward to more information and tutorials.

Emmanuel Jourdan's icon

attrui doesn't support preset nor pattr since its magic is to grab the values directly from the object it's connected to.

LLT's icon

thank you for the reply Emmanuel.

I saw attrui as a quick and convenient to work, but the magic of attrui beyond me.

for example:
I use jit.gl.gridshape hop a shot of the small wheel or Attributes of the object to take the position function. I automatically attrui position, great! it's magic: D but I finally make my pak position if I want to record my position.

I find really a shame that attrui can not be saved.

Laurent

pseudostereo's icon

Even though I totally get the magic of attrui, I kind of agree with Laurent - it's incredibly convenient to have a standardized label/value object, and if its state was savable via pattr/preset, it could replace all kinds of comments, multiple number boxes, etc.

I'm wondering if attrui might be able to get an attribute for a second mode/state:

Mode 1: attrui grabs values from object, attribute name can be changed via popup menu (just the way it works now)

Mode 2: attrui no longer grabs values from object, attribute name is fixed, values are savable via pattr/preset. When patch is loaded, if no preset has been set, values could be grabbed once on load from object (so that attrui & object stay coordinated).

As it is now, attrui is incredibly useful as long as I set the attributes of all my objects in the objects themselves. But the minute I start using pattr to save states, I have to either add pattr-compatible objects that feed into each attrui, or take out the attruis altogether and replace them with pattr-compatible objects (plus comments/labels). Either way, there's a lot of redundant patching that could be eliminated.

Wetterberg's icon

Bumping this with the same sentiment, really - a switchable mode that makes the value parameter one-directional would be a really great way of building patches.

As it stands it means that for many attribute things I am now either:

1) Connecting number boxes to a thing that already has number boxes...!
or
2) going back to the old [someattribute $1] method, even though a much slicker method is right in front of me :-/

dtr's icon

+1 for storing/recalling attrui!

Dg's icon

@LLT

> but I finally make my pak position if I want to record my position

I still hope for something like a ";max freeze all_attributes" message ....

Kurt Ralske's icon

Bumping this thread.

Attrui does not work with preset.
"Magic"?
I vote "no"...

The truly magical and mystical experience would be to use attrui to replace a lot of ugly message boxes and pak objects. Not possible without presets.

mzed's icon

attrui doesn't really have much of a "state" so there's nothing to save in a preset. It's just a window into a different object.

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

It's possible to bind pattr objects to attributes of another named object, like this:

spectro's icon

Nice...

Michael Terren's icon

+1 for preset/attrui compatibility. attrui is too nice an interface not to be used to its full potential.

metamax's icon

Well... attrui may be the "magic grabber" but that doesn't mean that what is grabbed should remain inaccessible.

attrui doesn’t really have much of a “state” so there’s nothing to save in a preset. It’s just a window into a different object.

No.. it's not just window. If it's "grabbing" values then it's more like a see-through container. If it can grab, contain and display, surely it's feasible to output.

How about having an outlet that magically sends the values to another object. That will at least allow for a 'workaround' for the preset/pattr issue. There are so many potential uses of such functionality it boggles the mind.

dtr's icon

Bumping into this again today. Did a method for tying attrui into a preset/pattrstorage emerge in the mean time? It would be such an obvious feature...

ArturMihel's icon

pleeeeeeeeease...

ArturMihel's icon

in max 7 values of attrui still can not be saved when you save the patch ???

phiol's icon

+1 attrui values being saveable with preset :-)

michel8's icon

+1 attrui values being saveable with preset :-)

I didn't find this solution. Could you explain more precisely, please?

phiol's icon

@Michel8
What do you mean?? you didn't this solution ?

That is my request not a solution.

Although there is a workaround but in a pain in the neck for time efficiency,
but then again , so is having a ton of [pak blab f f f ] in Jitter.

Anyways the workaround involves using pattrstorage , and it worth it
if you want to use pattrstorage's fade $1. I do use this feature to create
timelines for specific camera positions , works like a charm.

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

here is an example

Let me know if you need help

michel8's icon

all right, I thought the +1 was the missing magic spell.
So, it is still the same effort. Too bad and amazing! Thank you for your example.

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

here is an even more straight forward patch ;-)

Ernest's icon

That is the best! Will save many hours. Thank you very much

Martin Beck's icon

Wondering if this topic has changed to a more convenient solution with Max 8?
Especially with patches using a lot of Jitter objects the following workarounds are not optimal.
a) Transform -> Changed Attributes to Arguments makes patchers become visually overloaded and hard to read.
b) Using [pak] with number boxes and [preset] as stated in a post above "...there's a lot of redundant patching that could be eliminated".
c) Using scripting names and pattr is finally as cumbersome as b)

Christopher Overstreet's icon
Chris Rolfe's icon

How about scripting? Here's an quick-and-dirty abstraction called autoadd_attributes that uses thispatcher to generate and bind pattr objects. The abstraction takes the scripting name of the object and a list of attributes as patcher arguments:

[autoadd_attributes myobject attr1 att2 attr3 …]

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

Example usage:

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

And an example json file:

toplevel.json
application/json 0.52 KB

Seems to work. I can drop an autoadd_attributes object into any patcher. The pattrs are created inside the abstraction using @bindto and thus exposed to the pattr system. You never see the cruft. Saves typing at least.

Michael Freeman's icon

For anyone else who gets here. This was frustrating having to set up my patch every time on reload even with snapshots ! However attrui was updated in Max 8.3 ...

• attrui: 'storeinpreset' attribute which defaults to enabled (also applies to pattr)

But snapshots do not save everything by default ...

Live UI objects (e.g. live.dial, live.sider, etc.) have their Parameter modes enabled automatically.

( Source )

So Parameter Mode Enable in Inspector has to be set to on for each object including attrui.