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

    Feb 18 2010 | 1:04 pm
    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 | 3:30 pm
      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 | 3:52 pm
      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 | 11:02 pm
      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 | 12:36 pm
      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 04 2010 | 11:57 pm
      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.