Jump to: Board index » General » Fusion

Fusion 8 external Python scripting stumbling blocks

Learn about 3D compositing, animation, broadcast design and VFX workflows.
  • Author
  • Message
Offline

Mike Aquino

  • Posts: 5
  • Joined: Thu Jun 23, 2016 2:19 pm

Fusion 8 external Python scripting stumbling blocks

PostThu Jun 23, 2016 10:28 pm

Hi all,

I've done previous external python scripting for Fusion pipeline integration, but that was a while ago and was with Fusion 6.x ... where I did something like this:

Code: Select all
    import PeyeonScript as eyeon
    fusion = eyeon.scriptapp("Fusion")
    comp = fusion.NewComp()
    # ...


I'm now tasked with Fusion pipeline integration, but with Fusion 8 ... and I'm hitting stumbling blocks with trying to create similar external python script interaction with a running Fusion instance.

From the little information available, I understand that the PeyeonScript module functionality is now built in to the Fusion 8 install and is supposed to be accessed through a BlackmagicFusion python module, as per a recent post on this forum:

This is installed by the Fusion Studio installer, assuming Python is already present.

However the module is now called 'BlackmagicFusion'

eg:

import BlackmagicFusion as bmd

Any python (or otherwise) scripts executed with fuscript exe directly, as opposed to python exe, will already have this loaded.

Love, Light and Peace,
- Peter Loveday


So, I tried that and python was not able to find that module. I looked in the Python 2.7 install area in its Lib\site-packages area and couldn't find any such module. I also looked around in the Fusion 8 Program Files install area and was not able to find any path that I could add to the PYTHONPATH that would allow me to import the module.

I then tried running python via "FuScript.exe", using the "-l python2" option. A script run this way will have a "bmd" module available, and that module has a function ".scriptapp()" ... so I tried this:

Code: Select all
    fusion = bmd.scriptapp("Fusion")
    print( fusion )  # this outputs: None


... but that just gave me a fusion object of None. So progress stops there.

And Fusion is running on my Desktop ... executing "bmd.pinghosts()" returned information that indicated that a running Fusion instance was found.

Has anyone successfully run an external python script that connects and interacts with a running Fusion 8 instance? Is this functionality only part of the paid "Studio" version of Fusion 8?

Any assistance or insight would be greatly appreciated ... many thanks!
Offline
User avatar

Peter Loveday

Blackmagic Design

  • Posts: 24
  • Joined: Tue Sep 30, 2014 6:23 am

Re: Fusion 8 external Python scripting stumbling blocks

PostFri Jun 24, 2016 1:03 am

Yes, external scripting (python or otherwise) is a Studio feature, and only the studio installer will add the python module (as it will not work with the non-studio version)
Love, Light and Peace,
- Peter Loveday
Offline

Haryanto

Blackmagic Design

  • Posts: 33
  • Joined: Thu Oct 08, 2015 2:21 am

Re: Fusion 8 external Python scripting stumbling blocks

PostFri Jun 24, 2016 2:36 am

External scripting should be "Studio" only.

but scripting from within Fusion itself (in Console) should be working fine for both free & studio versions.
Offline

Mike Aquino

  • Posts: 5
  • Joined: Thu Jun 23, 2016 2:19 pm

Re: Fusion 8 external Python scripting stumbling blocks

PostFri Jun 24, 2016 4:08 pm

Great, much thanks for confirming that external scripting is a Studio version feature.

My client will be obtaining some licenses of Fusion 8 Studio shortly that I'll be able to continue my tools R&D with.

Thanks for the help!

Return to Fusion

Who is online

Users browsing this forum: bentheanimator and 42 guests