Prototyping some UI objects

Wil's icon

I am creating a suite of UI objects that solve some situations I encounter when using Max. These are not meant to replace any vanilla Max objects. Instead, they are a sort of hybrid objects that combine different functions and work-arounds I encountered over the years. As well as look ahead at upcoming new technology like touchscreen Macs.

This is an ongoing endeavor and may take quite a long time. So I should check with community - instead of just presenting a bunch of crazy objects all at once that (kind of) work - I should check little by little for feedback.

The first one is a basic button. Testing new touch and continuous tracking for sliders. - Also includes some extended features that I plan to use more fluently later- like the open attributes in popup window even when buried deep inside bpatcher.

Drop in /Documents/Max 9/Projects. Type t.button in empty object. Right-click for help file.

t.button.zip
zip 17.91 KB


this and other object are an expansion of TFL floating window design

Wil's icon

I’m on the opposite side of the planet so everything is upside-down here and I don’t know what time it is.

Update since first posting:

t.button got a bump (patch above) to include new touch architecture for touching sliders in the popup attributes . This is one of the main points of this design.

Continuous tracking.

There is also a new speed control attr in the max info for adjusting slider speed.

***there is still a bug in the color attr alpha slider. I’ll fix it in the next new object.

Wil's icon

Here are 2 new objects plus updated button.

Just drop in /Document/Package/

Make a new max object and type "touch"

touch.button

touch.vslider

touch.hslider

touch.objects.zip
zip 56.29 KB

These are just theoretical and conceptual since I do not yet have a touch device for finger.

Each object has a short help file (right click).

Hint: change Hold Timer to 20 for the sliders: touch and hold.

Maybe some tuning needed based on feedback.

Thanks

Wil's icon

touch.objects got an update today.

2 new objects

touch.numticker

touch.menupicker :0

//

touch.vslider and hslider got some aesthetic updates as well - the button not yet

touch.objects.zip
zip 97.11 KB

//

-fixed vslider min/max val and step size num ticker at 3hr after time posted.

Wil's icon

Small update. 2 new objects:

touch.panel

touch.panelmaster - testing remote messaging and setting storage, in v8ui - no patch chords

and some minor aesthetic changes

touch.objects.zip
zip 109.49 KB

***no help file for panels. see t.o.testing.maxpat , for examples

As always just depreciate older folder and drop newest in /Documents/Max 9/Packages

Wil's icon

touch.object update:

This update focuses on text. It is my very strong opinion and realization in practice that the [comment] object is great for commenting "under the hood" work. But it is absolutely worthless for trying to use in a patch for presentation mode. Its been the worst struggle trying to "jam" comments in, taking up space, what is the abbreviation that is "kind of" globally understandable?

The second focus, since these object are designed for 'touch', everything MUST happen without modifier keys.

And third, this update starts addressing 'naming' common attributes the same in all object and reorganizing Max Info panel by category- so later only one remote control is needed for high level stuff like colors and border to make your patches look consistent and pretty ;0

//

Ok. So this update refocusses on the touch.button. In the information panel (or popup) you can write ONE label title and have it show in the object different ways. For example: If you label 'ReCoRD TraCk 1', it will normal and fully be written in the popup as Record Track 1 (capitalized or all small), but the label can also strip out the small letters to only capital letter - RCRD TRCK 1 (All Large, All small, or first large) , Also, can one step further and strip out only first letter - R T, for very tight spaces - ALWAYS leaving full text in the popup.

I added new object touch.pfunction because it's actually ready for early testing. touch.pfunction puts all the function controls at your fingertip without ever needing a modifier key -> drag a handle, add a handle, curve a line , all single click. Remove a handle= double click. See the help patch.

Both updated objects have full help files and xml.

Once the vslider, hslider, menumaker and numticker are updated with proper attribute names, xml and some minor feature bugs, (we as in "royal" and "Pinky Plus") will make a second touch.master controller for those who like this sort of style thing/consistency.

None of these objects has addressed the input side of things, for example dumping a folder in menumaker like you can with umenu - thats ok I have a plan floating around in the brian.

Ok. I talk too much

touch.objects.zip
zip 140.58 KB

//

***Decision in real time, dont delete older versions/posts just yet - this is a great place to store stuff and I am very good at working on something until is completely destroyed and not having a saved working file to go back to... Oh, hello, you too!

Wil's icon

touch.objects update

I am uploading a new version of touch.objects

There are no errors in the max console at my end

//

Object list:

touch.mbutton - > renamed from touch.button (m for multi button, multimodal)

touch.hslider - its just a slider

touch.vslider - its a vertical slider

touch.numticker - it does number box stuff in a weird way

touch.ummanu -> renamed from touch.menupicker -> its massive (and comes with a "Bule Letter")

touch.pfunction - its getting there - very usable plug directly in to [line~] and [curve~]

touch.master - broadcast themes to all objects - (there's a frankenmode.md file for later maybe)

touch.panel - its just a panel - but panels control my entire everything patching layout )

touch.objects.zip
zip 230.52 KB

//

Look at the help files - personally I am switching out ALL my similar objects for these to use every day - plug directly in to native max objects.

//

All objects should open in touch mode -> the point of this exercise. From there they can be customized to very close to native max or much further away.

If I find any weirdness - I will update this update.

If anyone finds these useful or bastards - let me know! or~ any weirdness that should be addressed.

***one thing left out completely is keyboard access in the new popup settings window - all names / labels must be set in the max panel or native attrui - because its impossible to get v8ui to open a keyboard on a pad when mirroring a laptop or desktop - great appreciation if someone knows how to do this.

***a second note - I would NOT attempt to directly substitute these object for current Max objects - Look at the help files first and play around, especially to prevent mismatched inlet/out messages.

TFL's icon

***Decision in real time, dont delete older versions/posts just yet - this is a great place to store stuff and I am very good at working on something until is completely destroyed and not having a saved working file to go back to... Oh, hello, you too!

I encourage you to learn git! Especially since you are dealing with .js files, although it also work for .maxpat.

Wil's icon
I encourage you to learn git!

Okay! Yes of course, next step.


without bumping the post - in case anyone checks it - the touch.ummanu got a small update about 6 hours after this post time --> now auto-populates with [adstatus] // and an update to fix 'none' when populating as well as clear(), append() and set() needed some dressing to co-op with [adstaud]