I am trying to use the new Review "Play selection in Player (Experimental)", but I can't figure out what information it's using to sort which order the shots play in. It's not shot order, it's not the order it was published and it's not the order I clicked them in. I can't move them around either.
Any help would be greatly appreciated!
hi @Rory here a simple example to translate the entities using the action handler as base class:
from ftrack_action_handler.action import BaseAction
label = 'Test Action'
identifier = 'com.ftrack.test.action'
description = 'Simple test action'
def validate_selection(self, entities, event):
if not entities:
results = self._translate_event(
if not results :
for (entity_type, entity_id) in results:
resolved_entity= self.session.get(entity_type, entity_id)
print resolved_entity, resolved_entity.entity_type
def discover(self, session, entities, event):
return self.validate_selection(entities, event)
def launch(self, session, entities, event):
def register(api_object, **kw):
'''Register hook with provided *api_object*.'''
if not isinstance(api_object, ftrack_api.session.Session):
action = TestAction(api_object)
hope it helps.
There is relatively little in the Connect log as this issue is strictly related to the Adobe plugin installation.
A workaround has been to have an older version of the Adobe software installed so that the plugin will be detected. Adobe should allow you to download a previous version easily.
Please let us know how we can be of more help via your existing Support ticket.
Cheers from Madrid,
Hi @Aaron Powell using the discovery to populate the available applications does not work as it will look into the application store to decide which one to start.
The best option at the time seems to be to override the _getApplicationLauncher as by this example to inject the launchArguments you are after.
long story short this is what you can simply do:
'''Custom launcher to modify environment before launch.'''
def _getApplicationLaunchCommand(self, application, context=None):
command = super(ApplicationLauncher, self)._getApplicationLaunchCommand(application, context)
The issue is in the original _getApplicationLauncher, which extracts the extra launchArguments from the applications but does not take in account the current context.
good news is that we are in the process of reviewing how applications are launched, hence this will be fixed soon.