Tool Walkthrough
The process starts out with collecting all the relevant filepaths while ignoring folders that are not relevant to the project,
(For example new folders created due to common user mistake with source-conrol)
In a nutshell
Visit() is a struct that visits all the folders &/or files in a given directory. I then sort the paths in different arrays depending of what type of file it is What I'm looking for is Camera-Sequences, Umaps & MergedCut-Sequences.
I then create an empty job and populate it with processed data wich we collected in the previous step.
In a nutshell
After directory paths have been collected, I do a second visit but this time I iterate through all of the collected camera directories one by one and catch the paths to all relevant cameras and levels inside. I do some string-wrangling to convert the collected path to a format used to load the asset. When all cameras & levels inside the directory have been processed as well as cross-referenced with the mergedcut-sequence (making sure I'm not adding an unused camera to my queue) I apply all the processed data (Camera-sequnce, level, author and a job-name) to an new 'job'. from here on out its just repeating this process for all the relevant paths in this directory. When the directory have been exhausted I save the queue as a new asset and move on to the next scene-directory to repeat the process.
To make sure I didn't catch cameras that had been deprecated or created by misstake or was for some other reason unused i decided to cross-reference the cameras with the scene's merged-cut (a merged-cut is a sequence of all the used cameras in the scene) so long as the scene actually had a merged-cut.
dfdfdfdfd
In a nutshell
In order to get added to the movie-render-queue you would have to pass this test. The function has a reference to the current scene's merged-cut and checks if the camera name we passed along with the reference matches any of the 'tracks' contained within the merged-cut. If it does, we approve the camera and add it to the current queue.