No internet connection
  1. Home
  2. Script Sharing

iZotope RX File Info

By Nathan Salefski @nathansalefski
    2023-07-22 21:16:24.098Z

    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();
    
    • 0 replies