0

How to install compiled plug-ins for Rv

Hi, I have compiled the example c++ files(linux) under /src/mio_moovee_sample using the default Make file, I got 2 .o files: init.o and MooVeePlugin.o but I'm not sure how I can let RV load them, I've tried to add them under Modes to make a rvpkg out of them but it'll treat them as python files, can you give me some steps on how to do this? and if it is successful, how do I know? will I be able to see new options under Preferences>Formats? Thanks.

-Tao

5 comments

  • 0
    Avatar
    (Michael) Kessler

    Hi Tao,

     

    If you use the included Makefile, there is an install target that should move the required files into place.  You should be able to use `make install` to put the MooVeePlugin into place and run makeMovieIOformats which will do the appropriate accounting for the plugin to register it properly.

    There's no interactive UI for movie plugin install, but the install target in your Makefile should do the job.

     

    -Kessler

  • 0
    Avatar
    Piotr Barejko

    Hi Michael,

    Thank you for the answer, 

    We had a look into Makefile distributed with RV examples. Unfortunately, copying a DSO into plugins/MovieFormats is not a suitable solution for our pipeline. We would like to have a flexibility to dynamically change what plugins are visible for RV. Is there RV's environment variable that is being used to scan directories with DSO plugins that don't reside in RV install directory? 

    The best solution for us would be to keep third party plugins in separated directory and manage their visibility through environment variable that contains a list of directories.

    Thank you,

    Piotr Barejko

  • 0
    Avatar
    (Michael) Kessler

    Hi Piotr,

     

    Thanks, I understand that you want more flexibility over this.  The plugins/MovieFormats is included on the RV_SUPPORT_PATH.  While this doesn't give you an interactive way to enable/disable certain image plugins that you write, you can still have control over which ones load by populating that environment variable.

     

    The workflow would look like this:

    1.  Author and compile your plugin.  Note that you should compile to the specific version of RV to be used with your plugin.

    2.  Make a folder on disk that contains a `MovieFormats` folder and place your shared object from step one into this folder.

    3.  Run makeMovieIOformats from this folder.  It will seek out the local files and generate your movieformats.gto that is needed.

    4.  Before running RV (such as when you set your show environment, etc), set the RV_SUPPORT_PATH.  You can have multiple paths (in the event you need to join multiple plugin paths) together by separating them by `:` (similar to the system PATH variable).  You can find more info on the support path here: http://www.tweaksoftware.com/static/documentation/rv/current/html/rv_manual.html#Packages_Package_Support_Path

    Once you've done that, you can launch RV utilizing your custom movie plugin without having it directly compiled into the application directories.


    You might be able to get by with packaging these files into an RV package with some hacking here and there, but packages aren't intended for this kind of work and they don't limit versions going forward.  You also wouldn't be able to combine multiple image formats together because the packages won't regenerate the movieformats.gto It would be much safer to create a support path that gets built up in an application wrapper or environment setting that corresponds to the RV version.

     

    Do you think that sort of workflow would work for your situation?

     

    Thanks,

    -Kessler

  • 0
    Avatar
    tao zhang

     

    Thank you Michael, it works so far so good, will get back to you if there are more questions.

    -Tao

  • 0
    Avatar
    (Michael) Kessler

    Excellent!  Have a great weekend!

Please sign in to leave a comment.