Skip to content

Conversation

@jakubjezek001
Copy link
Member

@jakubjezek001 jakubjezek001 commented Nov 28, 2025

Changelog Description

In progress

TODO:

  • diferentiate from timeline createor context and other contexts - this way timeline clips creator will not be offered in products for creation. It would not have meaning within Reels context
  • saving marker ayon data on PyClip so it is available for publisher to recognize it during collection
  • add settings for output data rendering for case the clip is not linked to source media
  • publishing context should avoid timeline operations if it is in Reels context
  • extracting rendering to temorary folder for data to be ingested

Testing notes:

in progress

Adds creator plugin for creating plates from selected items.

- Allows users to create plates from within the reel
  browser context.
- Plugin supports 'render' and 'image' types.
- Aims to support multiple selected items.
- Includes future error handling.
@jakubjezek001 jakubjezek001 self-assigned this Nov 28, 2025
@jakubjezek001 jakubjezek001 added sponsored This is directly sponsored by a client or community member type: feature Adding something new and exciting to the product labels Nov 28, 2025
@jakubjezek001 jakubjezek001 changed the title Adds: Creates plate from reel context YN-0079 Publishing arbitrary data from Reels Nov 28, 2025
(api): Adds functions to get and set data markers
on clips, mirroring functionality for segments.

This allows storing and retrieving data associated
with individual clips within a sequence, enhancing
data management and enabling features like
publishing selected clips as products.
Adds a test function to check segment render paths.

The function iterates through shots and segments,
logging each segment's render path for review.
This enhancement aids in debugging render outputs.
Remove deprecated function and references to it.
Adds Create and Publish tools to the AYON menu, and renumbers the
existing menu items to account for the additions.
Convert the plate creator to inherit from FlameCreator and follow the
new creator pattern.
The flame module is not used in this file.
The 'Create' and 'Publish' items were added back to the universal menu,
and the remaining menu items were reordered.
Update creator identifiers to reflect the new naming scheme.
The generic 'FlameCreator' class has been renamed to
'FlameEditorialCreator' to better reflect its specific use case. A new
'FlameReelCreator' class has been introduced to handle reel-level
creation tasks. The plate creator now inherits from this new
ReelCreator. Additionally, `get_clips_in_reels` now accepts `selected`
kwarg.
These methods are intended to be class methods so they should be
decorated to reflect this.

Also move the disabling logic for the create shot plugin into
`apply_settings` from `validate`.
The create plugins `Create Plate` and `Create Shot Clip` were not
disabling when a selection was made that contained invalid objects. This
commit ensures that the `enabled` attribute is correctly set to `False`
on the class, not the instance of the plugin.
The plugin was incorrectly checking for `flame.PySequence` instead of
`flame.PySegment` when determining if the creator was enabled in a
sequence timeline context.
The context is used to determine whether the create plugins should be
enabled or not.

It is stored in the CTX class and passed to the callback function when
the action is called.
This change ensures that older creator identifiers for shots, plates,
and audio are mapped to the new editorial identifiers. This allows older
instances to continue working with the updated system.
The creator would fail to find instances when the old identifier was
used as the new identifiers were not checked.
The original code was using a hardcoded value instead of the calculated
`product_name` for the created instance. This commit corrects this
issue.
Updates clip data marker logic to update existing marker if one exists.
The `imprint` function now supports imprinting data on `flame.PyClip`
objects in addition to `flame.PySegment` objects. This allows for
storing AYON data directly on clips within the Flame timeline.
Accessing `clip.duration` or `clip.start_frame` directly would result in
TypeErrors in Flame versions that now require using the `.frame`
attribute. This commit ensures compatibility across different Flame
versions.
Fixes an issue where data markers were not being created in the correct
position due to the use of relative frame values. The code now uses
absolute frame values, ensuring that the markers are created at the
intended location.
PyClip is not serializable, so it must be removed before pushing
clip_data to the publish.
Markers without curly braces are not JSON markers, so skip them.
If a marker's comment is empty, the script now defaults to "{}" to
prevent errors during formatting.
The 'PySegment' attribute cannot be serialized and is unnecessary.
Segment object was not being passed to data marker functions, leading to
incorrect behavior when trying to set or get clip data markers.
This commit fixes an issue where `get_clip_data_marker` was incorrectly
using `get_segment_data_marker`. It now retrieves the correct segment
from the clip's versions and tracks.
Create instance per selected clip to avoid clashing product names.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sponsored This is directly sponsored by a client or community member type: feature Adding something new and exciting to the product

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants