The Push 2's "User" mode is much more flexible than how the controller functions in its "Live" mode. For example in user mode you can assign all the buttons on the Push 2 to ClyphX action lists.
However, in user mode you lose the functionality of such useful things as visual feedback of the status of clips. As I would like to use the user mode in my livelooping sets, I was wondering how I might go about recreating that visual feedback of clips using ClyphX.
This method utilises the rename clip function whereby a newly recorded clip is renamed to a ClyphX action that codes for the desired colour of the clip whilst it is playing (e.g. a strong colour) and whilst stopped (e.g. a lighter colour).
Although its admittedly a bit hacky, this method has the advantage of not using any max 4 live, and keeps the flexibility and other advantages of using user mode. For me, it's also advantageous as it allows me to preserve my workflow of only adding stop buttons to clip slots before recording to them.
There are a few weird things that I may or may not be be ok to live with, like the fact that you have to retrigger the clip again to rename it (and thus get it's colour to be properly displayed). So far that is actually not a problem for me.
The other (perhaps) disadvantage of this method is that it will actually rename the clip every time you retrigger it. Again, I think it's such a minor computation that I can't foresee it being too much of a problem, but it is kind of weird I guess 🙂
Nevertheless, today I am going to try a method using Pushhacker to handle the clip recording and playback (and visual feedback) and see if that might be better. If I can trigger ClyphX action lists at the same time as using Pushhacker's visual feedback, then that looks to be very promising indeed.
For those interested, this is the action list that I have assigned to each push button. (The first row of button at the top of the Push 2)
$VOX1A_ON$ = "REC1"/ SEL 3 ; SEL/ADDSTOP ; "REC1"/ PLAY 3 ; "REC1"/ CLIP(3) NAME "[] MIDI 144 92 125 : MIDI 144 92 96"
$VOX2A_ON$ = "REC2"/ SEL 3 ; SEL/ADDSTOP ; "REC2"/ PLAY 3 ; "REC2"/ CLIP(3) NAME "[] MIDI 144 93 125 : MIDI 144 93 96"
$VOX3A_ON$ = "REC3"/ SEL 3 ; SEL/ADDSTOP ; "REC3"/ PLAY 3 ; "REC3"/ CLIP(3) NAME "[] MIDI 144 94 125 : MIDI 144 94 96"
$VOX4A_ON$ = "REC4"/ SEL 3 ; SEL/ADDSTOP ; "REC4"/ PLAY 3 ; "REC4"/ CLIP(3) NAME "[] MIDI 144 95 125 : MIDI 144 95 96"
$BBOX1A_ON$ = "BBOX1"/ SEL 3 ; SEL/ADDSTOP ; "BBOX1"/ PLAY 3 ; "BBOX1"/ CLIP(3) NAME "[] MIDI 144 96 3 : MIDI 144 96 5"
$BBOX2A_ON$ = "BBOX2"/ SEL 3 ; SEL/ADDSTOP ; "BBOX2"/ PLAY 3 ; "BBOX2"/ CLIP(3) NAME "[] MIDI 144 97 3 : MIDI 144 97 5"
$BBOX3A_ON$ = "BBOX3"/ SEL 3 ; SEL/ADDSTOP ; "BBOX3"/ PLAY 3 ; "BBOX3"/ CLIP(3) NAME "[] MIDI 144 98 3 : MIDI 144 98 5"
$BASSA_ON$ = "BASS1"/ SEL 3 ; SEL/ADDSTOP ; "BASS1"/ PLAY 3 ; "BASS1"/ CLIP(3) NAME "[] MIDI 144 99 29 : MIDI 144 99 7"