Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

[C++] Plugin doesn't show, log says it loads

Community Beginner ,
Oct 09, 2021 Oct 09, 2021

I am trying to build a simple plugin using a cross-platform toolchain (CMake + vcpkg) so I can bring in third party dependencies, and build them on macOS and Windows.

 

Unfortunately, it doesn't load, and no log messages indicate why.

 

Debugging steps:

  0. Analyse DLL (.prmp)  using modern Dependency Walker;

  1. Ensure both static builds and shared builds work successfully

  2. Remove all custom compiler things which could cause issues (rewrote everything but the ExportController itself in C89… including with the stricted compiler flags);

  3. Use same compiler flags as MSVC (reverse engineered from your example project);

  4. Refactor approach so everything but the ExportController is runnable without Premiere Pro, so that testing (& other use-cases) can happen independently (also tested on Linux);

  5. Running with debug symbols the Premiere Pro executable from Visual Studio, clicking through, and nothing relevant appears in the "File->Export" menu once my project is opened;

  6. Checked "%AppData%\Adobe\Premiere Pro\15.0\Plugin Loading.log" which shows:

Loading from root path: C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore

Scanning for the following file types: *.prmp, *.prm, *.dll, *.aex, *.8bf

Begin PluginNameList::AddFolder C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore 11793.9
PluginNameList::AddFilePath - added "C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\samplepp\common.dll" 11794.1
PluginNameList::AddFilePath - added "C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\samplepp\pp-plugin.prmp" 11794.2
PluginNameList::AddFilePath - added "C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\samplepp\versions.dll" 11794.2
PluginNameList::AddFilePath - added "C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\samplepp\zlibd1.dll" 11794.3
Finished PluginNameList::AddFolder C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore 11794.3
Scanning C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore and sub-directories

Loading C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\samplepp\common.dll

The registry tells us to cache so the plugin will be loaded from the cache.

The plugin is marked as Ignore, so it will not be loaded.


Loading C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\samplepp\pp-plugin.prmp


Loading C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\samplepp\versions.dll

The registry tells us to cache so the plugin will be loaded from the cache.

The plugin is marked as Ignore, so it will not be loaded.


Loading C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\samplepp\zlibd1.dll

The registry tells us to cache so the plugin will be loaded from the cache.

The plugin is marked as Ignore, so it will not be loaded.

 

Finally, I cut it down to the bare bones and open-sourced it—to help others and—so you can replicate the setup (e.g., to run it on a debug build of Premiere Pro that isn't public):

https://github.com/SamuelMarks/premiere-pro-cmake-plugin

 

(then copy the built files to your plugin dir, e.g., by running this from your build directory: `md C:\PROGRA~1\Adobe\Common\Plug-ins\7.0\MediaCore\samplepp && fd -edll -x cmd /c "copy {} C:\PROGRA~1\Adobe\Common\Plug-ins\7.0\MediaCore\samplepp"`)

 

Can you please tell me what I'm doing wrong?

 

Thanks

TOPICS
Error or problem , SDK
730
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Adobe Employee , Oct 10, 2021 Oct 10, 2021

As we've discussed before, starting from a working DevStudio sample project, then adding dependencies as needed (and testing after each add), is the right approach.

While it may/should be possible to cobble something together using cmake, doing so is not a supported development path. 

 

[The fact that it's marked as "Ignore" suggests that, in previous launches, PPro has tried and failed to load that .dll]

 

 

Translate
Adobe Employee ,
Oct 10, 2021 Oct 10, 2021

As we've discussed before, starting from a working DevStudio sample project, then adding dependencies as needed (and testing after each add), is the right approach.

While it may/should be possible to cobble something together using cmake, doing so is not a supported development path. 

 

[The fact that it's marked as "Ignore" suggests that, in previous launches, PPro has tried and failed to load that .dll]

 

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 13, 2021 Oct 13, 2021

Yes, but the plugin I wrote is not marked as ignore, only the shared libraries it depends upon:

Loading C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\samplepp\pp-plugin.prmp

 Can you take a look at my build pipeline? - It's open-source and I expect it to be very useful to others that are trying to get started with cross-platform third-party dependent development with Premiere Pro.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Oct 14, 2021 Oct 14, 2021
LATEST

> Can you take a look at my build pipeline?

 

Sorry, I have zero experience with CMake.

 

I've been supporting Premiere (before it was Pro) and AE plug-in partners since 1996; I don't know of any partner being unable to use the provided sample projects, to develop their plug-ins. You're welcome to continue your CMake-based experimentation, but we cannot assist you in those experiments.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines