Hi all, not sure why i didn't think of this before but since it was easy to implement(took me just this afternoon)... i thought i should hand this out asap.
I've written a couple of apps which require button-press-combinations, often up to 3 at once to trigger a certain function. People seem to like this kind of idea(especially when you set up sensible finger-patterns or even symbols like 3 buttons in an upward facing triangle to symbolize a function should scroll some value upwards, or maybe even use two hands to draw an x over 8 buttons(4 diagonally criss crossing each other), etc.).
So here's an object which can allow you to detect ANY button-press combination and route a unique identifier number to any of your own max-app/M4L functions.
Keep in mind, the object does this by polling down-press, then outputting on release.
The object itself covers only a 4x4 grid, but its arguments allow you to setup offsets...
Let's say you had a Monome1024, you would need to setup 64(1024 buttons divided by a 4x4 grid(16) = 64) of these objects(512 = 32; 256 = 16; 128 = 8; 64 = 4 objects; see app page and help-file on setting this up(also has 'set' message so you can initialize things using a loadbang, #1 #2 arguments, and perhaps an uzi really quickly), and then you could detect any combination of finger presses on the entire board, up to 1024 fingers at once! (usb/serial data transmission rate allowing, hehe)
I hope it's alright with you all to name the object "monome_community" it basically helps everyone out so i couldn't think of a better name...
Here's the object with help-file, both WIN and OSX versions, and source code included:
Sweet! Thx. I was lamenting you changing the triple press in moflava, this will help more of that start happenin.
Seriously thanks for taking the time to document and post this. I know how hard it is to spend the time on such stuff when you are coding your own app.
This is pretty rad. Now if I can just get all my mountains of Work work done I have some ideas for what to use this on.
oh, yes please! This is most handy. Nice little modular number!
on suite! I just noticed you did up the 16rower, thats a great little twist on the game, a great little tool kit...i'm delving into a control surface that will be happy to make use of both...
Haven't really built anything in C in 20 years, much less as a max external, but if you want to PM me perhaps I could make my way through the process of making this available for Windows users.
I'm going to revive this thread as I try again to do this. Somewhere along the line I let this go as I couldn't figure out what you meant by which objects to swap out. I'd like to try to get this and ~karma compiled so that it can be tested/used on Windows.