Reloading MXO's in MAX5. "delete – undo" doesn't reload the object.

Feb 18, 2010 at 1:04pm

Reloading MXO's in MAX5. "delete – undo" doesn't reload the object.

I am trying to develop c-externals in xcode. I can compile them and use them in max 5, but if I change my c-code and compile it, I need to restart MAX5 entirely before the changed MXO-object is loaded into Max5. If i just use delete-undo (as I have done with java-development) the old object is loaded. This is also the case if I delete and create a new instance.

Is this really how it works. Or can it be worked around. It is very difficult developing (and learning) when you cannot test the object in a faster way.

Anyone having the same problem – or even better: a solution?


Feb 18, 2010 at 3:30pm

This is really how it works.

Now just imagine if you were developing an object 10 years ago on OS 8 or OS 9. When your extern crashed it would often require a complete reboot. So, comparatively, this isn’t so bad…

Feb 18, 2010 at 3:52pm

Last time I did an external (a too long time ago), I gave the newly compiled external a new, unique name, like myExternal023 and could instantiate it once I double-clicked on it.

With XCode, I’m not even sure I would find where to edit this name ;-)

I think Peter Castine (Peter, where are you?) once wrote on the mailing list he had another, of course more handy, technique, but I don’t remember which one…


Feb 26, 2010 at 11:02pm

I used the myExternal023, myExternal024 etc technique in codewarrior but the external name is embedded in so many places that this technique is difficult via Xcode. Xcode can launch Max and be forced to load a patch though…

Feb 27, 2010 at 12:36pm

Actually I use $TARGET_NAME in the Info.plist file, and product name settings etc. so that I can recompile the external with a new name by only changing the target name. I don’t use it for this purpose, but it saves me a lot of hassle….


Mar 4, 2010 at 11:57pm

Actually I tend to set the $TARGET_NAME to $PROJECT_NAME too so I can just rename the .xcodeproj (since most of my Max object projects are single-target).

… need to be careful to set the identifier in the Info.plist using (e.g.)${PROJECT_NAME:identifier} to escape any non-safe chars in the identifier.


You must be logged in to reply to this topic.