On Sun, Feb 17, 2013 at 4:45 PM, Harry van Haaren <harryhaa...@gmail.com> wrote: > > On Sun, Feb 17, 2013 at 9:20 PM, Paul Coccoli <pcocc...@gmail.com> wrote: >> >> 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?
The only reason you need this is because you memcpy the object. You're effectively serializing your object and passing them over the ringbuffer. If you do it this way, you should at least consider explicitly embedding the type and length as the first member of EventBase (and have each derived class set their own type and length in their constructors), and reading those before touching the object you read. _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev