[flext] future developments - new guidelines
Thomas Grill
gr at grrrr.org
Sun Nov 20 11:47:19 CET 2011
Hi all,
i'm sitting in a workshop with David Zicarelli, Joshua Klayton and
Emmanuel Jourdan where i learn about the new development features of
Max 6. As expected Max has moved away from the traditional Pd-like
core even farther, but on the other hand with very nice new features.
I might at some point implement the new 64-bit DSP chain and also
genuine Max attributes (as present since Max 5) in order to enable
pattr-style automation.
In order to make this possible, i have to deprecate certain aspects of
the flext API which might be used in existing projects. Some of them
are even used in flext tutorial examples (where they'll disappear
soon), but for my actual real-world external i haven't found them to
be essential.
I might try to provide backward-compatibility fallbacks for some
cases, but that might not be possible throughout.
New guidelines:
- don't use instance-based method or attribute registering. Use class-
based methods or attributes instead.
so e.g., don't use FLEXT_ADDMETHOD in your constructor, but rather
FLEXT_CADDMETHOD in your class setup function instead. The same goes
for attribute definitions.
- don't rely on the DSP information to be present in the CbDsp, but
only in CbSignal. This applies to the signal input and output vectors
and to the number of samples to be processed.
The reason for this is that Max 6 allows varying vector sizes.
- do always lock sample buffers when reading from or writing to them.
The respective methods Lock and Unlock in flext::buffer have been
present for quite a while, but i think i haven't really advertized the
necessity of using them.
let me know what you think about it and whether this will have serious
advert effects to your flext-based projects.
have fun!
gr~~~
More information about the flext
mailing list