iZotope RX File Info
By Nathan Salefski @nathansalefski
In the process of making making my Mastering Script, I ended up discovering a way to obtain file information for the open file. (It's just a reworked version of this How to read the Pro Tools Session's sample rate #post-9). Turns out it was completely unnecessary for what I was trying to accomplish but I figured maybe someone smarter than I could find a use for it.
function getFileName() {
if (!sf.ui.izotope.windows.whoseTitle.is('Session Setup').first.exists) { sf.ui.izotope.menuClick({ menuPath: ["Window", "File Info"],});}
const win = sf.ui.izotope.windows.whoseTitle.is("File Info").first;
const genInfo = win.groups.whoseDescription.is("Content Window").first.groups.whoseDescription.is("General Info Window").first
const nameText = genInfo.children.whoseRole.is("AXStaticText").whoseDescription.is("General Info Item Name Text").first.value.invalidate().value
//sf.ui.izotope.menuClick({ menuPath: ["Window", "Close All Floating Windows"],});
return nameText;
}
function getFileDuration() {
if (!sf.ui.izotope.windows.whoseTitle.is('Session Setup').first.exists) { sf.ui.izotope.menuClick({ menuPath: ["Window", "File Info"],});}
const win = sf.ui.izotope.windows.whoseTitle.is("File Info").first;
const genInfo = win.groups.whoseDescription.is("Content Window").first.groups.whoseDescription.is("General Info Window").first
const durationText = genInfo.children.whoseRole.is("AXStaticText").whoseDescription.is("General Info Item Duration Text").first.value.invalidate().value
//sf.ui.izotope.menuClick({ menuPath: ["Window", "Close All Floating Windows"],});
return durationText;
}
function getFileBitDepth() {
if (!sf.ui.izotope.windows.whoseTitle.is('Session Setup').first.exists) { sf.ui.izotope.menuClick({ menuPath: ["Window", "File Info"],});}
const win = sf.ui.izotope.windows.whoseTitle.is("File Info").first;
const genInfo = win.groups.whoseDescription.is("Content Window").first.groups.whoseDescription.is("General Info Window").first
const bitDepthText = genInfo.children.whoseRole.is("AXStaticText").whoseDescription.is("General Info Item Sample format Text").first.value.invalidate().value
//sf.ui.izotope.menuClick({ menuPath: ["Window", "Close All Floating Windows"],});
return bitDepthText;
}
function getFileSampleRate() {
if (!sf.ui.izotope.windows.whoseTitle.is('Session Setup').first.exists) { sf.ui.izotope.menuClick({ menuPath: ["Window", "File Info"],});}
const infoWin = sf.ui.izotope.windows.whoseTitle.is("File Info").first;
const genInfo = infoWin.groups.whoseDescription.is("Content Window").first.groups.whoseDescription.is("General Info Window").first
const samplingRateText = genInfo.children.whoseRole.is("AXStaticText").whoseDescription.is("General Info Item Sample rate Text").first.value.invalidate().value
//sf.ui.izotope.menuClick({ menuPath: ["Window", "Close All Floating Windows"],});
return samplingRateText;
}
const fileName = getFileName();
const fileDuration = getFileDuration();
const fileBitDepth = getFileBitDepth();
const fileSampleRate = getFileSampleRate();