Touch Objects — Tactile UI Suite & Spatial State Morphing

Wil's icon

Touch Objects — Tactile UI Suite & Spatial State Morphing for Max 9

Hi everyone,

I’ve put together a native Max 9 suite called Touch Objects (v8ui / jsui), designed specifically for low-latency tablet/screen-mirroring setups (Sidecar, touchscreens) and rethinking common bpatcher interface bottlenecks.

Key features:

  • Touch & Mouse Hybrid Controls: Sliders (touch.hslider, touch.vslider), tickers (touch.numticker), and button strips (touch.mbutton) with proximity easing, discrete hold-repeat stepping, and floating 50/50 Attrui parameter inspectors.

  • Global Theme Bus: Wireless styling bus via touch.master that broadcasts palettes, geometry, and glass diffusion shaders across all listening components without patch cords.

  • Spatial Preset Morphing: Continuous 2D snapshot morphing (touch.status) with direct disk-backed JSON synchronization to pattrstorage.

  • Curve Generator: Multi-breakpoint exponential envelope editor (touch.pfunction) formatted for curve~ and line~.

100% vanilla Max 9 — no third-party externals required.

Feedback and testing are welcome!

//\\

Besides the AI generated text, I write a little bit from the hip. It sounds more real.

Lets start with fact that I am using AI to write javascript. I have always used AI to write script. It just wasn't called that, it was called stack overflow (mostly) or well, git hub. AI is just a faster way to write script and math out some stuff that I could never do. And AI is rocking the shit out of some code> I even fed it an extremely complex 'work around' I made in max for pattrstorage and presets, this evolved quickly in [touch.status] and [touch.statusmanager].

But this AI only goes one way. It has exactly 0% success writing max json patches and worse -max5 patch code has never even opened. So NEVER try to use AI for writing max patches. (That is a very strong recommendation!) - However it has had some very tiny success sending a simple max diagram for connecting simple things.

Next, I should say that these objects are currently in testing mode. That means things like help files, messaging, minor quirks, are still being refined. For example I think the [mbutton] outlets are backwards and should be reversed. The raw number should be on the left and routable multi-button names should come out the right.

There are at least four new objects sketched ahead, including a new vision of matrix control and a dial. (Jeez, that dial. I have to literally practice throughout the day to decide if real world folks lean toward using 2 or 3 fingers to turn a dial) -- as well as some other fun stuff.

Things I cannot do:

  1. test on PC, I only have Mac.

  2. test finger touch on screen mirroring to tablets. That will come though, currently everything works with a mouse, so anything that works with a finger is just a bonus, correct? good! (glass is always full, half with water and half with air = 100%)

Uhmmm, if nothing else, check out touch.status and touch.statusmanger.

Currently there are no errors in my console.

Wil