Excluding third-party objects from dependency list

Bernt Isak's icon

I'm trying to freeze a patch for sharing, but since I'm using the csound~ external the patch is no longer platform independent which sort of defeats the whole purpose of freezing to share. Is there a way to exclude csound~ (or other third party objects for that matter) from the dependency list keeping the patch platform independent and rather distributing the external alongside the frozen patch?

11OLSEN's icon

i would say it makes no sense to share the external outside the patch if your patch looks
for that external anyway. you can detect inside a patch on which platform
you are and this way make the patch cross-platform if you find an external
doing the same on the other platform. if you understand what i mean..

Bernt Isak's icon

if you understand what i mean..

I'm not shure I do. My patch do check what system it's on, but how can I use that to change which external to use? Can I freeze both the Max and Windows version of csound~ (or any other external for that matter) with the patch?

11OLSEN's icon

i always thought it could work like that but i think it was wrong to believe that. i'm not even able to install a mac external on my windows system.
sorry for misinformation. i think you will have to create 2 versions of your device. would be nice if someone coulds chime in to confirm this.

jvkr's icon

You might try something with scripted instantiation (and removal) of the object. In this way you can control over whether the object is there on the moment of freezing. It would require that the user has the object installed. For scripting you need the thispatcher object.

Bernt Isak's icon

Hmm, ok. I've did quick test and it seems quite straight forward to do as you suggest, but does is really solve anything? To me it seems like this would be the same result as if I where to move the csound~ out of the max search path temporarily and then freeze the patch (the csound~ then reporting as missing in the dependency list). But maybe I'm missing something.