Copy link to clipboard
Copied
Hi,
I have a 2 plugin of different types (say A and B). both have an arb parameter that consists of a 3x3 matrix (actualy 9 floats). When i try to connect both paramters via the whip tool in AE i get an expression error saying that paramters are of idfferent type.
Is there a way for 2 plugins instances (of different types) to connect through an arb paratmeters knowing that the 2 arb are of the same type ? I dont record a way of naming a type for an ARB (aside from refconPV).
Thank you
you get an effect ref using AEGP_GetLayerEffectByIndex with an AEGP_LayerH and the effect index on that layer.
if you need to consistently identify a specific instance of an effect, that's a lot trickier...
the way i go about it is to put some id in sequence data, and accessing it via AEGP_EffectCallGeneric. but even that is tricky as a duplicated effect will have the same id...
another way to go about it, is to rename some invisible param, but that doesn't survive reloading a project.
Copy link to clipboard
Copied
no way that i know of. AE assumes any 2 different can't be guaranteed to have the same structure and blocks the expression.
if you want to do it on the C side, then AEGP_GetNewStreamValue will allow you to read arb values from other effects.
Copy link to clipboard
Copied
Hi. thank you very much for your answer. I was more or less expecting that behaviour from AE. I like your workaround using AEGP_GetNewStreamValue. But how can the user help plugin B to find plugin A ? In other words, how can in C/C++ code refer to the other plugin ? by name, type .... ? thx
Copy link to clipboard
Copied
you get an effect ref using AEGP_GetLayerEffectByIndex with an AEGP_LayerH and the effect index on that layer.
if you need to consistently identify a specific instance of an effect, that's a lot trickier...
the way i go about it is to put some id in sequence data, and accessing it via AEGP_EffectCallGeneric. but even that is tricky as a duplicated effect will have the same id...
another way to go about it, is to rename some invisible param, but that doesn't survive reloading a project.
Copy link to clipboard
Copied
Thank you again for the ideas. If i get it right, there is no way for a user to specify a specific instance of a plugin toa nother plugin. The closest thing would be for a plugin A to have a layer param from which the user can choose a layer that has a plugin B. then programmatically, we could iterate through layer and look for (let's say) the first instance of plugin B.
Otherwise, is it possible, in C++, to differenciate whether a param is drivven by a whip tool or not ?
thank you very much.
Copy link to clipboard
Copied
you idea of using a layer param for the instance recogntion is excellent! if it suits your needs, then it's awsome!
as for telling whether there's an expresion on a param or not, use: AEGP_GetExpressionState().
Copy link to clipboard
Copied
thank you for everything !!
Find more inspiration, events, and resources on the new Adobe Community
Explore Now