Anyone tried porting their max patcher to C++/Objective-C?
I’m thinking of doing it because efficiency and more complex DSP.
Or is it simpler to just write a specific external? Are there some tutorials to get you going on externals?
it’s obviously possible, you will find some tutorials if you search on google or in the forum search.
for example : http://cycling74.com/forums/topic.php?id=28990 (a lot of references here).
PS : you may post your message on the DEV section of the forum for better results.
Good luck ;)
thanks mate. I’ll come to play with the big boys when I feel ready. :)
Porting an entire patcher to «procedural/oo language of your choice» is a lot of work, particularly if you’re going to implement your own MIDI/DSP/network drivers, UI handlers, drawing code, etcetc. It’s not quite as hard as it used to be 10-20 years ago because development tools are making this less tedious. Still, a lot of work.
Developing an external isn’t hard at all once you’ve got the hang of it. And it means you can leave the tedious stuff to the Max engine.
Analyze your patch to see where the heavy-duty stuff is going on: heavy message passing between Max objects; DSP with long chains of filters; etc. I’ve written custom externals for complex sections of DSP chain and managed to shave off a bit of CPU usage. Don’t expect miracles, but you can improve efficiency with judicious use of custom externals. I have seen some pretty big performance enhancements in the Max world when moving from a lot of [if]s and [expr]s to hand-coding, but I daresay on modern hardware the difference is no longer quite as striking.
In addition to the Max/MSP SDK itself, have a look at Ichiro Fujinaga’s tutorials < http://www.music.mcgill.ca/~ich/classes/mumt402/MaxMSPExternalsTutorial3.1.pdf>. Also, Eric Lyon has a book which I think is out now.
thanks for the tips!
Searched for eric lyon and found an analysis he did on Aphex Twin. Great!