Taking control of Push 2 display and mimicking filter curves(WIP)

Learn about building and using Max for Live devices.
Post Reply
Airyck
Posts: 739
Joined: Thu Jul 02, 2009 11:54 pm
Location: Phoenix, AZ

Taking control of Push 2 display and mimicking filter curves(WIP)

Post by Airyck » Tue Sep 03, 2019 7:21 pm

I haven't seen a lot of people working on taking control of the push display for custom devices.
I've been working on a patch on and off.
I'm using push.imp to take control of the display in conjunction with a script that kills the display process and grabs the control of it before Ableton can take it back.

I also started using jit.matrix and gl drawing stuff to mimic some of the filter curve drawings you see in Ableton devices on the Push.

It's a work in progress, hopefully I'll have time to get back to it soon.

Anybody else doing stuff like this?
Image

Image

Example video of it: https://youtu.be/JKqpN8my2J4
Ableton Live 10 Suite / Push 2 / Max 8 /

chapelier fou
Posts: 6021
Joined: Mon May 15, 2006 12:15 pm

Re: Taking control of Push 2 display and mimicking filter curves(WIP)

Post by chapelier fou » Wed Sep 04, 2019 12:41 pm

I don't own a Push anymore but it's quite interesting.
How's the drawing made ?
MacBook Pro 13" Retina i7 2.8 GHz OS 10.13, L10.0.1, M4L.
MacStudio M1Max 32Go OS 12.3.1

Airyck
Posts: 739
Joined: Thu Jul 02, 2009 11:54 pm
Location: Phoenix, AZ

Re: Taking control of Push 2 display and mimicking filter curves(WIP)

Post by Airyck » Wed Sep 04, 2019 3:18 pm

chapelier fou wrote:
Wed Sep 04, 2019 12:41 pm
I don't own a Push anymore but it's quite interesting.
How's the drawing made ?

I didn't share the patcher because it requires a bit of setup to make it work and I'm not ready to put it all out there yet (still working out some kinks and bugs).
But, if you look at the patcher image I shared there are two windows on the right side of the image that are open (gl_rehpfiltershape for example). Those are the parts that draw the filter shape. The confusing routing at the top of gl_rehpfiltershape is positioning the image on the display and scaling the control inputs to have the drawing move when you move a knob (the $1, $2 in the message boxes). The actual drawing part is all in the message boxes where you see them start with "reset" or strokeparam.

Those message tell jit.gl.sketch at what point to start drawing and where the next point to draw is etc...
jit.gl.sketch is sent wirelessly to jit.gl.render on the main patcher to render the drawing parameters from the message boxes.
jit.gl.render is then patched into a 4 char jit.matrix because jit.gl.render includes an alpha channel (the 4th character in the matrix and you can't patch it directly into a 3 char matrix (which is what the push display needs).
The 4 char jit.matrix is patched into a 3 char matrix (to remove the alpha channel) and put into a jit.p.window for the test window you see in the patcher.
The 3 char matrix is also sent to imp.push which displays it on the Push display.

The difficult part is/was getting everything to bang/refresh when changes happen so the jit.gl.render gets updated as you change the controls.

You can draw anything you've seen in the official Ableton devices with this method. So in essence you could make devices that had the look of Wavetable or other things. I still need to experiment with getting .SVG files displayed in the same manner so I could grab the .svg's that Ableton has in the package and really make things match to current devices. I would also like to try using waveform displays converted to a matrix to be able to display waveforms from a sample for sampler devices or lfo's.

It's a fair amount of work and I wonder if push 3 would be out by the time I finish :lol:
Regardless, I guess the learning could be used in max devices without the need to display it on the Push as well.
Ableton Live 10 Suite / Push 2 / Max 8 /

Post Reply