Looking for Development resources


    May 08 2008 | 1:29 pm
    Hey there, after exhausting searches here and on google, I decided to ask. I have "Maxed" out my knowledge of patching and abstraction methods in max/msp, and have found the need to start creating my own externals so that I can move forward in some of my projects. I realize there are documents concerning using java to develop externals in the documentation that comes with max, but I have failed in finding any up to date resources that are based in C/C++ or any other solid ways for mac osx. Is there anyone that can point me in the right direction? Thanks!

    • May 08 2008 | 1:49 pm
      Hi!
      You'll find everything at
      The latest SDK is the 4.6.3, while the latest one with documentation is the 4.5.5. Apart from this, you'll find a lot of useful info at
      And whenever you don't find a proper answer for your questions there, you are welcome to post them to this list. :-)
      Bests, Adam
      P.S. I don't really understand what you mean by 'solid ways'. I think Java is a quite solid/robust language, and in many cases it's much easier to code externals in Java than in C/C++ for Max. So you might have a look on how to create Java-based externals for Max as well...
      Eric Wafford wrote: > Hey there, after exhausting searches here and on google, I decided to ask. I have "Maxed" out my knowledge of patching and abstraction methods in max/msp, and have found the need to start creating my own externals so that I can move forward in some of my projects. I realize there are documents concerning using java to develop externals in the documentation that comes with max, but I have failed in finding any up to date resources that are based in C/C++ or any other solid ways for mac osx. Is there anyone that can point me in the right direction? Thanks! > > >
    • May 08 2008 | 4:30 pm
      by solid ways I just meant all the sources I was turning up on google were either old, poorly documented, or pertaining to depreciated Code Warrior information. I am more then willing to do coding of externals in java, but was under the assumption that the more traditional approach would be to actually use C/C++ and compile a standalone external as apposed to wrapping it in the mxj external. Are externals written in Java any more cpu expensive then a compiled c/c++ external? Are there any advantages/disadvantages to going either route? Trying to figure out which way I would like to go... Thanks for the info!
    • May 09 2008 | 12:57 am
      Hi,
      well, I don't know exactly what you've found on google, but if you followed the links I sent in a previous mail, you'd get everything you needed. There's a file called 'WritingExternals.pdf' in the 4.5.5 SDK, which will describe everything you need to start coding an external in C/C++, and there's a tutorial available where they describe how to set up Xcode to build universal binary externals. Also there were many threads before on this list, which you could find by searching the archieves. However, if you have a Mac and you'd like to use Xcode, the simpliest thing you can do is to copy an example external from the appropriate example folder of the 4.6.3 SDK, and then you can modify the source code as you wish (again, you should read the 'WritingExternals.pdf' to get info about the SDK routines). To be honest, these docs are a bit outdated, and they're a bit messy in some terms, but Cycling '74 pointed out several times that after launching Max 5 they'd give us a new, clean and updated SDK and documentation (imho that would still take some time for them, as now they have to care on many other things as well, like Tiger vs. Leopard issues or the new Max 5). So please be a bit patient. :-)
      For the C/C++/Java issue, I think that basically it doesn't really matter what you choose. Afaik there is not a big performance difference (in some circumstances it might happen that a Java-based external would be more efficient than a C-based one), and you can do basically almost everything with the Java SDK as well (of course, there are many things that weren't ported to Java, so for some special usages you can't really choose, but normally you can). What you really have to note is that the C/C++ SDK is something that was continuously developed for the last 20 years (at least), so although you can do everything with C/C++, the concept how things work is not always very clear (this is a quite normal thing if you consider that Cycling '74 tries to keep the SDK backward-compatible as much as they can), and the whole concept is somewhere between real OO paradigm and 'old-schoolish' pure procedural ideas, while the Java SDK is quite new and uniform (although you can't do everything with it that could be done in a 'traditional' Max/MSP external), and it's fully OO (using Java, you can't choose other ways). I think if you start from scratch it's usually much easier to code an external in Java, but that's not always the case. I usually write C++ and Java externals as well (sometimes also C), and I choose the implementation language just like when I have to choose a language in any other coding task. So if you are familiar with C/C++ and Java as well, you might want to learn both SDKs and then choose the appropriate language from project to project.
      Hope this helps, Adam
      ________________ Siska Ádám +36 (70) 207-63-85 http://www.sadam.hu/
      Eric Wafford wrote: > by solid ways I just meant all the sources I was turning up on google were either old, poorly documented, or pertaining to depreciated Code Warrior information. I am more then willing to do coding of externals in java, but was under the assumption that the more traditional approach would be to actually use C/C++ and compile a standalone external as apposed to wrapping it in the mxj external. Are externals written in Java any more cpu expensive then a compiled c/c++ external? Are there any advantages/disadvantages to going either route? Trying to figure out which way I would like to go... Thanks for the info! > > >
    • May 09 2008 | 2:40 am
      Thank you very much for the explanation. I have a decent understanding of both C++ and Java, and will look into development as suggested. Thanks for the help!
    • May 09 2008 | 11:58 pm
      Quote: psykel wrote on Fri, 09 May 2008 04:40 ---------------------------------------------------- > Thank you very much for the explanation. I have a decent understanding of both C++ and Java, and will look into development as suggested. Thanks for the help! ----------------------------------------------------
      There doesn't happen to be a link between psykel and Psycle, does there?
      Mattijs (a.k.a. Thevider)
    • May 10 2008 | 1:12 am
      Not that I am aware of...
    • May 16 2008 | 5:18 am
      as you can imagine I think most of the developers on this list are busy getting their heads around Max 5 -- perhaps to *best* answer your question there is no single best repository for investigating how to write your own externals in Java or any language for that matter; but i would definitely recommend going to maxobjects because it made an attempt of preserving a tree of different sets of branches and repositories of third party externals. in all major respects, there isn't a huge amount of churn in Max 5 (although C74 can prove that wrong soon) of how to implement and use the API; definitely check that site.
      best -=b=-
      On Fri, May 9, 2008 at 6:12 PM, Eric Wafford wrote: > > Not that I am aware of... >