I'm pretty new to grid, have only been using for a week or so, but I'm a software engineer and have a lot of experience working with controllers and MIDI, so this is basically the perfect product for me. I really do love it, but admittedly find the APIs a little limiting as far as communicating between modules / managing state. I have some pretty complex grid needs and honestly I find myself fighting against the Editor in most cases. Let's start with a simple one, and then I'll continue with the more complex things I have and what I want to accomplish:
For an encoder, I want to send 127 on push, but on release send whatever the encoder was at (this includes the value + LED). At this point I have to delete the Button Mode action, because that makes it send 0 on release, so that's useless. So now I have to manage the sending of MIDI and updating of the LED myself and to do that I need to read the value of the encoder, which is fine, but in order to send the correct MIDI I need to define self variables channel and command. But I've also already defined channel and command within the MIDI action on the encoder! This is redundant and it means I have to define these things twice, manually, per element - that 4 x 16 = 64 manual data entries on my part just do something pretty basic. Or I could just manage the encoder sending MIDI myself, which means for each element I'd only need a single Self action to define the channel and command (I think I may go this route).
(bear with I have to break this into multiple posts)