Forums > Dev

Looking for Development resources

May 8, 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 8, 2008 | 1:49 pm

Hi!

You’ll find everything at

http://www.cycling74.com/downloads/max4

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

http://www.cycling74.com/section/tutorials

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 8, 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 9, 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 9, 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 9, 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…
>


Viewing 8 posts - 1 through 8 (of 8 total)