APC40 Interface

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

I've been working on a system to let my APC talk to Max easily, and I'm just about done, but I have a few things I need some help/advice on. It includes a virtual clone of the controller matching button states (LED colors and blinking) and registering input for everything. Attached is the abstraction I use, and it can be intialized with this little clipping (If you don't have an APC40 plugged in, you might get numerous errors from here forward):

I need guidance on two things:

1. The LEDs in "Clip Launch" are capable of blinking, and I've got a small patch for that. Where I'm having trouble is maintaining the global synchronization of the blinks, so that any button set to "blink" at any time will show the same on/off as every other blinking LED. I'm currently doing this using poly~ and transport, but it requires global transport to be on and I'd like to remove that requirement if possible. It feels very hacky to me.

2. I want to include a series of drop-in "hooks" that match sets of inputs on the APC [dial bank 1, matrix row 4, etc]. Currently, I have these hardcoded with a series of routepass objects, but since I use some regex/sprintf/pattrforward magic to communicate with the virtual clone, I'm wondering if I should do the same with this system. Additionally, these "hooks" are subpatches with many outputs, but since they are not saved externally, they must be copied & pasted into your workspace. I've made it easy to keep the hook subpatch open for this, but short of creating a bunch of abstractions and clogging up the autocomplete search suggestions, is there a better way to do this?

Hope that made sense, happy to try and clarify if need be.

APC.zip
zip
DK's icon

[bump]

Pedro Navarro's icon

HI DK,
I'm new with MaxMSP, I'm an AKAI APC40 and want to conifugure it for use in with touchdesigner and Vdmx. It's possible with your patch change the default preset and configure all? (How can I use it? any basic tutorial?
Thanks!