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 : https://github.com/olilarkin/maxbuild

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 https://github.com/grrrwaaa/maxcpp; 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~)

Wednesday, June 18, 2014

Exitixe : a sonic enhancement

Ever heard of the BBE Sonic Maximizer ? Love it and/or hate it, with some old badly recorded mix, it can do very impressive things. No it is not only an EQ, it tries to phase the high harmonics (with harmonic distortion) with the lows : there is a lot a speculation about what it does here. It is my favorite mastering swiss knife.

Reading about this sonic thing; I've came to another excellent thread: http://forum.cockos.com/showthread.php?t=91439 Bottom line, it's about a reversed engineered version of a BBE 482i; so you get a little bit more insight on what the BBE process does. Liteon (a Reaper user that already have a bunch of fx into vanilla Reaper) actually did a great implementation of this effect in JSFX.

I've liked it so much that I have made a "personal" VST multi platform version. Also come with a fugly interface with "wood pattern"; just like the plugins in the 90's. The knobs are by AZ.


The code is also fugly (the plugin wrapper) but the DSP algorithm of Liteon is pretty impressive. Try it !

Source Windows OS X