Toon Boom Harmony | Shotgun Toolkit Engine Released

Hi, Thanks for the awesome guide.

I followed all the step, tank cache_app all shows OK. shotgrid console debug mode doesnt show any error. I open the Harmony from shotgrid successfully.

But I just do not see the shotgun panel

I have looked up everywhere to troubleshot but no success. any pointer would be grateful.

Hey @Diego_Garcia_Huerta,

Thanks so much for all of the integrations youā€™ve created! I notice in the tk-blender docs an image with a tk-storyboardpro integration, though I donā€™t see it in your github. Have you created a Storyboard Pro engine?

Hi @stavernia ,

I indeed have an engine for story board pro, but was developed for a client so I cannot share the code with the community. Iā€™ve been thinking of re-writing it from scratch but unfortunately I havenā€™t found the time for this to happen for now.

Cheers

  • Diego
2 Likes

Hi @Diego_Garcia_Huerta

We have been having difficulty installing your Harmony Engine on our systems. We have been looking everywhere and trying to contact you. Would you be able to give a few pointer so we are on the right track?

Please contact me at jshih@portfolio-ent.com
or let me know where to contact you.

Thanks.

Hi @jshih ,

It should be some error in the shotgun logs that could give us more clues. I would start by checking the log folder, to see if there is anything in the log that indicates something is missing:

Another thing might happen is that the version you are running is not taken into account when t comes to copying the scripts at start-up time (this is what creates the new Shotgun menu). This function takes care of copying the scripts, it depends of the version/product you are running, ie. Harmony Premium, Harmony Advanced, is it a beta ? etcā€¦

I would check the about to see what product it is and where it is installed in the filesystem.

Hope this helps,

Cheers,

  • Diego

Hi all!

@Diego_Garcia_Huerta thanks for your efforts getting this up and running way back when. I dived in over the last few days trying to get this to work, but as time and software updates would have it, I doubt this is going to work with the latest versions of Harmony (22.x+).

Since the time when @Diego_Garcia_Huerta developed this (Harmony 16.0), Toon Boom has integrated a python scripting api-- which is great! The need for the whole client/server TCP connection in tk-harmony should be gone I hope, since I could not get it to work.

Iā€™ve been trying to hack this to get it running. I managed to change some values in tk-harmony/startup.py and tk-harmony/startup/bootstrap.py to get the app launcher to show and sgtk to be available-- some of that might need updating due to changes from Toon Boomā€™s end, but there seems to be a bigger problem.

Harmony 22 is bundling PySide6/Qt6, so any GUI stuff that SGTK tries to do (using PySide2/Qt5) causes the main application to hard-crash. Not surprising really. Iā€™m thinking of trying to rewrite this engine using the new Harmony Python API, and writing some lightweight apps to handle the things that tk-multi-workfiles2, tk-multi-loader, and tk-multi-publish2 would normally be used for, because our Studio is hoping to have Harmony integration sooner than later.

I wonder if there is a clear timeline on when SG will be offering support for PySide6? The VFX Reference Platform would indicate some time between now and the end of 2024? Iā€™ll probably try to update the engine to make sure it works anyway, but PySide6 is a major blocker when it comes to taking advantage of the standard SGTK apps.

Any thoughts?

PySide6/Qt6 should be supported in tk-core v0.20.22 via this commit: SG-30534: First step to supporting PySide6 (#898) Ā· shotgunsoftware/tk-core@07e0d88 Ā· GitHub though not sure what else is missing to make this fully functional.

Hi @Halil, Iā€™ve downloaded the latest tk-core via GitHub and tried from tank.platform.qt6 import QtCore and I get ModuleNotFoundError: No module named 'tank.platform.qt6'. Is that expected to work?

Edit: It seemed the dev descriptor for tk-core wasnā€™t actually setting the core location for my pipeline config for some reason-- it was still pointing to the core cached from the app store, but I updated the version of tk-core to v0.20.22 and now I get a different error

from tank.platform.qt6 import QtCore
Traceback (most recent call last):
  File "C:\Program Files\Shotgun\Resources\Desktop\Python\bundle_cache\app_store\tk-multi-pythonconsole\v1.3.1\python\app\input_widget.py", line 246, in execute
    exec(python_code, self._locals, self._locals)
  File "python input", line 5, in <module>
ImportError: cannot import name 'QtCore' from 'tank.platform.qt6' (C:\Users\dashielb\AppData\Roaming\Shotgun\shadowmachine\p418c865.basic.desktop\cfg\install\core\python\tank\platform\qt6\__init__.py)

This happens in both tk-desktopā€™s python console and inside Harmonyā€™s python script editor. Not sure what the problem isā€¦ maybe some kind of version mismatch. Or perhaps tank.platform.qt6 isnā€™t fully hooked up yet.

With a bunch of hacks to the tk-harmony engine, including importing the modules from PySide6 instead of sgtk.platform.qt*, with the latest version of tk-core, Iā€™m able to get the Toolkit app dialogs to show up without crashing Harmony! Thanks for the nudge @Halil .

2 Likes

The comment of the commit message ā€œFirst step to supporting PySide6ā€ was a bit dubious to be honest, but I guess there is more work to come. Glad you were able to move things along.

2 Likes

Hi everyone,

It has been a long time since I posted last, but I have indeed been working on a python version of the engine for Harmony 22 for quite a while.

I was actually in the middle of handling the conversion of the Qt6 classes when I saw that initial commit in tk_core that @Halil mentions. At this point and with that commit, I think I have a functional engine with all the default tk apps supported but it does need proper testing.

Once the Qt6 commits to tk core (and other tk apps) are released, I will consider making the repo public. Until then, I reckon since it is not that easy for people to set it up in a production environment without having to hack things around (have your own dev version of each framework/tk apps), Iā€™m not ready to provide support for it.

As always, since Iā€™m doing this in my free time, I keep working on it from time to time only.
In the meantime, @Dashielb if you are interested , I would be happy to give you private access to the repo, that way you can give it a go and contribute if you want.

Cheers

  • Diego
3 Likes

Hi Diego!

Awesome if you could share access. My github handle is dashielb1010.

Iā€™d be happy to contribute and test the engine. Iā€™ll be trying to get this working for both Windows and MacOS.

Cheers,
-Dashiel

1 Like