Tuesday 3 November 2009

ol.dinsync~ max external

I've uploaded a beta version of a new max external that i made in order to sync drum machines and sequencers that use dinsync, such as the 808, 303, 606 etc to Max.

It works with a suitable audio interface that passes DC, such as most MOTU interfaces. An added bonus is that you can slew the dinsync signal in order to make the drum machine swing.

To do this i had to solder together a cable to go from two 1/4" jack outputs on my MOTU 828 MkII to a dinsync 5 pin din connector. You can find info here about what pins to connect to what: http://www.doepfer.de/faq/gen_faq.htm#Sync

Download it here: (windows and mac, source included)

Monday 2 November 2009

Maxbuild v0-1

When i make an external, i usually duplicate an existing one. I got really tired of going through and doing find and replace in multiple files for Xcode and Visual Studio, so i decided to make a bash script and folder layout (with template projects) to automate the process.

To duplicate a project you simply have to open a terminal window, cd to your max external projects folder and type:

sh duplicate.sh [inputprojectname] [outputprojectname]


oliver-larkins-macbook-pro-15:maxbuild oli$ sh duplicate.sh mb.msp~ ol.mynewmspexternal~

The script copies your project and then goes through all the files and substitutes the old project name for the new one you specify, both in the file name and inside the files. When making changes inside the c or cpp files, the class/function/struct names etc. are substituted but tildes and dots are removed where they would cause problems for the compiler. It includes the following template externals, which have VS2008 express and Xcode 3.1 projects:

  • mb.max - a basic vanila max external
  • mb.maxobex - a basic max object with obex for pattr/attribute functionality
  • mb.maxcpp - a basic c++ max external (with obex)
  • mb.msp~ a basic vanilla msp external
  • mb.mspobex~ a basic msp object with obex for pattr/attribute functionality
  • mb.mspcpp~ a basic c++ msp external (with obex)
Thanks to Graham Wakefield for the C++ templates.

I develop Max externals first on OSX, so it made sense to do the script in bash. I expect you could do a similar thing in Windows too, maybe using cygwin or something similar.

there's a readme with instructions. At the moment this is set up for the MaxUB sdk (4.6). I will add support for the 5.x sdk in the next version.