for those who know, I'm finishing the max for live patch interface for my protodeck controller.
all works fine except the last thing I'm working on : the RGB leds clip matrix used for clip feedback.
I try to explain precisely what I want to do.
6 scenes per "song"
this 8x6 matrix fits with the hardware clip matrix
I have button for going to next or previous song
I need to observe each clip contained in this 8x6 for the current song (current song= offset position of my little 8x6 hardware window=song "observed" in the real world on the hardware)
[p collectClipslots collect all clips in a coll.
I use a coll called: allClips
this coll is filled at the load time (with a loadbang that works fine) with index and object ID of all the clips of the liveset:
- index = x*100 + y (where x & y are the clips coordinates in the matrix)
- ID = object ID of each clip
The purpose is: no more clip collect at the performance time, only one time at the beginning.
This part works fine. I have the possibility to put 0 if there is no clip, or to drop this and only fill the coll with clipslot filled.
I have [p clipMatrixHandler] that uses a dump of the [coll allClips]
it contains [p theMatrix] that takes the big dump (all the data from [coll allClips], parses data one time at the beginning in order to fill each smallest element called [p ledUnit]. it is an abstraction.
I put 8x6 [p ledUnit].
thus, each one of these [p ledUnit] is feeded with ID of the clip to observe + the x,y coordinates (depending on current song)
the only thing that provokes events from live to the hardware is:
- one clip of the current song changes (transition from stopped to triggered, from triggered to stop, from triggered to playing)
- current song changes by triggering "previous song" or "next song" buttons
Now, the pictures:[p collectClipslots]
: the patch that collects all the clips ID and store them in the coll allClips[p clipMatrixHandler]
: the patch that dump a 8x6 clips ID information among the whole clips ID stored, depending on the current song[p theMatrix]
: the patch that observes the 8x6 current song clips[p ledUnit]
: the abstraction that observes a particular slots and send midi notes to the protodeck
I have no problem with the communication between live and the hardware.
The color triggering protocol works fine too. no problem with that. (it works with midi notes sent to the controller... pitch means led number and velocity means color... works fine!)
I tested each unit separately.
Each one seems to work... fine.
The whole system doesn't work: only the first line of leds works... a bit... some mismatch between the real world and the liveset
I'm sure I'm not far ... but...
It isn't not only not optimized, not improved, but it doesn't work fine...
all ideas, improvements, fix would be very appreciate.