-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Toon Boom Harmony Integration #527
Comments
One of the issues with Harmony is the management of workfiles. A Harmony scene file is not a single file, but a folder of files and subfolders. Read/writing lots of small files from the network has been reported as slow and taxing for the network. A possible solution could be to wrap the scene folder up as a zip file. When using the workfiles app, we could manage this so in a project folder there are only zip files, but these get unpacked locally. |
Harmony has groups; https://docs.toonboom.com/help/harmony-16/essentials/layers/group-layers.html, so could possibly follow the #516 for creating instances. |
Harmony has a global scripts environment variable; https://docs.toonboom.com/help/harmony-16/essentials/scripting/store-script-custom-folder.html |
Interesting integration with Shotgun; https://github.com/diegogarciahuerta/tk-harmony |
Functions in |
Think I have a two way communication planned out now:
This makes the communication standardized and you only have to understand either Qt Script (Javascript) or Python to know what is happening. |
Workfiles The Workfiles app and workio code proved tricky and showed where the framework was failing. I ended up on a framework that looks similar to how pyblish-qml works:
The server communicates over a single connection, same as in the previous post. The main difference from previous post, is that the server is threaded so communication with Harmony is still valid when the main thread is busy with for example showing a GUI. Another issue was with how Harmony opens scenes. I'm still querying this with support but it seems like you can only open a new scene by launching a new process. To make this work with the Workfiles I'm killing the Toon Boom process and the server thread, then starting new ones. |
Forgot to mention that I've also "hacked" the Workfiles app so Harmony project folders are saved as zip files on the network. When loading zip workfiles, they get unpacked and opened. |
Saving Because I'm "hacking" the Workfiles app to zip a project directory, I've also needed to have a callback when the user is saving the scene.
The zipping and move (locally) can take as long as the saving, so in order to reduce user impact, we just thread off this so it happens in the background. Create Have opted for Also found out that |
Issue
This is about an Avalon integration for Toon Boom Harmony
This issue is to serve as a discussion for the integration.
Implementation
Harmony uses Qt Script which is a Javascript variant; https://docs.toonboom.com/help/harmony-17/scripting/script/index.html
The text was updated successfully, but these errors were encountered: