Skip to main content
Participating Frequently
August 24, 2015
Question

Hybrid plugin - where is PlugPlug

  • August 24, 2015
  • 2 replies
  • 3259 views

I am guessing Adobe is pushing towards using HTML5 instead of native OS-dependant code, which would be fine if the tools wouldn't be so awkward, but whatever.

If I am to use HTML5, where exactly is PlugPlug? It's mentioned all over the place, yet seems to be accessible nowhere.

I need to communicate between the HTML5 UI and my C++ plugin.

This topic has been closed for replies.

2 replies

Bruce Bullis
Community Manager
Community Manager
May 28, 2019

I am guessing Adobe is pushing towards using HTML5 instead of native OS-dependant code...

From where do you perceive any such 'push'? Different APIs are available, to deal with different parts of the application's object model(s).

Participating Frequently
May 28, 2019

bbb_999 I don't see how that is relevant here. Instead, could you say something about the questions at hand?

Bruce Bullis
Community Manager
Community Manager
May 28, 2019

I don't see how that is relevant here.

See first line, of original post.

Instead, could you say something about the questions at hand?

Justin is right.

Here's an example of a PPro panel's ExtendScript sending a message, and that same panel's JavaScript responding to the message. I'm told the Illustrator C++ SDK contains similar message-listening code.

Participating Frequently
May 26, 2019

I have the same question. There is the FreeGrid example in the Illustrator SDK which uses the PlugPlug library, but the header files used there seem Illustrator specific. Can anyone help?

Justin Taylor-Hyper Brew
Community Expert
Community Expert
May 27, 2019

PlugPlug is included with the install of Adobe Apps, you can require it in Extendscript like so:

            try {

                var xLib = new ExternalObject("lib:\PlugPlugExternalObject");

            } catch (e) {

                alert(e);

            }

            if (xLib) {

                var eventObj = new CSXSEvent();

                eventObj.type = 'myType';

                eventObj.data = 'myData';

                eventObj.dispatch();

            }

I know you can also write your own ExternalObject libraries and access them the same way, but I haven't had a chance to look into that yet. bbb_999​ would know where to find examples on that.

Participating Frequently
May 27, 2019

The OP's and my question does not relate to ExtendScript, but how to send CSXSEvents from a Plugin, e.g. an AEGP, to a HTML5 Panel provided by a CEP. In the Illustrator SDK we can find an example, FreeGrid, that does just that for an Illustrator plugin written in C++. But this cannot be transfered to After Effects, as the headers provided with the Illustrator SDK rely on Illustrator specific types and classes.