Tweening with Tweener! A python based solution - 2021-12-27 18:30

Thanks Jason. It’s a great op you’ve created, so it’s worth bullet-proofing.

Turns out there’s an elegantly simple self-referential solution: Find your tween in self.TweenItems and set theTween[5] = 0, forcing the endTime to less than current time, thus naturally ending the tween onFrameStart while continuing any chaining via onComplete.

So far, this seems to meet the need for me.

:smiley:

1 Like

perfect! Likely how I would have solved it as well.

Hey @amazingrobot,
First, thank you for the TOX! It has been very helpful for multiple projects.

I made some adjustments to fix a few issues:
Tweener_v1.3.4.tox (17.3 KB)

Adjustments :

  • _path_trace issue : Fixed the 1.2 op path error by correcting the _path_trace method (as @horristic suggested) and adding aroot exception (the issue @Achim mentioned). This was done by modifying path = '/'.join(path) to path = '/'.join(path) or '/' to handle empty paths correctly.

  • op reference inside the comp : Replaced global shortcuts with parent shortcuts for op references. This allows multiple Tweener comps (e.g., if implemented in different TOX files) to coexist in the same project without conflicts.

  • Error on a running tween for a removed op: In my project, some tweens were running on comps created by a replicate comp, which could disappear at any time. Even though I was killing the tween when the comp disappeared, errors could still occur due to sync issues. To fix this, I added a check every frame to verify if the operator still exists before executing the tween command. If it doesn’t, the specific tween is killed.

  • Tween Items Table: Added a DAT table displaying all running tweens from the TweenItems list.

Next Adjustments I want to make :

  • Improve the TweenItems Visualizer: Add a List COMP to enhance the UI, along with a “Kill Tween” button and a button to jump to the specific operator, similar to Matthew Ragan’s Base Save tox
  • Kill previous tween when a new one modifies the same parameter on the same operator.

Wow, Thanks so much for putting the time in to improve this! I will get your changes and notes added to the page. I have been meaning to get this added to github. When I get that done I give you access.

1 Like