Bifrost:Data Structure
Bifrost QC is designed for a collaborative workflow with many users contributing to a central internal data pool. We will call each Superreel or Tape to be catalogued a ‘Project’.
Projects are stored as individual files in a shared storage area and should be stored on NAS storage (such as a normal file server), SAN storage is not recommended due to the small size of the project files. The filesystem used for the shared project pool must support Windows file locks as this mechanism is used for data management; this mechanism is supported by most file systems.
Bifrost QC project data contains both default and user definable data fields. Bifrost QC can import media metadata from an XML file into the internal project structure, enabling pre-existing metadata associated with an asset to be verified and further additions made.
The standard data structure is defined in the following file(s) (all .pref files can be edited in a standard text editor) :
C:\BifrostQC\<Program version>\root\Users\AllUsers\Bifrost.prefs
and then:
C:\BifrostQC\<Program version>\root\Users\<User>\Bifrost.prefs
where the <User> folder takes the name of the User selected during application start up (see Multi-User Preferences).
Project fields are classified into the following types :
keyword | searchable text, each keyword space separated (double-quoted to include spaces) |
text | alpha numeric text entry field |
timecode | timecode entry field |
enum | enumerated list, an option menu of predefined values |
date | date field with a pre-defined date format |
bool | boolean (true or false) field displayed as a check box |
int | integer (number) field |
float | floating-point(number) field |
Project data is split between two categories :
Project | One set of data fields per project (Roll) |
Clip | One set of data fields per clip (Clip) |
The default project fields are :
id | This is the unique name (roll ID) for a project within Bifrost and is used to identify the Reel (or tape) throughout the workflow. (Technically this is not an actual project field, but more of a direct project attribute.) |
operator | current operator from a predefined list. |
supervisor | supervisor from a predefined list. |
timeBase | project time base (i.e. 24 or 25 frames per second) |
filmFormat | (i.e. 16 or 35mm) the name can be changed to “Tape Format” for video workflows. |
startTC | default start timecode for the reel or tape (e.g. "01:00:00:00" - 1hr) corresponds to the reel sync markers (i.e. punch hole). |
keywords | searchable project keywords |
The predefined lists for operator and supervisor and the default values for these fields can be set in the Bifrost.prefs as described below.
The default clip fields are :
descriptor | Clip name used to identify the clip within reel or tape |
productionDate | date field for clip |
inTC | start timecode for clip within a reel or tape, use to calculated clip start and punch-hole offset |
outTC | end timecode for clip within a reel or tape, exclusive (effectively one frame beyond the the last frame) |
filmBase | field for setting the film base of a clip, used by the Goldeneye scanner as a scanning pre-set |
audioType | list of available audio formats, Optical formats are scanned automatically by Goldeneye if set, formats marked as separate are flagged for audio transfer |
preset | loki Restoration pre-set, a drop down list of presets to be processed later |
qcStatus | drop down list displaying the QC status of the digitised clip, once the operator has signed the clip off, the final deliverable is created. |
qcNotes | text entry field used for QC purposes (i.e. why did the clip fail) |
The predefined lists for filmBase, audioType and preset and the default values for these fields can be set in the Bifrost.prefs as described below.
The project fields in the Bifrost.prefs are editable: (you can populate enum lists (for option menus) and set the default value for any field when a new project is created. For example:
{ name "Operator" type "enum" enumerators "Tom" "Dick" "Harry" value "Tom" }
This will set the the Operator field option list to give you a choice of Tom, Dick, or Harry and make the default Operator set to Tom on project creation.
In addition to the standard fields the user is able to add custom project and clip fields to the Bifrost.prefs, which are then added to new projects as they are created, and merged in to existing projects when they are edited.
"..." has been used to denote the where standard project and clip fields would appear
bifrost { roll { ... customProjectFieldFromPref { name "ProjectTest" type "text" value "" } } clip { ... customClipFieldFromPref1 { name "ClipTest1" type "enum" enumerators "Value 1" "Value 2" "Value 3" "Value 4" "Value 5" value "Value 1" } customClipFieldFromPref2 { name "ClipTest2" type "enum" enumerators "Value a" "Value b" "Value c" "Value d" "Value e" value "Value b" } } }
We have added one extra project field, the internal name for this is called:
- customProjectFieldFromPref
The name displayed inside the GUI is ProjectTest.
We have also added two new clip fields, ClipTest1 and ClipTest2
Bifrost QC allows for the Bifrost.prefs to be defined first for all users, and then per individual user. When starting Bifrost QC there is a dialogue to add a new user, Click new and type a new user name.
New users can also be created by adding a folder with the user name here:
- C:\BifrostQC\<Program version>\root\Users\
The purpose of the user files is to set up the default options for each user, the project fields should be the same across all users.
Now the new user has been created you can copy the preference file from the AllUsers folder to the created user folder. The default values set in this file will override the preferences set in AllUsers.
Bifrost QC uses keyboard shortcuts to speed up operation of the software, a guide to the standard keyboard shortcuts is accessible from the link on the desktop and can also be found in the documents folder.
The keyboard shortcuts are specified in this file:
- C:\BifrostQC\<Program version>\root\Presets\System\defaultHotKeys.prefs
You are also able to copy this file into a user folder to customise the shortcuts on a user by user basis