No internet connection
  1. Home
  2. Packages
  3. Logic Pro

Error selecting PCM destination in Logic Pro Wave Bounce

By Justin Krol @Justin_Krol
    2024-04-29 16:37:08.629Z

    Title

    Error selecting PCM destination in Logic Pro Wave Bounce

    What do you expect to happen when you run the script/macro?

    Command failing - "ERROR finding PCM destination"

    Are you seeing an error?

    The error shows up after typing in the file name and moving to the bounce screen.

    ERROR selecting PCM location

    What happens when you run this script?

    After running command, I'm prompted to name the file. I name the file and and hit enter. The bounce screen appears and then I get the error message.

    How were you running this script?

    I clicked the "Run Script" or "Run Macro" button in SoundFlow

    How important is this issue to you?

    5

    Details

    {
        "inputExpected": "Command failing - \"ERROR finding PCM destination\"",
        "inputIsError": true,
        "inputError": "The error shows up after typing in the file name and moving to the bounce screen. \n\nERROR selecting PCM location",
        "inputWhatHappens": "After running command, I'm prompted to name the file. I name the file and and hit enter. The bounce screen appears and then I get the error message. ",
        "inputHowRun": {
            "key": "-MpfwYA4I6GGlXgvp5j1",
            "title": "I clicked the \"Run Script\" or \"Run Macro\" button in SoundFlow"
        },
        "inputImportance": 5,
        "inputTitle": "Error selecting PCM destination in Logic Pro Wave Bounce"
    }

    Source

    //Preset converted to script
    
    
    //Invoking preset "Wave, 24Bit, 48kHz, Offline" of template "Bounce Project or Selection" in package "Logic Pro"
    sf.soundflow.runCommand({
        commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi',
        props: {
            burnCdDvdStatus: "Disable",
            generalBounce2ndCyclePass: "Disable",
            generalBounceMode: "Offline",
            generalIncludeAudioTail: "Enable",
            generalIncludeTempoInformation: "Enable",
            generalNormalize: "Off",
            m4aAacAddToItunes: "Disable",
            m4aAacStatus: "Disable",
            mp3AddToItunes: "Enable",
            mp3Status: "Disable",
            pcmAddToItunes: "Enable",
            pcmAddToMusic: "Disable",
            pcmAddToProject: "Disable",
            pcmBitDepth: "24-bit",
            pcmFileFormat: "Wave",
            pcmFileType: "Interleaved",
            pcmResolution: "16-bit",
            pcmSampleRate: "48000",
            pcmStatus: "Enable",
            pcmSurroundBounce: "Disable",
        },
    })
    

    Links

    User UID: XH03HyxIkaZm7CXik1lfHYOCNoF2

    Feedback Key: sffeedback:XH03HyxIkaZm7CXik1lfHYOCNoF2:-Nwehu37FUUQD0T4y467

    Feedback ZIP: tD9fG/fQ6qECDfaGUbVy3lzyLVFB07Dl15G7vyTb0beuBxFrG+dRHhbZfOkBtVXa2wnF9HX1YtUbYl0KKGGN73Xh6SDkv18U9uqVeNvTTawCtzi7Dr+O13RCqlMoh6yNEog7ObG9coZeAkMBuN4ojD97sXMKTWHiaBMy+AYlZMQQdfxhOmJM8U0dJKGF5p8zfm64bkdP8OkecXoJ/sdO6GthdZeSHm/E3v1dQzw1xGLfYFQxZISB7YCm0QazjNHcxJexE75Iyuc/xMHQ5xm4jdBLYl1z0YsfIBcZKxfL2aPxlQ0USlfaJY5eywmJNUD13yEVkk90xCpXBDgXFd2mbsEEHIKDVVEhxIQ7KFRyQtE=

    Solved in post #19, click to view
    • 23 replies

    There are 23 replies. Estimated reading time: 25 minutes

    1. S
      SoundFlow Bot @soundflowbot
        2024-04-29 16:37:11.935Z

        Thanks for posting a question or an issue related to the 'Logic Pro' package.
        This package is made by @Kitch. We're auto-tagging them here so that they will hopefully be able to help you.

        1. In reply toJustin_Krol:
          Kitch Membery @Kitch2024-04-29 16:38:23.557Z

          Thanks for logging this @Justin_Krol.

          1. S
            In reply toJustin_Krol:
            SoundFlow Bot @soundflowbot
              2024-04-29 16:38:39.354Z

              This issue is now tracked internally by SoundFlow as SF-1188

              1. J
                In reply toJustin_Krol:
                Justin Krol @Justin_Krol
                  2024-04-29 16:46:22.936Z

                  Here's the error message detail:

                  29.04.2024 11:44:55.54 [Backend]: JavaScript error with InnerException: null
                  Logging error in action (01) RunCommandAction: There was an error Bouncing the selection:
                  There was an error setting the "PCM" destination settings:
                  TypeError: Object has no method 'join'
                  (Bounce Project or Selection line 587)

                  29.04.2024 11:44:55.54 [Backend]: !! Command Error: Wave, 24Bit, 48kHz, Offline [user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clr9gsr5l00039o10t1mgcfvq]:
                  There was an error Bouncing the selection:
                  There was an error setting the "PCM" destination settings:
                  TypeError: Object has no method 'join'
                  (Bounce Project or Selection line 587)

                  << Command: Wave, 24Bit, 48kHz, Offline [user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clr9gsr5l00039o10t1mgcfvq]

                  29.04.2024 11:45:26.74 [Backend]: [SF_FIREBASE_WS]: Sending keep-alive

                  1. J
                    In reply toJustin_Krol:
                    Justin Krol @Justin_Krol
                      2024-04-29 17:24:20.510Z

                      So, there's two things I'm wondering...I'm on Logic 10.7.9 (I know that 10.8 and up is officially supported) but when I first tried the beta version (months ago) everything was working. I've got the most current Logic package installed now. I actually tried a number of commands in the package and plugin loader doesn't work either (I tried making a custom one to see as well and it failed on the first step).

                      I also recently started using the Nektar CS12 channel strip controller and I'm wondering if there's anything crossing the wires that way due to prefs or ?

                      I'm currently still wrapping on a film so I can't really update Logic confidently at the moment.

                      Anyway, thought that was worth mentioning.

                      1. Kitch Membery @Kitch2024-04-29 18:25:30.031Z

                        Hi @Justin_Krol,

                        Unfortunately much of the Logic Pro Package functionality requires Logic 10.8 or later. Specific UI labeling was not available in earlier versions of Logic (including 10.7.9) that prevented me from making things work reliably. Especially commands related to the channel strip.

                        This particular issue however is actually a bug. I have addressed it internally and should hopefully be ready for release early next week. Or maybe before.

                        As a workaround till then, (if you use folders for your logic projects), manually create a folder named Bounces in the session folder.

                        Thanks for logging the report. Much appreciated!

                        1. JJustin Krol @Justin_Krol
                            2024-04-29 19:12:02.348Z

                            All good! Thanks for looking into it. I've tried the workaround and it's still giving me the same error. FWIW I also tried creating a new folder with a different name and then setting the destination to custom and I was getting the same error. Perhaps this is still a side affect of 10.7.9.

                            I'll definitely try the new release when it's out however to see if that fixes it.

                            Appreciate the help!

                            1. Kitch Membery @Kitch2024-04-29 19:32:06.891Z

                              Yep, it could be 10.7.9.

                              Hopefully once you wrap up the film you can do the update. :-)

                              1. JJustin Krol @Justin_Krol
                                  2024-04-30 00:36:42.731Z2024-04-30 01:05:56.529Z

                                  Yeah, I'm planning on it. The main issue at the moment is that I have hundreds of stems to print. I'm just trying to pull off a super simple, rinse and repeat stem printing command based off my previous commands - essentially copying and pasting the track name and pasting it into the file name, bouncing, turning solo off and then moving down to the next track, soloing, etc... Do you have any idea why this one won't even prompt?

                                  var app = sf.ui.app('com.apple.logic10')
                                  
                                  function waitForBounceToComplete() {
                                      while (true) {
                                          try {
                                              if (!app.windows.whoseTitle.is('Logic Pro X').first.exists) {
                                                  //We didn't get an error - and the modal popup doesn't exist.
                                                  //Break out, the bounce is complete
                                                  break;
                                              }
                                          } catch (err) {
                                              //We got an error. Logic is still busy. Continue with another loop
                                          }
                                  
                                          //Wait a bit before continuing
                                          sf.wait({ intervalMs: 200 });
                                      }
                                  
                                  }
                                  sf.keyboard.press({
                                      keys: "s",
                                  });
                                  
                                  sf.keyboard.press({
                                      keys: "shift+return",
                                  });
                                  
                                  sf.keyboard.press({
                                      keys: "cmd+c",
                                  });
                                  
                                  sf.keyboard.press({
                                      keys: "cmd+b",
                                  });
                                  
                                  sf.keyboard.press({
                                      keys: "return",
                                  });
                                  
                                  sf.wait();
                                  
                                  sf.keyboard.press({
                                      keys: "backspace",
                                  });
                                  
                                  sf.keyboard.press({
                                      keys: "cmd+v",
                                  });
                                  
                                  sf.keyboard.press({
                                      keys: "return",
                                  });
                                  
                                  //Wait for the progress window to appear
                                   sf.wait({ intervalMs: 2000 });
                                  
                                  //Wait for the progress window to disappear
                                    waitForBounceToComplete();    
                                  
                                  });
                                  
                                  sf.keyboard.press({
                                      keys: "s",
                                  });
                                  
                                  sf.keyboard.press({
                                      keys: "down",
                                  });
                                  
                                  1. Kitch Membery @Kitch2024-04-30 01:10:23.736Z

                                    Hi @Justin_Krol,

                                    Line 60 is not doing anything and can be deleted. I think that's what is stopping the script from running.

                                    1. JJustin Krol @Justin_Krol
                                        2024-04-30 12:10:39.688Z

                                        Thanks! That did allow the script to run...however, when I duplicate, nothing happens after the first bounce. No error messages, but the solo'd track doesn't un-solo and move to the next track and bounce. I tried lowering the interval down from 2000 just to see if it made a difference or created an error, but it didn't seem to affect anything. Here's what I have now:

                                        preformatted text
                                        ```var app = sf.ui.app('com.apple.logic10')
                                        
                                        function waitForBounceToComplete() {
                                            while (true) {
                                                try {
                                                    if (!app.windows.whoseTitle.is('Logic Pro X').first.exists) {
                                                        //We didn't get an error - and the modal popup doesn't exist.
                                                        //Break out, the bounce is complete
                                                        break;
                                                    }
                                                } catch (err) {
                                                    //We got an error. Logic is still busy. Continue with another loop
                                                }
                                        
                                                //Wait a bit before continuing
                                                sf.wait({ intervalMs: 200 });
                                            }
                                        
                                        }
                                        sf.keyboard.press({
                                            keys: "s",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "shift+return",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "cmd+c",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "down",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "cmd+b",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "return",
                                        });
                                        
                                        sf.wait();
                                        
                                        sf.keyboard.press({
                                            keys: "backspace",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "cmd+v",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "return",
                                        });
                                          
                                        //Wait for the progress window to appear
                                         sf.wait({ intervalMs: 200 });
                                        
                                        //Wait for the progress window to disappear
                                          waitForBounceToComplete();    
                                        
                                        sf.keyboard.press({
                                            keys: "s",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "down",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "s",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "shift+return",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "cmd+c",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "cmd+b",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "return",
                                        });
                                        
                                        sf.wait();
                                        
                                        sf.keyboard.press({
                                            keys: "backspace",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "cmd+v",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "return",
                                        });
                                        
                                        //Wait for the progress window to appear
                                         sf.wait({ intervalMs: 200 });
                                        
                                        //Wait for the progress window to disappear
                                          waitForBounceToComplete();    
                                        
                                        
                                        
                                        sf.keyboard.press({
                                            keys: "s",
                                        });
                                        
                                        sf.keyboard.press({
                                            keys: "down",
                                        });
                                        
                                        
                                        1. JJustin Krol @Justin_Krol
                                            2024-05-02 22:17:48.692Z

                                            Hey @Kitch! I just wanted to let you know that I bit the bullet and updated to 8.1 and everything seems to be working fine. I'll let you know if I run into anything else, but I was basically able to put together a super simple stem printer using the installed commands (with modified titles for each track).

                                            Thanks!

                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 01" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjocs230001t910lroc7qxs',
                                                props: {}
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "down",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 02" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjodw2e0002t910srjpx2ev',
                                                props: {}
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "down",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 03" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjodxve0003t910tnloryi1',
                                                props: {}
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "down",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 04" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjoe0cr0004t910d56e4jq2',
                                                props: {}
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "down",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 05" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjoe25u0005t9102178peah',
                                                props: {}
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "down",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 06" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjoe4pk0006t910cezze69s',
                                                props: {}
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "down",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 07" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjoe70d0007t9103av4wov9',
                                                props: {}
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "down",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 08" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjoe9060008t910apnncbj1',
                                                props: {}
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "down",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 09" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjoeba90009t910j9ti0xu4',
                                                props: {}
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "down",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 10" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjoedk0000at9107mew96q4',
                                                props: {}
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "down",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 11" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjoes2f000bt910boyilnql',
                                                props: {}
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "down",
                                            });
                                            
                                            sf.keyboard.press({
                                                keys: "s",
                                            });
                                            
                                            //Calling command "JK BOUNCE 12" from package "Logic Pro" (installed from user/pkg/version "uOwKfD26NbWKAWotin3dmnSne7B3/cli50xtc200015210vyksy31z/clv1bpk2p001b3o10kwvm7mje")
                                            sf.soundflow.runCommand({
                                                commandId: 'user:cli50xtc200015210vyksy31z:clrfd06u600033o1062ly75zi#clvjoeu2g000ct910aek2rc4t',
                                                props: {}
                                            });
                                            
                                            
                                            preformatted text
                                            
                                            1. JJustin Krol @Justin_Krol
                                                2024-05-02 22:21:09.744Z

                                                NOTE - nothing major, but I'm occasionally getting a "ERROR - error waiting for element" error from my modified offline wave bounce from the installed package. Looks like it has something to do when it pastes the title custom title from the command --thinking it's trying to paste the title before the dialogue box pops up. I test printed 30 stems and it happened twice, for reference. Other than that, solid!

                                                1. Kitch Membery @Kitch2024-05-02 22:26:07.048Z

                                                  That's great @Justin_Krol. I'm glad you were able to get something working.

                                                  You may see errors as you are using Keyboard simulation which is along with mouse simulation is the least stable way of automating with SoundFlow. Much of this could be improved by using UI automation.

                                                  1. JJustin Krol @Justin_Krol
                                                      2024-05-02 22:30:05.167Z

                                                      Copy that. I'd love to problem solve that. Can you give me an example of how that would look for the first step? I can play with that and then duplicate it assuming that I can keep the bounce commands I've already made. You're just talking about track selection and soloing?

                                  2. J
                                    In reply toJustin_Krol:
                                    Justin Krol @Justin_Krol
                                      2024-05-03 18:41:04.085Z

                                      @Kitch Is there UI access to soloing a track and moving right to the next track? I played around with a few ideas, but I coulndn't seem to escape the key commands for those two prompts. Let me know what you think. Thanks!

                                      1. JJustin Krol @Justin_Krol
                                          2024-06-09 13:52:40.841Z

                                          Hey @Kitch! Just wanted to follow up on the above question, as it would help me solve a few problems I'm having right now.

                                          1. Kitch Membery @Kitch2024-06-10 20:03:32.511Z

                                            Hi @Justin_Krol,

                                            To Enable, Disable, or Toggle the selected track in the tracks area, you can use the following reusable function.

                                            Add this function to your script

                                            function soloSelectedTrack({ targetValue = "Toggle" } = {}) {
                                                const logic = sf.ui.logic;
                                                logic.appActivateMainWindow();
                                                logic.invalidate();
                                            
                                                const trackArea = logic.mainWindow
                                                    .groups.whoseDescription.is('Tracks').first
                                                    .groups.whoseDescription.is('Tracks');
                                                
                                                const trackHeaders = trackArea.allItems[1]
                                                    .splitGroups.first
                                                    .splitGroups.allItems[1]
                                                    .scrollAreas.first
                                                    .groups.whoseDescription.is('Tracks header').first;
                                            
                                                const selectedTrack = trackHeaders.getElements('AXSelectedChildren').first;
                                                const soloButton = selectedTrack.checkBoxes.whoseDescription.is("Solo").first;
                                            
                                                log(soloButton.value.intValue)
                                            
                                                if (targetValue === "Enable" && soloButton.value.intValue === 0 ||
                                                    targetValue === "Disable" && soloButton.value.intValue === 1 ||
                                                    targetValue === "Toggle") {
                                            
                                                    soloButton.mouseClickElement();
                                                }
                                            }
                                            

                                            Then use the following calls as desired...

                                            To Enable

                                            soloSelectedTrack({ targetValue: "Enable", });
                                            

                                            To Disable

                                            soloSelectedTrack({ targetValue: "Disable", });
                                            

                                            To Toggle

                                            soloSelectedTrack({ targetValue: "Toggle", });
                                            

                                            Moving to the next track would require using a simulated keyboard press at the moment. Hopefully, at some point, I can improve this functionality.

                                            ReplySolution
                                            1. JJustin Krol @Justin_Krol
                                                2024-06-10 21:27:55.998Z

                                                Many thanks! I'm going to play with this later today. You're the best!

                                                1. Kitch Membery @Kitch2024-06-10 21:28:40.184Z

                                                  You're welcome, @Justin_Krol.

                                                  1. JJustin Krol @Justin_Krol
                                                      2024-06-10 21:40:10.867Z

                                                      Sorry, one more question -- what is the purpose of "toggle"? Looks like it might work without that function as well?

                                                      Is it Toggle -> Solo -> bounce command -> Disable -> keystroke down -> toggle -> solo -> bounce..etc?

                                                      Thanks again!

                                                      1. JJustin Krol @Justin_Krol
                                                          2024-06-10 21:45:12.238Z

                                                          After trying it, looks like toggle could be the sole command to solo and unsolo a track, or at least that works too. Just curious because I'd love to understand why it's working. Because I'm an idiot :). Thanks!

                                                          1. In reply toJustin_Krol:
                                                            Kitch Membery @Kitch2024-06-10 21:47:33.104Z

                                                            The soloSelectedTrack function only needs to appear once in your script.

                                                            The three function calls for "Enable", "Disable" and "Toggle" all call the same function. You only need to use the ones that are appropriate to what you want to do. ie if you want to enable the Solo add soloSelectedTrack({ targetValue: "Enable", }); to the code.

                                                            Enable Solo => Bounce Command =>Disable Solo => Keystroke down

                                                            I'd suggest being specific about enabling and disabling as toggle could create an unexpected outcome.