Skip to main content
Participating Frequently
January 16, 2025
Answered

share arb data between plugins

  • January 16, 2025
  • 1 reply
  • 487 views

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

Correct answer shachar carmi

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.

1 reply

Community Expert
January 16, 2025

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.

Participating Frequently
January 16, 2025

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

shachar carmiCommunity ExpertCorrect answer
Community Expert
January 17, 2025

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.