No internet connection
  1. Home
  2. How to

Avid Carbon Channel Settings with Soundflow?

By Philip weinrobe @Philip_weinrobe
    2024-09-12 16:18:32.213Z

    Hello Genius Folk,
    I am running 3x Avid Carbons in my setup and when i bop around between tracking and mixing sessions I need to have a quick way of making all the channels on the Carbon go back to Line Level with no gain added.

    This is achievable currently by...get this....needing to create dummy tracks for every channel on the carbon and then setting them all to the correct settings. what a PITA.

    I am guessing that Soundflow (maybe via SDK?) has remote capability to control the Carbon Pres?

    In Pro Tools if I go to Views>Mix Window Views>Mic Preamps this is where all the controls pop up.

    I guess there could be a script that made that view active, and set all the channels to Line level, no added gain, and unlinked all pairs. The problem with this method is it only works for tracks that correspond to channels on the carbon. I could end up with carbon channels still set to mic level...this is especially problematic as I start using hardware inserts and i get no signal back (cause something is stuck on mic instead of line...)

    Any help or knowledge would be appreciated

    Love
    Philip

    • 4 replies
    1. Mitch Willard @Mitch_Willard
        2024-09-13 01:32:43.671Z2024-09-13 01:40:12.126Z

        Hi @Philip_weinrobe

        Try this.

        This will select all tracks with mic pres that are visible in your session and then toggle them between 'Mic' and 'Line'.

        If they switch to Line, it will then drop the line level to the lowest setting - '+3db'

        sf.ui.proTools.invalidate().appActivate();
        const micPresView = sf.ui.proTools.getMenuItem('View', 'Edit Window Views', 'Mic Preamps')
        const visibleTracks = sf.ui.proTools.visibleTrackNames
        const tracksWithPreAmps = []
        if (!micPresView.isMenuChecked) { micPresView.elementClick(); }
        visibleTracks.forEach(track => {
            let preampBtn = sf.ui.proTools.trackGetByName({ name: track }).track.groups.whoseTitle.is("Mic Pre").first.buttons.whoseTitle.is("Preamp Window button").first.exists
            if (preampBtn) { tracksWithPreAmps.push(track) }
        });
        var firstTrack = sf.ui.proTools.trackGetByName({ name: tracksWithPreAmps[0] }).track
        firstTrack.trackScrollToView();
        firstTrack.trackSelect();
        sf.ui.proTools.trackSelectByName({ names: tracksWithPreAmps, deselectOthers: true });
        sf.wait({ intervalMs: 200 });
        const micPre = sf.ui.proTools.invalidate().selectedTrack.groups.whoseTitle.is("Mic Pre").first
        let preampValue = micPre.buttons.whoseTitle.is("Preamp Window button").first.value.invalidate().value
        if (preampValue === 'Mic') { var micLine = 'Line' } else if (preampValue === 'Line') { var micLine = 'Mic' }
        micPre.buttons.whoseTitle.is("Input Type selector").first.popupMenuSelect({
            menuPath: [micLine],
            isShift: true,
            isOption: true,
        });
        sf.wait({ intervalMs: 200 });
        if (micLine === 'Line') {
            var slider = micPre.popupButtons.first
            sf.mouse.simulateDrag({
                startPosition: { "x": (slider.frame.x), "y": (slider.frame.y) },
                endPosition: { "x": (slider.frame.x), "y": (slider.frame.y + 100) },
                isShift: true,
                isOption: true
            });
        };
        
        1. EEli Crews @Eli_Crews
            2024-11-04 23:13:43.427Z

            Mitch, this is cool, what's the way to always make all selected tracks go to line level, and not toggle? Excuse my ineptness with JS. Thanks!

            1. Mitch Willard @Mitch_Willard
                2024-11-05 06:29:16.312Z

                Hi @Eli_Crews

                I'm not near my system with the carbon, but this should do the trick.

                
                sf.ui.proTools.invalidate().appActivate();
                const micPresView = sf.ui.proTools.getMenuItem('View', 'Edit Window Views', 'Mic Preamps')
                const visibleTracks = sf.ui.proTools.visibleTrackNames
                const tracksWithPreAmps = []
                if (!micPresView.isMenuChecked) { micPresView.elementClick(); }
                visibleTracks.forEach(track => {
                    let preampBtn = sf.ui.proTools.trackGetByName({ name: track }).track.groups.whoseTitle.is("Mic Pre").first.buttons.whoseTitle.is("Preamp Window button").first.exists
                    if (preampBtn) { tracksWithPreAmps.push(track) }
                });
                var firstTrack = sf.ui.proTools.trackGetByName({ name: tracksWithPreAmps[0] }).track
                firstTrack.trackScrollToView();
                firstTrack.trackSelect();
                sf.ui.proTools.trackSelectByName({ names: tracksWithPreAmps, deselectOthers: true });
                sf.wait({ intervalMs: 200 });
                const micPre = sf.ui.proTools.invalidate().selectedTrack.groups.whoseTitle.is("Mic Pre").first
                micPre.buttons.whoseTitle.is("Input Type selector").first.popupMenuSelect({
                    menuPath: ['Line'],
                    isShift: true,
                    isOption: true,
                });
                sf.wait({ intervalMs: 200 });
                var slider = micPre.popupButtons.first
                sf.mouse.simulateDrag({
                    startPosition: { "x": (slider.frame.x), "y": (slider.frame.y) },
                    endPosition: { "x": (slider.frame.x), "y": (slider.frame.y + 100) },
                    isShift: true,
                    isOption: true
                });
                
                
                1. EEli Crews @Eli_Crews
                    2024-11-05 16:05:47.609Z

                    That works, thank you!! Now to figure out how to set a script to tell Hardware Setup to put all of the devices into "bypass"/unity mode, and be at +4... I wish you could save hardware setup presets, I'll ask Avid about implementing that, but in the meantime if you have any suggestions...