EXR sequences and Mac OS Finder

Using EXR sequences on Mac can be painful (well, Windows too to a degree).

In Flame which recognizes sequences in their file dialogs, it’s pretty easy. But if you look at these folders at the OS level, for example if you want to delete some older clips in a folder, it’s excruciating. Of course you can put them all into separate subfolders, but then you make the Flame dialogs slower because the various renders are not in the same folder.

Has anyone found a file utility or something that makes it easier to navigate folder with image sequences at the OS level?

1 Like

Not sure about a file sequencer viewer but you can view the contents of multiple directories with the Scan Subdirectories button in the media hub (e.g. navigate to the folder that contains several sequence enclosing directories and that button will show you all the clips at once)

1 Like

I know it is not at the os level but DJV Viewer is a good option, it’s quite fast and free!

1 Like

Thanks for those pointers.

Looks like I did a poor job describing the problem I looking to solve.

I have a 1,300 frame clip that I’ve rendered as an EXR sequence with multiple versions. Let’s say I’m on version 4. So there are now 5,200 individual files in the folder.

If I want to do some cleanup of those files at the OS level, I have to open Finder or Explorer depending on OS, and it takes a bit of time before the file list appears. Then I have to scroll forever to select all of version 1 in this folder so I can delete them. Because Finder always shows individual files, not a collapsed sequence like the apps do.

The only simple solution is to always put each sequence into a separate folder, as then you can just nuke the whole folder without looking inside. But having separate folders has downsides too.

As pointed out in Flame you can get around some of them with hierarchy view. And Flame also will auto create those folders for you. But not all apps do that. When you change the path in Nuke and add a non-existent folder, the render errors out. I realize that this is a Flame forum, and this is not a Flame problem. Just pinging the brain trust here if anyone has found a good tool to handle large sequences at the OS level.

A tool similar to this: https://www.bulkrenameutility.co.uk/ (which does rename, and unfortunately only exists for Windows…)

@allklier - for exactly this reason I tend to create versioned directories that contained versioned sequences.

In the meantime, as a cleanup tool I wrote you a bash script that you can modify:

#!/bin/bash

# Define the search folder
search_folder="path/to/my/render/folder"

# Prompt for the version number string
read -p "Enter the version number: (e.g. v01)" version_number

# Create the directory for the version number
version_number_dir="${search_folder}/${version_number}_dir"
mkdir -p "$version_number_dir"

# Find and move files containing the version number with verbose output
find "$search_folder" -type f -name "*${version_number}*" -exec mv -v {} "$version_number_dir" \;

echo "Files containing '${version_number}' have been moved to '${version_number_dir}'."

save it as file_mover.sh
and then
chmod +x file_mover.sh

1 Like

This is a forever feature request of mine on the OS level. Since MS-DOS days even.

Yep, that is bloody annoying. I honestly give up delete all and just re-export the one i need which is quicker than selecting 3000 files. But, yeah the solution could be more elegant I suppose

I second this

.mov is really logically nothing more than a zip file filled with metadata as a textfile and individual frames that are prores encoded.

so always for me at least…

shot_task_colorspace_version_filetype/shot_task_colorspace_version.####.extension

I would be ok using .mov, but the write node only supports image sequences. Alas if you use OpenClip you have to use .EXR sequences and then export as .mov afterwards.

There are benefits to image sequences with partial updates, etc. But most times we have an .mov coming in and an .mov file leaving at the end. It’s just in the middle that we’re forced into image sequences that are file polluters in some sense.

On the overall topic - Flame does make it very easy to do all of this with pattern browsing, versioning, etc. @philm script is useful. A while ago I also wrote a python script that allows you delete OpenClip versions from within MediaHub, with the advantage that it also updates the .xml, not just nuking the .exr files. Proper house keeping.

But I work across a lot of other apps that aren’t as smart as Flame in this regard. Nuke has other cool things, file handling is not one of them, at least from a workflow perspective (and with the core app, I’m sure there are scripts too). Silhouette is the same, and the list goes on.

So at some point you’re stuck having to deal with endless .exr files in a folder and it’s painful.

We just need a Finder extension that you can install and that recognizes file sequences and presets them as single item, just like all the apps do it. Not rocket science. It’s been coded at least a dozen times.

< / soapbox >

1 Like

