Pattern Browsing question

Hi there,
Does anyone know of a way to “customize” the {name} token in the pattern browsing options?
what if renders have an extra scene version somewhere in the middle of the name? like ABC_0010_lgt_v01_BTY_OBJECT.diffuse.1001.exr
But the actual version of the publish is in the parent folder

v01
----- ABC_0010_lgt_v05_BTY_OBJECT.diffuse.1001.exr
v02
------ ABC_0010_lgt_v12_BTY_OBJECT.diffuse.1001.exr

so the {version} token will be for the folder (v01, v02), but then the {name} token doesn’t work since the lgt version changes in the filename itself, breaking name consistency.
So I need to ignore part of the name, like {subname pre}{foo}{subname post}

Is there a way to define custom tokens for pattern browsing, wild cards in names, anything?

The following gets close but is too greedy:
v{version}/{pre}v{ver}{name}.{frame}.{extension}
It will skip the BTY_ part of the name and result to OBJECT.diffuse
And obviously we lost the shot name (ABC_0010)

Good Morning!

What better than a Pattern Browsing puzzle with the first coffee :wink:

I made it work with the following pattern:
v{version}/{name}_{data}_v{UID}.{AOV}.{frame}.{extension}

This will show you a multi version clip named ABC_010 which I guess is what you are looking for. The {data}, {UID} and {AOV} become wild card custom tokens and can be seen in Clip Node / Extended / Metadata/Video Track 1 / Tokens if you need to see them for reference.

3 Likes

Good Morning!
Merci Stephane !
Not sure what I’m doing wrong but this doesn’t work for me.
It sees the ‘_lgt_v##’ as a name change and shows both lgt versions as separate clips.

Also, but that wasn’t part of my OP, it ignores the render that doesn’t have an AOV tag (the beauty pass itself)

Another coffee? :wink:

Let me give it a try.

1 Like

Ideally it would show what’s in the next screengrab. This next screengrab is based on renders that have the ‘_lgt_v##’ at the end, but unfortunately that’s not an easy option for us.

so basically ignoring the ‘_lgt_v##’ that’s in the middle in the original naming pattern (our real life example)

note:
"lgt is consistent in all renders, only the v## isn’t

Here we go:
-You should add a .beauty to you first pass if possible.
-This pattern will create an Multi-Channel clip with AOV versions:
v{version}/{name}_{data}_v{UID}.{track}.{frame}.{extension}

1 Like

Very nice! It does exactly what you described! Thanks a bunch!

Do you think it’s also possible to keep the part of the name? “PROP” in this example.

And is there a way to make this work not resulting in a Multi-Channel clip?

Very good!

PROP cannot be part of the name since it is too far from the part of the basename used for name token.

I am trying to get single channel / multi-version with your example. I remember in the past being able to do that BUT you have floating data in the middle of the base name (the 05 / v012 part) that causes me to get to coffee machine :wink:

i will provide a new pattern if I am able to get the right result.

1 Like

Thanks again!!!
PROP cannot be part of the name since it is too far from the part of the basename used for name token. Yes, that seems to be the main “issue”, the fact that the {name} token can’t be ‘split’ in parts, like {name part1}_{skip inconsistency}_{name part2}.{track}.

Better than no indication of the layer name, I was able to prepend the layer part (PROP) to the track name using this (‘_’ instead of ‘.’):
v{version}/{name}_{data}_v{UID}_{track}.{frame}.{extension}

Screen Shot 2023-08-02 at 12.44.24

Still multichannel though

The {track} token takes care of creating the multi-channel so this is why you get what you get. We do not have the flexibility to build the name from part of the basename since that could add time to browsing / aggregation but I guess if you control the rendering pipeline then moving it up like you have done might be a better option. I am not getting single channel / multi-versions with my various iterations so is this a big issue to use the Multi-Channel clip? Another option (which I did not tried yet) would be to create a folder structure per AOV and that could work if I am not mistaken (i.e. I played with all these variable many moon ago and wise people tend to forget stuff from the past :wink:

Thanks for your time and solutions, Stephane.
We do prefer the flowgraphs’ clarity of using non multichannel in general, but we might be able to script something for automatic (or semi-auto) CG back to beauty snippets (using multichannel clips).
Is this worth a couple feature requests?

  1. ability to customize tokens definitions (like the expressions file for defining functions -ish)
  2. {name} token split-able into something like:
    {name part1}_{skip inconsistency}_{name part2}

I agree with you and I think we can make my proposal work in a single channel / multi-versions workflow not using Multi-Channel clips BUT using a Multi-channel pattern browsing! Follow me:
-using the pattern with {track}, browse the content from Batch / Import Node and when in MediaHub, double-click on the Multi icon to reveal all AOV then select them all.
-These single channel clips will allow you to get AOV based versions.
-Is this what you were looking for?

There is always a value of filling Flame Feedback!

Please log them and we will see what could be possible.

1 Like

It does what you said and is interesting for sure. Although it splits the rgb and alpha so that doubles the amount of clips/nodes for a CG back to beauty snippet in the flowgraph. Might be an alternative if we script deleting all extra alphas though.

I’ll log the requests in, thanks.

General improvement feature request:
FI-03075

I added a comment to the request:
3) Ability to use regular expressions to define patterns

Thanks for filling the improvements!

To go back to non multi-channel content for your multi-version AOV, if you have full control on naming convention, you could try to move the AOV closer to shot name so Pattern Browsing could generate clip name token with shotname + AOV aggregation:

v01/
GRP_0030.beauty_lgt_v05_BTY_PROP
GRP_0030.diffuse_lgt_v05_BTY_PROP
GRP_0030.specular_lgt_v05_BTY_PROP

v02/
GRP_0030.beauty_lgt_v12_BTY_PROP
GRP_0030.diffuse_lgt_v12_BTY_PROP
GRP_0030.specular_lgt_v12_BTY_PROP

-use the following pattern: v{version}/{name}_{data}v{UID}{data2}.{frame}.{extension}

This will create multi versions AOV named GRP_0030.beauty, GRP_0030.specular, etc which I feel is what you are looking for.

Apparently there’s a limit to easy naming stuff with maya/vray … but it could be considered.

We also need the render layer info (like CAR_LEFT, CAR_RIGHT, BTY_PROP, UTIL_FOO …)

“We also need the render layer info (like CAR_LEFT, CAR_RIGHT, BTY_PROP, UTIL_FOO …)”

You have options here:

if your do not need to see this data in the name, you could view the custom token in the Clip Node / Extended / Metadata tab (Token).

If you need them in the name, you will need to move it up in the basename. Since this data should not change between versions, I would modify filename from

GRP_0030.beauty_lgt_v05_BTY_PROP.1001.exr

to

GRP_0030_BTY_PROP.beauty_lgt_v05.1001.exr

with this pattern:
v{version}/{name}_{data}*v{UID}.{frame}.{extension}

name of the clip would be:

GRP_0030_BTY_PROP.beauty

BTW, I will be away for two weeks starting Today so if you do not see my following answers it is very normal :wink: