i built an MSP external for a friend back in 2010, and now it is apparently exhibiting bad behavior on max 6 / Lion (nasty clicks in audio.) originally built against the 5.1.6 SDK… not sure what’s changed.
i don’t personally have Lion; i’m not a big mac user these days. wondering if anyone has any insight or could even (big favor i know) recompile the thing, which is here:
After a cursory glance at the code, it doesn’t seem to show anything obviously wrong.
There were problems we discovered with buffer~ access late in Max 5′s life cycle which we addressed in Max 6. If you look at the appendix of the Max 6 SDK it documents how to update code for safer/easier/better access.
Additionally, to host Max 5 audio objects in Max 6 incurs additional CPU cost as the object has to be wrapped with a conversion layer. Not sure if this extra overhead is exacerbating the problem.
Side note: you have a gensym() call at line 253 in your perform method. Not sure you want an expensive call like this. For a case like this it is recommended that you call gensym() somewhere else (e.g. in main()) and cache the t_symbol pointer it returns. Then pass that cached symbol at line 253.
If you have a patcher that reliably produces the problem, I might be to take a look at it sometime…