The OSC plugin meets my current needs just fine, but before it gets more set in stone I feel the need to talk about whether its output is really in keeping with the spirit of OSC.
The most important issue I can see in this regard is the way you are making the event ID part of the OSC Address String, compounded by the fact that when discussing this stuff, some of you are talking as if this event number is the first of the OSC values. Its not, its part of the address. And thats important and raises issues because OSC message addresses are supposed to be analogous to methods/procedure calls. So by making the event ID part of the OSC message address, you are sending this data in a manner that makes it equivalent to part of the name of a function, not simply one of the arguments that is being passed to that function.
In practice this matters because of how some environments, especially node-based graphical programming ones, are setup to enable people to easily process stuff based on receiving different OSC message address patterns. Sometimes it is relatively trivial to workaround the EigenD OSC Message Address format, as it is in the programming environment Im using (Unity 3D), but I still think the point is worthy of at least some consideration.
To be clear, Im talking mostly about the fast stream of data for key presses, as I haven't really looked at the other OSC data from EigenD much yet. There are several possibilities, but firstly move the event id data to be an additional OSC value instead of being the last part of the address. Otherwise you are either asking people to perform additional parsing of the OSC address to treat this last part of the address as a value rather than part of the method name, or people will have to have a method to deal with every possible event id.
I hope this makes sense. In practice this issue can be trivial to overcome, especially if your environment supports wildcards in OSC Addresses, but I still think its worth thinking about given the desirability of consistency between EigenD and existing standards. If this post fails to make sense then please take a look at the later sections of the OSC 1.0 spec document, where the sections on OSC semantics will hopefully clarify what Im on about.
http://opensoundcontrol.org/spec-1_0