OpenTimelineIO icon indicating copy to clipboard operation
OpenTimelineIO copied to clipboard

Build time external adaptor inclusion.

Open alatdneg opened this issue 7 years ago • 3 comments

Hi, can I request a method of adding external adaptors, currently there doesn't seem to be a nice way of doing this with out adding my code to the contrib adaptors tree and updating the manifest.

Or by using the environment variable, I'd rather not have to globally add a new env var just to support this, I suspect that overrides the contribs/adaptors anyway ?.

I was thinking of some build time flag/config that can bake in an additional path for private adaptors.

cheers

alatdneg avatar Sep 03 '18 08:09 alatdneg

@alatdneg out of curiosity, would this solution work for you? It isn't what you're asking for exactly, but depending on if your studio uses pip or not, it might work:

https://github.com/PixarAnimationStudios/OpenTimelineIO/wiki/How-to-Write-an-OpenTimelineIO-Adapter#packaging-and-sharing-custom-adapters

Just to clarify, this is a way of adding external plugins without the environment variable or directly changing the manifest. But it is not a build-time step.

ssteinbach avatar Sep 04 '18 06:09 ssteinbach

There's currently three ways to add adapters:

  • Use OTIO_PLUGIN_MANIFEST_PATH with a colon-separated list of places to search (typically, yours + contrib + builtin)
  • Modify contrib_adapters.plugin_manifest.json
  • Use the pip method that @ssteinbach linked above.

In our internal deployments, we use all three - mostly the OTIO_PLUGIN_MANIFEST_PATH, and the pip method. However, in our main deployment, we case wrap opentimelineio in another module pixar.opentimelineio that does the required setup and then from opentimelineio import * to pull in all the symbols. That gives us the ability to add adapters, media_linker and a couple of other convenience methods to the module.

If none of those work for you, can you suggest something specific that would meet your needs? I'm not clear on the constraints you have.

jminor avatar Sep 07 '18 18:09 jminor

@alatdneg Did we manage to get you a suitable solution for this? Since we last checked in, this repo was created to make the pip method of making an adapter as a pip-installable plugin - that may also be helpful.

reinecke avatar Jul 13 '22 06:07 reinecke

We believe this was resolved some time ago. If not, please re-open.

jminor avatar Jun 09 '23 19:06 jminor