loading compiled module within bigger architecture


    Nov 13 2006 | 11:08 am
    hi,
    ... getting no answer to previous post, i put the problem again with a little broader idea, as I think such question of building modular stuff is quite in the air... so maybe it'd be good to discuss the right way to go (if any)
    We are developping an application with Max/MSP/Jitter, consisting in a main interface where one can load several synthesizers (audio & video).
    We are now in a phase where we'd like to distribute the soft, and like to distribute compiled stuff to protect the synthesizers' authors' rights.
    A good solution would be to have the main interface compiled, say as a standalone that we could distribute, and being able to add the synthesizers in a special folder, compiled separately from the interface, say as *collectives*.
    Then, the interface should be able to share data (buffer & textures) as well as communicating with the synthesizers.
    I tried the following methods, but had drawbacks with both:
    *1) Synthesizers as abstractions created with thispatcher scripts.* Drawback: this solution seems to force synthesizers to be compiled with the main patch, while we'd like it to be possible for the user to add new synthesizers without recompiling the whole thing.
    *2) Synthesizers loaded with pcontrol.* Drawback: if the synthesizer is compiled as a collective, the # arguments provided with the load message are not taken into account. Thats what we used to use for passing message and identifying various instances of synthesizers. Also, the "shroud" message doesn't seem work with compiled .mxf patch (while it works with .mxt): the loaded collective pop up on the screen, while we's like to be able to open it with a message.
    ...I think using poly could be another solution, but I don't see how to use it with this constraint of separate compilation from the synth...
    Namely, the problem in short are: - How to have a licenced program with plugin-like synthesizers? - How to have a unique ID for the loaded plugins to enable communication among the various module and main patch?
    Can anyone advise on the best method(s) to program such architecture? thanks vg.

    • Nov 18 2006 | 6:34 am
      Vincent Goudard wrote: > Namely, the problem in short are: > - How to have a licenced program with plugin-like synthesizers? > - How to have a unique ID for the loaded plugins to enable > communication among the various module and main patch?
      One way would be to generally use vst's as modules. Any Max patch can be turned into a vst.
      You could also script the collectives, and add the parameters with the script. I think that works...
      Think about the necessity of parameters to loaded modules, you can instead have a receive object for initialisation and simply send your parameters there (this would also apply to vst's)...
      The unique ID is easy: #0_anything....
      Stefan
      -- Stefan Tiedje------------x------- --_____-----------|-------------- --(_|_ ----|-----|-----()------- -- _|_)----|-----()-------------- ----------()--------www.ccmix.com