Lorenzo Angeli

  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by Lorenzo Angeli

  1. Hi @Tom Mikota, although we allow to take control the versioning system this is something I would highly discourage of doing  if not for extreme and well planned cases,
    as it would risk to compromise your versions consistency. Is always better let have ftrack come up with the right version at publish time.
    (more than one user could be in the process of publishing the same version , hitting a conflict !) .

    If you want go ahead anyhow here is a little snippet for you to use (again please be careful), to publish a new version under a shot:

    import ftrack_api
    s = ftrack_api.Session()
    asset = s.query('Asset').first()
    shot = asset['parent']
    status = s.query('Status').first()
    version = s.create('AssetVersion', {
        'asset': asset,
        'status': status,
        'comment': 'Added more leaves.',
        'task': shot,
        'version': 1000


  2. Hi @John Su

    the environment variables (guess we are still referring to FTRACK_EVENT_PLUGIN_PATH ) is only handled locally by the session object of the api, and does have nothing to do with the path resolution itself.
    This environment variable will tell the local event hub where to pick the plugins from.
    One of this plugin is the resolved which , once loaded, will respond to an event emitted from the server, returning the resolved path.

    >> but in this case ftrack-python-api doesn't get chance to do the work

    I'm not sure I'm getting this.... 
    The ftrack-python-api (session) are used as part of the resolved itself, to return the resolved path to the server.

    If you need more information on how the session and the event hub works I'd suggest digging into our docs :



  3. Hi @John Su ,

    The web browser obviously does not know nothing about your local environment variables.

    These are used only from ftrack session (ftrack-python-api) and ftrack connect to discover their plugins.
    The resolution server side is done through the ftrack event system which will instruct the server (through the socket) on how to handle the final path rendered in the ui.

    Hope it helps.

  4. Hi @guiramalho, I'm in the process of checking if there's any better way of doing the frame extraction, but what you are seeing are the default settings used by Hiero for the PosterFrame (which is what we are currently using internally)

    There are various ways you can define which frame to be used for now, either on the source clips: 

    Or on the project settings:

    I'll reply to your ticket when I've more news about updates on the code side.


  5. @John Su,
    I've finished off testing now the remote encoding using as example a file (ProRes HQ 422 ) I downloaded from here

    the encode has been done with the following code:

    import ftrack_api
    session = ftrack_api.Session()
    version = session.query('AssetVersion').all()[-1] 

    The remote encoding task finishes successfully and I can play back the video in the component.

    Hope it helps.

  6. Hi @guiramalho , this seems to be a file from the nuke studio integration .
    The code for the thumbnail in there is quite simple and pick the mid frame, 
    please feel free to drop an email to support with suggestions on how it should behave and we'll be looking into it.


  7. The environment variable will tell the session object where to pick up its plugins (the resolve in this case).
    The resolve will then submit to the server the information on how to represent the component path through the event I've been linking you previously.
    Hope it makes more sense this way.

  8. Hi @John Su, you can find some more information about the plugin ftrack environment paths here
    Overall though the env does not have to be known by the server as is up to the session object to discover it and put it to the use.

    The resolve scripts uses the ftrack events to notify the server about the resolved path of the component .
    ftrack event system is quite powerful and I'd suggest digging deeper looking in here.
    You can also find more examples on how to use events in our recipes repository.

    Hope it helps.

  9. Download 2.2.2

    What's new

    • Changed: Replace QtExt with QtPy to support latest pyside2

    How to install

    1. stop ftrack-connect-package
    2. remove previous nuke studio plugin from : 
    3. download and uncompress the new version in :
    4. restart ftrack-connect-package