Where can I manually specify the
frames parameter?Right now during publishing I don’t explicitly set it, I only set 'frameStart and frameEnd in the instance inside
publish.Extractor.
Where (or when) can I explicitly set frames?
frames parameter?publish.Extractor.
Where (or when) can I explicitly set frames?
Every publish instance has frame data.
Then frame start and end are passed to representation data
Yes, that’s how I set these values, but they need to be different from Frames.
That means in the publish it should be 1–230, but in Browse Frames it should use the value from the shot (in this case 1001–1230).
Is this possible?
I’m a bit confused - why would you want the data to differ or be offset? Sounds like that’s bound to cause confusion? Can you elaborate more on your use case?
As far as I know you can’t really make the frame range not match the files on disk (but I also don’t know why you would
)
Example use case:
An artist publishes a review, but needs to set the actual frame range (in the project it is 1001–1255), meaning 1–255. However, when this review is loaded into Nuke through the loader, it ends up somewhere random on the timeline.
For the workflow to function properly, all products need to have the same startFrame.
I see - you’re just publishing content with arbitrary start frames - but want them to align.
I believe you can set repre["frameStart"] on the representations in instance.data["representations"] during publishing and it shoud renumber the output frames to start from that frame. However - I’m not sure if that actually does also update frame start / frame end metadata since I’ve never used it.
Give it a go I’d say. Would need some custom python logic though.
Thanks for the advice. I tried adding a new frameRange at the end of the plugin, but it didn’t help — AYON wrote a different one. For context, here is the plugin execution order.
I believe the metadata you should be setting is what @mustafa_jafar described above.
It’s e.g.:
instance.data["frameStart"] = 1001
instance.data["frameEnd"] = 1010
instance.data["handleStart"] = 0
instance.data["handleEnd"] = 0
instance.data["frameStartHandle"] = frame_start - handle_start
instance.data["frameEndHandle"] = frame_end + handle_end
That ends up being the data you see in the columns in the Loader UI.
The repre["frameStart"] I described above was only with regards to renumbering.