JACK ringbuffers are
ideally suited to passing simple types (like floats), and not vairable
sized things (like different derived Event classes). Your enum for
event types is a bit of a red flag, too. While its perfectly valid,
"type flags" like this more often than not accompany inflexible,
tightly coupled code (which may be fine in a small audio app, but few
apps stay small).
Apologies, forgot this section:
Yes indeed all "Event" types will be contained in a single enum, and hence adding / removing
events will cause a recompile. While unfortunate, I don't know how to go about making this
cleaner. #define's anybody?