This may be kind of a vague question as I’m only beginning to dip into writing externals, but do those more experienced know of any general rules of thumb regarding MAX vs. Pd externals? From reading up on it so far it seems as if they’re often though perhaps not always compatible. Are there general issues to keep in mind while writing C-based externals so as to ensure maximum compatibility?
Any thoughts or pointers to resources on the matter would be much appreciated.
You should look at the Flext library (http://puredata.info/Members/thomas/flext/). It allows you to use C++ classes (with a LOT of preprocessor macros) to write externals that can be compiled for either Max or PD. Even if you want to stick to pure C (as opposed to C++), it should still be a good example of how to write code that works in both environments.