Thursday, December 4, 2014

maxcpp is great !

Writing externals for Max/MSP is a daunting task. The API is somewhat weirdo (at least with pure-data the old stuff is cleanup within the years) and making a rapid proof of concept prototype external takes more time making it work than making the real code. At lot of things needs repeating. And the XCode build is ridiculously time consuming if you need to change the external name.

It's great to see people having the same problems and fix them with easy solutions :

First the Max project generator :

This is a template project where you simply run a Python script to generate build script with your new external name. If generating a XCode project was a simple Makefile this script would have been useless, but once you get into bundle names, Frameworks, dependencies and stuff; generating a MaxSDK build is a useless and time consuming task. Bonus point: it makes a Visual Studio build also, so you don't waste time on Windows also.

And then, there is; this is a "port" of the Max SDK to C++.  No it is not, it is a C++ template that mimic the MaxSDK. As much as I 'sometime' hate C++, this 354 line template kinda give C++ an interesting view. In the end, the 'user' code is clear and D.R.Y. aware; closer to mxj than I thought. Really, it makes Max external programming fun and powerful; not again but for once :D

Porting this template to pure-data and bringing simple APIs accessors to Max and pd hosts would be a very interesting project.

Second project : one .cpp file generates one .mxo or .pd_linux file; everything else is automatically generated... I love this idea. This will keep me busy for the rest of the year or the next one. (I know, I need to keep working on Dexed and jsusfx~)


weld man said...

hi ,,, you could contact me

jon ryman said...

i know this aint the place but i am having probs with your amazin dx mimic.
basically...i cant get it to show up in logic.
i am running
osx 10.7 i think and logic 9. the reason for this is complicated but it works.
what am i doing wrong> i see the dexed component but it will not show up in the daw.
if you can get this to open i will make a donation.
kind regards jon ryman