Kyno is now owned by Signiant, Inc. Signiant’s EULA for Kyno will apply to new licenses as well as to Kyno support services and updates that we may provide. In addition, Signiant’s global privacy policy will apply in each case where Signiant’s EULA for Kyno applies, as well as to any communications with us about Kyno. Read the full announcement.
Start a new topic

Trigger external script

Hi, Have been eyeballing Kyno since its first inception some time ago as a potential candidate to slowly replace my aging MAM. One key feature that stops me from doing that and is vital for a MAM is the ability to trigger a custom action. Typicaly as simple as a preset that triggers a script which can then contain anything . Eg a custom conversion, an sftp to a client or even a complete dcp conversion. Looking at the kyno features the most obvious place an simple addition would be on rightclick to trigger a custom action/preset, where you have defined a custom bash or any other shell script to get triggered. And then Kyno is done. To me (as developer myself) that seems a trivial and simple but extremely powerfull addition to kyno which would allow it to be part of any workflow imaginable. Do you have such a feature already or have it in the pipeline ? Hope to hear from you Regards Glenn

1 person likes this idea

HI Glenn, Thanks for taking the time to send your suggestions. Sounds like an interesting idea, which we've had in a similar way before. Just calling the script sounds simple enough to do, it'd just need some UI to register them so they show up in a list. What kind of input data would you need? The collection of file paths at a minimum, but I presume you'd like some metadata passed along as well?

I know it was just an example, but just to make sure you're aware of it: there is a feature that let's you send files to an FTP/SFTP endpoint already built in to Kyno (Preferences - Transfer)

Best, Thomas

Hi Thomas,

Thx for you reply. Much appreciated.

Indeed my idea would be to add them to the ui (eg or file rightclick or anywhere else) as a list for the custom calls you define. And in these definitions you specify script name and other parameters you want to pass on. The full filepath (as a minimum) + (ideally ) optional metadata/variables.

Calling the script would just be passing a (e.g bash) command line to the OS in full, so including optional hardcoded values and or internal kyno variables you want to pass to the script.

So the call could be for example "/path/to/script/ %FILEPATH RANDOMTXT1 RANDOMTXT2 %VARIABLE1 %VARIABLE2"  

The variables (one of these the full filepath) would be idealy internal KYNO variables that would be filled at submission time. These could be metadata fields for full power.

Davinci Resolve does something like this for example on the EXPORT page, where you can call internal variables and metadata fields using the % sign followed by the parameter name (like %timeline_ %clipname_%reel) and incorporate them for example in the filename logic (like %sourcename_%timeline_ %version_%reelname .

Final Cut Server MAM suite did something similar (expose metadata to the outside world via runtime variables).

But a good starting point would already be to just pass the filepath and hardcoded text field , or even just only the filepath.  I wrote some code for fileprocessing in the past on similar simple pipeline interfaces that uses e.g. the mediainfo commandline tool to extract extra info from the file if the only thing passed is filepath.

p.s. Did read that you recently added the SFTP solution. Good and valuable addition for automated delivery workflows.  I think you guys are so close as the rest of the interface and workflow looks pretty good since its first inception. Its making your tool suitable to be included in crazy custom pipelines that could be the deciding factor. Any pipeline will include some for of custom scripting , so adding a feature , however simple or barebones will be a godsent.

p.s. As i am not (yet) a kyno user , i missed that you already have use of exposed variables in your program. found this

That could be a great and relatively easy start already so basic script path (to execute) and (existing) variable(s) to pass on .

The scope of available variable can then later be extended to include all other kinds of metadata of course.

Login or Signup to post a comment