My go-to when dealing with directories filled with large numbers of large files is to look at things in the terminal. It’s not even close how much faster/more efficient it is to just dive in. Then when you have to delete or move a bunch of stuff, it’s silly how it just does it so fast…

3 Likes

Seems like we’re getting into torturing an equine territory here but a couple things stood out to me from your explanation comment.

  1. You can create new directories for a new render version automatically in Nuke. There’s a tick-box labeled “create directory” to do this. Every nuke pipeline worth its salt leans on this feature for rendering. Also, a lot of pipelines - especially Shotgun based ones - will automatically render a QuickTime for review purposes alongside the EXR sequence. Maybe this is something that can be built into Logik-Project.

  2. I’m also not clear why a bulk renamer would help in this matter (so maybe I misunderstand what you’re saying there) but there are several for Mac. I currently like one called Rename X. It’s not free though but they do exist too.

1 Like

Well, you see that is why I love these discussions, even if they seem out there at times. Even though I must have been staring at the ‘create directory’ checkbox above the ‘render’ button for years, I never noticed and connected the dots. Always just being annoyed seeing a render run through without having actually created any files. So thanks :slight_smile:

Not all of use work at a big facility with well tuned workflows. So we have to learn these things the hard way.

The bulk renamer wouldn’t solve this problem. I just used it as an example of a 3rd party tool that is super useful. If there was a 3rd party tool that is a type of ‘image sequence manager’ that plugs into your finder menu, that would be cool.

By the way best bulk filename fixing utility (unless you’re deep into fgrep and sed, etc.). It can rename by regular expressions and all sort of processes with an easy to use preview.

@allklier - i like this tool on linux

1 Like

@greg LOGIK-PROJEKT does not do this yet, but it’s on my whiteboard with a couple of other things.
I got kind of buried doing a gui, and then a couple of other i’s required dots and t’s required crosses.
I’m in the middle of those tasks right now.
Did you sign up?

1 Like

Yeah, there’s so many random buttons and options in all these programs, it’s easy to just ignore seemingly unimportant stuff for years and not have any idea what it does. I recently bought some training videos for my Elektron music gear that methodically goes over every option of every module and there were so many things that I never noticed or thought about. Someone should make a video like that for Flame

1 Like

Haven’t signed up yet but it’s on my to-do list!

1 Like

the create dieectories button just lets the writenode create directories , if you dont click it and try to render into a folder that doesnt exist it write node will just fail.

most annoying nuke thing, of course i want to create a folder if it doesnt exist. the fun part is if you render locally it will look like the render is super fast and then it will error in the end

It does not auto version or create version folders for you, thats still manual or a nuke studio feature,

Yes, if you’re render runs too fast, 99% of the time you have an invalid path. You have to uncheck ‘continue on error’ and then it will stop. Seems like these two defaults are backwards. It should stop on error by default and create folder by default.

But Nuke has other path issues we ran into recently.

Nuke has a path translation feature. But it only works to translate between OS, not generally. Like you can’t setup two Windows systems with different paths (which was our use case - someone joined the project, but their only big drive IT managed drive was on a different letter and top level path).

Nuke kind of support local paths for read. But the file browser cannot set a local path. If you pick a new path it will start as absolute, and then you have to edit the path string to make it relative again. If you keep switching files, this is most annoying.

You can use a python snippet for the project folder to be the path root, except that doesn’t work for live groups. If you use that on a live group, it will always error out and you have to find each live group and reload it. It’s a timing thing. When live groups load, somehow that variable isn’t set yet, or something.

As always some of these apps shine on one side and stink on others. Just live with it and have some coffee.

Yea nuke really needs same paths just like flame,

In houdini its sort of the same, if you dont use env variables like $JOB etc.

before path mapping cross OS was a thing we solves this with a python startup script that would look into a xml of pathmappings and substitute everything to each users or OS local paths on script start, this works well but its way more convenient to just have the same path on each OS.

Same with davinci actually.

also realtive paths are a bit of a headache for renderfarms also.

I wrote this code into my menu.py file.
menu.py (3.6 KB)

The LOGIK-PROJEKT nuke scripts get manufactured with a target path for the nuke render node(s), which ultimately feed the pattern-based openclip(s).

If you choose “save new comp version” from the Nuke menu it updates the directory version name and the file version name for the render nodes.

Unlike flame, it does not permit multiple version numbers for write file nodes in the same batch group, but nuke is not my major focus.

It works in my experience, in my environment.

YMMV