Lorenzo Angeli

  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Lorenzo Angeli

  1. hehe, that's what comments are for Glad you sorted it ! Cheers. L.
  2. Great, let us know if you find any issue ! Cheers. L.
  3. Hi @Tom Mikota, glad to see you managed to get your head around the query system ! overall to keep in mind: <query>.all() --> return all result or an empty list <query>.one() --> return the result or error if not found <query>.first() --> return the result or None if not found You can find more details in our api documetation Hope it helps. L.
  4. Hi @Tom Mikota it seems the root logger is set to debug somewhere. you can try for now to set this on top of your script: import logging logging.basicConfig(level=logging.INFO) Hope it helps. L.
  5. Hi @Tom Mikota I know well what you are doing as I've been doing this with Ffmpeg before and I can confirm all works as it should. My suggestion is to produce two videos, one prores 4XX for local review purposes and one mp4 for web review. To manually set the video you can use this : http://ftrack-python-api.rtd.ftrack.com/en/stable/example/web_review.html?highlight=upload which won't re encode it . Hope it helps. L
  6. Lorenzo Angeli


    Hi, I've replied at your support ticket. A potential solution is on its way. L.
  7. Lorenzo Angeli


    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: https://learn.foundry.com/nuke/content/timeline_environment/ingest/searching_bins.htm Or on the project settings: https://learn.foundry.com/nuke/content/timeline_environment/conforming/project_settings.html I'll reply to your ticket when I've more news about updates on the code side. Cheers. L.
  8. @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] version.encode_media('c://path/to/PRORESHQ.mov') The remote encoding task finishes successfully and I can play back the video in the component. Hope it helps. L.
  9. Hi @John Su, please have a look in here, by the end you'll find instructions on how to access the logs. Cheers. L.
  10. Lorenzo Angeli


    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. Cheers. L.
  11. No python api session in browser, the information between the desktop (path) and the server will be transmitted through the event system.
  12. Hi @John Su, I'll check this asap. Would you mind sending the logs to support@ftrack.com ? They might contain some sensible information. Cheers. L.
  13. 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. L.
  14. Hi @John Su, sounds strange should work, but I'll double check. out of curiosity what size were these files ? Cheers. L.
  15. 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. L.
  16. Download 1.2.1 What's new Fix QStringListModel compatibility for PySide2 5.9+.
  17. Lorenzo Angeli


    Download 2.2.2 What's new Changed: Replace QtExt with QtPy to support latest pyside2 How to install stop ftrack-connect-package remove previous nuke studio plugin from : <ftrack-connect-package>/resource/connect-standard-plugins/ download and uncompress the new version in : <ftrack-connect-package>/resource/connect-standard-plugins/ restart ftrack-connect-package
  18. Download 0.4.2 What's new Fix QStringListModel compatibility for PySide2 5.9+. Known issues Instability still present in max 2020 , currently under investigation.
  19. HI @Jakub Trllo, >> I hope this issue is not caused because we don't have newest ftrack_api version I've been checking this with the one of latest api (1.8.0), but I would expect the same behaviour from previous versions too. If you suspect is an api version issue please let me know what version are you using so I can try to replicate. >> Api do not return `None` if default value is set  Setting the default value on the custom attribute indeed override the None if the value is not set, that's what is for. >> If value is not set, `None` should be returned If you want it to return None, you simply have to leave the default value empty, tested now and seems to be working as expected. >> [....] if all parents don't have set that custom attribute's value then default should be returned like values in web app. On checking the previous hierarchy item, that's something I'd leave to the coder to implement as custom logic , rather than providing it by default (as it might cause confusion) Hope it helps! L.
  20. Hi @Jakub Trllo the only thing which might be happening is a bit of slowdown, but this won't impact the robustness of the overall system. If there's any doubt let us know. Cheers. L.
  21. Hi @Jakub Trllo, look like you hit a genuine bug there ! Thanks for reporting, we will soon start looking into it. For now though you can use this workaround (see the session.reset() before the last commit) task = session.query('Task').first() user = session.query('User').first() # This will work as expected task.create_note('Note 1', user) session.commit() task.create_note('Note 2', user) session.commit() note3 = task.create_note('Note 3', user) session.commit() note3.create_reply('Reply 1', user) session.commit() task.create_note('Note 4', user) # here is the fix session.reset() # reset the session session.commit() # On this line Hope it helps! L.
  22. @John Su if you want this to be working for everyone, $FTRACK_EVENT_PLUGIN_PATH should be set on each machine , and should be pointing to a shared folder on the network path. If on the other hand you just want to test it by yourself you can drop it in the local plugin folders under a hook folder (please note this applies also on the shared one). If you are still having issues please let us know and we'll try to further help you out. Cheers. L. ps. Best of course is to extend the environment and not to replace it , so something like: FTRACK_EVENT_PLUGIN_PATH=$FTRACK_EVENT_PLUGIN_PATH:/your/central/path
  23. Hi @AlexOddbratt, overall your approach seems right. For general actions though, I'd suggest having a looking into our helper class in there you can find a helper function that might help you out narrowing down the entity type you are after. For what concerns custom attributes I'd suggest having a look a the query projections as might be a good way to speed it up. Hope it helps. L.
  24. Hi @John Su, you don't need to have ftrack connect running to have actions and events. You can run them as simple python scripts (as long as they can access the ftrack-python-api). 1) no it should jut work 2) In here you can find many examples on how to run events and actions as standalone. Hope it helps. L.
  25. Thanks @Michael Habenicht I'll check if there's anything we can do to ease these issues . Cheers. L.