No internet connection
  1. Home
  2. Script Sharing

Track color conversion table

By Tristan Hoogland @Tristan
    2025-04-14 02:34:05.049Z

    Hello,

    Thought I'd share this as it was annoying to set up. I noticed when getting the track color from protools it comes back as hex color syntax, but when selecting or defining a color it's done in rows/columns with corresponding light/med/dark and numbers. This table acts as a conversion table. My use case (forgive the janky code I whipped up in a hurry) was I wanted to select all my track folders and create them the same color as the tracks/first track within the folder.

    Hope it helps someone

    const colorConversionTable = [
        // Light Colors
        { color: "#ff2c00fc", colorNumber: 1, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff5600fc", colorNumber: 2, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff8800fc", colorNumber: 3, colorBrightness: "Light", colorType: "Color" },
        { color: "#ffbf00fc", colorNumber: 4, colorBrightness: "Light", colorType: "Color" },
        { color: "#ffbe00c0", colorNumber: 5, colorBrightness: "Light", colorType: "Color" },
        { color: "#ffbd0088", colorNumber: 6, colorBrightness: "Light", colorType: "Color" },
        { color: "#ffbd0054", colorNumber: 7, colorBrightness: "Light", colorType: "Color" },
        { color: "#ffbc000d", colorNumber: 8, colorBrightness: "Light", colorType: "Color" },
        { color: "#ffbd1e0d", colorNumber: 9, colorBrightness: "Light", colorType: "Color" },
        { color: "#ffbd520e", colorNumber: 10, colorBrightness: "Light", colorType: "Color" },
        { color: "#ffbe8911", colorNumber: 11, colorBrightness: "Light", colorType: "Color" },
        { color: "#ffc0c514", colorNumber: 12, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff89c511", colorNumber: 13, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff57c610", colorNumber: 14, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff2ec60f", colorNumber: 15, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff1cc60e", colorNumber: 16, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff1ec654", colorNumber: 17, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff20c488", colorNumber: 18, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff23c3c1", colorNumber: 19, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff27c1fd", colorNumber: 20, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff2184fc", colorNumber: 21, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff1c4afc", colorNumber: 22, colorBrightness: "Light", colorType: "Color" },
        { color: "#ff1900fc", colorNumber: 23, colorBrightness: "Light", colorType: "Color" },
    
        // Medium Colors
        { color: "#ff1e00a3", colorNumber: 1, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff3700a3", colorNumber: 2, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff5500a3", colorNumber: 3, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff7400a4", colorNumber: 4, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff7c0089", colorNumber: 5, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff7b0066", colorNumber: 6, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff7a0046", colorNumber: 7, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff7a000b", colorNumber: 8, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff7a120b", colorNumber: 9, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff7a310c", colorNumber: 10, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff7b510d", colorNumber: 11, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff898010", colorNumber: 12, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff66800e", colorNumber: 13, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff48800d", colorNumber: 14, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff2d800c", colorNumber: 15, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff18800c", colorNumber: 16, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff158033", colorNumber: 17, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff167f51", colorNumber: 18, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff1a8c7e", colorNumber: 19, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff1d8da4", colorNumber: 20, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff1969a4", colorNumber: 21, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff1646a3", colorNumber: 22, colorBrightness: "Medium", colorType: "Color" },
        { color: "#ff1423a3", colorNumber: 23, colorBrightness: "Medium", colorType: "Color" },
    
        // Dark Colors
        { color: "#ff14005f", colorNumber: 1, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff21005f", colorNumber: 2, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff31005f", colorNumber: 3, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff41005f", colorNumber: 4, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff4b0057", colorNumber: 5, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff470042", colorNumber: 6, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff470031", colorNumber: 7, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff47000b", colorNumber: 8, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff470c0b", colorNumber: 9, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff471c0b", colorNumber: 10, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff472c0c", colorNumber: 11, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff574d0f", colorNumber: 12, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff424a0c", colorNumber: 13, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff324a0c", colorNumber: 14, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff234a0c", colorNumber: 15, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff154b0b", colorNumber: 16, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff0f4a1d", colorNumber: 17, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff0f4a2c", colorNumber: 18, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff14594c", colorNumber: 19, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff16595f", colorNumber: 20, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff14475f", colorNumber: 21, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff13355f", colorNumber: 22, colorBrightness: "Dark", colorType: "Color" },
        { color: "#ff11225f", colorNumber: 23, colorBrightness: "Dark", colorType: "Color" },
    ];
    
    sf.ui.proTools.appActivate();
    
    // Refresh the track list and map their details
    const tracks = sf.app.proTools.tracks.invalidate().allItems;
    
    const selectedTracks = sf.ui.proTools.selectedTrackNames;
    
    sf.ui.proTools.selectedTrack.titleButton.mouseClickElement({ isControl: true, isShift: true });
    
    // Temp wait
    sf.wait({ intervalMs: 200 });
    
    // Open all folders
    sf.app.proTools.setTrackOpenState({ trackNames: selectedTracks, enabled: true });
    
    const storedFolderTracks = sf.ui.proTools.selectedTrackNames;
    
    // Select the track by name
    sf.app.proTools.selectTracksByName({ trackNames: [storedFolderTracks[0]], selectionMode: "Replace" });
    
    // Extend edit to members
    sf.ui.proTools.menuClick({
        menuPath: ["Edit", "Selection", "Extend Edit Down"],
    });
    
    // Remove edit from top
    sf.ui.proTools.menuClick({
        menuPath: ["Edit", "Selection", "Remove Edit from Top"],
    });
    
    // Get fresh track data and CURRENT selection after the edit operations
    const tracksUpdated = sf.app.proTools.tracks.invalidate().allItems;
    const currentSelectedNames = sf.ui.proTools.selectedTrackNames;
    const currentSelectedTrack = tracksUpdated.find(track => track.name === currentSelectedNames[0]);
    const trackColor = currentSelectedTrack ? currentSelectedTrack.color : null;
    
    sf.ui.proTools.invalidate();
    
    // Reselect the folder tracks
    sf.app.proTools.selectTracksByName({ trackNames: storedFolderTracks, selectionMode: "Replace" });
    
    // Find matching color in conversion table
    if (trackColor) {
        const matchingColor = colorConversionTable.find(entry => entry.color.toLowerCase() === trackColor.toLowerCase());
    
        if (matchingColor) {
            // Apply the color using the matched values
            sf.ui.proTools.colorsSelect({
                colorType: matchingColor.colorType,
                colorBrightness: matchingColor.colorBrightness,
                colorNumber: matchingColor.colorNumber
            });
        } else {
            log("No matching color found in conversion table");
        }
    }
    
    sf.ui.proTools.invalidate();
    
    sf.app.proTools.setTrackOpenState({ trackNames: selectedTracks, enabled: false });
    
    • 0 replies