No internet connection
  1. Home
  2. How to

Cubase 11 Creating macro

By Frank Ilfman @Frank_Ilfman3
    2021-04-06 12:40:09.491Z

    Hi,
    finiding two issues
    When i try to create a macro, i click action and then on the white space to enter the serch for the cubase command and it dosnt open the search, i need to do a restart of soundflow and then it works sometimes or not
    the second one is i create a surface and adding a button to select the cubase command in this case i did add track, add instrument, add folder all been done properly in the surface editor, yet in cubase it open up a editor track for each

    this sould be fairly simple stuff, but dosnt seem to work, i have the SKI installed based on some videos ive seen

    Frank

    Solved in post #4, click to view
    • 29 replies

    There are 29 replies. Estimated reading time: 13 minutes

    1. Hi Frank,

      Thanks for reporting this.
      Did you set up SKI without a password?

      @JesperA do you remember any good troubleshooting steps for this?

      1. FFrank Ilfman @Frank_Ilfman3
          2021-04-06 15:41:11.682Z

          All Working now, i have installed the latest version, but it needs a restart on SF to get it running if this happens.

          i haven't found a why where if i use a command to open a menu or any dialog box in Cubase the focus stays on the SF surface, so i need to click the mouse to shift focus from the touch screen (my mouse is staying focused on my main screen)
          im not sure if its a SF that i need to add for that or its to do with the touchscreen and how the mac uses it as an extra screen

          1. Hi Frank,

            We recommend that you add an "Activate App's Main Window" action at the end or beginning of any macros that you trigger via a touch screen.
            The focus change comes from your touch driver simulating a mouse click on the SF app, which brings it into focus.

            ReplySolution
          2. In reply tochrscheuer:

            Good to hear you got it working @Frank_Ilfman3 .

            With Nuendo 11 I experienced SKI becoming a little less reliable unfortunately. I could imagine it's the same with Cubase 11, but I don't know for sure.

            Anyway I found that consistently SoundFlow will manage to get one SKI command send to Nuendo and then after that Nuendo won't receive anymore commands. It's like SKI stops working once it's receiving the first command. And I can't figure out if it's Nuendo or SF creating the issue, but if I just close Nuendo and open it again, everything seems to work as expected.

            So I basically have to:

            • open Nuendo
            • fire off one SKI command
            • close Nuendo fully
            • then open Nuendo again.

            Now SKI works.
            I'm still trying to figure out the behavior and when it blocks in order to create better bug reports for either SF or Steinberg :)

            Best.

            1. FFrank Ilfman @Frank_Ilfman3
                2021-04-07 14:41:03.479Z

                Yes, its seems it could be the SKI as restarting SF doesn't change the issue
                Is there no way to avoid using SKI, like other command app ?

                1. Any command available in menus you can click using "Click Menu Item".
                  For other commands you can of course use "Press Keys" to simulate key commands, and then just add a key command to any command you need.
                  There's also the option of using Generic Remote, but I think that's a very outdated method and also requires routing and things.

                  I just pushed a package to the App Store which will show all Cubase key commands (without the need for SKI) on a searchable list and the shortcuts attached to those commands on the side. Might be useful for you. Let me know.
                  https://soundflow.org/store/key-command-popup-search-cubase-nuendo

                  1. FFrank Ilfman @Frank_Ilfman3
                      2021-04-08 11:58:31.606Z

                      Yes i have that install.

                      i was wondering is there a way to show the surface automatically when opening Cubase or once SF is lunch when the system is booted ?

                      1. Do you mean this key command popup search or any surface?

                        1. FFrank Ilfman @Frank_Ilfman3
                            2021-04-08 12:14:52.393Z

                            Any Surface,

                            I created a surface with Cubase Commands and PT commands for my touchscreen, so once Cubase is lunch the SF Command surface will open and change if i use PT, i am wondering if that possible just as Steamdeck or Metagrid change profiles

                            1. Yes very easy.
                              Just create a macro and add the macro "Open Surface" and select where to show the surface and how to trigger it:

                              1. FFrank Ilfman @Frank_Ilfman3
                                  2021-04-08 12:36:20.938Z

                                  Great thanks, got it, is there a way to do a toggle between the surface as i can see the stack on or close once the app quits ?

                                  1. Hmm. I don't think there's a "Close Surface" macro. I could be wrong. @Kitch do you know?

                                    But you can certainly do it with script. Here's some sudo code. You can get the javascript from a macro in the top right corner of the macro where there's 3 dots. That way you can get the correct surface ID's etc:

                                    var surface1 = 'user:ck3gu25r800005b10ltaraztu:cjol1mcjn0001fx10em196jxu'
                                    var surface2 = 'user:ck3gu25r800005b10ltaraztu:cjol1mcjn0001fx10em196jxu'
                                    
                                    // Closing Surface 1
                                    sf.surfaces.get(surface1).surfacesSurfaceCloseAll();
                                    
                                    // Opening new surface on my iPad.
                                    sf.surfaces.get(surface2).open({
                                        device: sf.devices.mobile.getByDeviceId('mobile.F3FF9142-9EAE-4945-8172-BE3388FE5A78--Jesper-Ankarfeldts-iPad'),
                                    });
                                    
                                    
                                    1. Kitch Membery @Kitch2021-04-08 18:52:59.594Z

                                      Hi @JesperA,

                                      At this time there is not a close surface macro, but it is a requested feature. So hopefully it will be implemented in a future SoundFlow update :-)

                                      Rock on!

                                  2. In reply toJesperA:
                                    FFrank Ilfman @Frank_Ilfman3
                                      2021-04-08 13:32:51.655Z

                                      I have created the open surface as you mentioned and its working every time i open cubase, but it taking over focus from the cubase and staying on the surface
                                      i trying to add application focus but didn't seem to work ( i am using a touchscreen on a mac)

                                      1. Did you try:

                                        If you are in script you can also try:

                                        var app = sf.ui.cubendo
                                        app.getWindowWithTitleStartingWith(app.appName).elementRaise()
                                        

                                        This will raise the window starting with Cubase in your case, aka the arrangement window.

                      2. F
                        In reply toFrank_Ilfman3:
                        Frank Ilfman @Frank_Ilfman3
                          2021-04-08 13:58:52.351Z

                          The Activate app didn't do it

                          this is what i have, for the script var app = sf.ui.cubendo
                          app.getWindowWithTitleStartingWith(app.Cubase).elementRaise()

                          is this correct ?
                          Also where do i add it ?

                          1. Remember there's two, Activate App and Activate App's Main Window.

                            If you wanna use the code, you have to convert the Macro to a script. Just click that butten. Then paste in exactly the code I shared. What it basically does is that it saves cubase or nuendo (hence the cubendo, but selects the one that was opened first) as a variable called app. Then when we write app.appName it equals to writing 'Cubase'.

                            Let's say you want to raise/focus the Export Audio Mixdown window you could instead write:

                            app.getWindowWithTitleStartingWith('Export Audio Mixdown').elementRaise()
                            
                          2. F
                            In reply toFrank_Ilfman3:
                            Frank Ilfman @Frank_Ilfman3
                              2021-04-08 14:32:32.828Z

                              is this what you mean ?

                              1. Yes that's it. And you can add the

                                sf.surfaces.get(surfaceId).surfacesSurfaceCloseAll();
                                

                                In there as well if you need it to close another surface before :)

                                1. FFrank Ilfman @Frank_Ilfman3
                                    2021-04-08 16:01:48.341Z

                                    then its still not working, focus stay on SF

                                    1. Hmm. Think I found the problem. I did not try it on with a local surface. Just did. And realized that it goes nuts when it's trying to focus the main window because it would constantly focus between the surface and DAW. So I did a bit more scripting:

                                      let app = sf.ui.cubendo;
                                      let surface1 = 'user:ck3gu25r800005b10ltaraztu:cjol1mcjn0001fx10em196jxu'
                                      
                                      if (sf.surfaces.get(surface1).getAllLoadedInstances().length == 0) {
                                          sf.surfaces.get(surface1).open({
                                              device: sf.devices.localMachine,
                                          });
                                          app.appActivateMainWindow();
                                      }
                                      

                                      You have to replace the surface1 id with your own surface ID.
                                      This works here. It basically checks if the specific surface is not showing (there's 0 of it) it will open it and then focus your DAW.

                                2. F
                                  In reply toFrank_Ilfman3:
                                  Frank Ilfman @Frank_Ilfman3
                                    2021-04-08 16:48:56.264Z

                                    Where can i see the Surface id ? i cant see anything with 3 dots when i click on the macro of the surface

                                    1. You get the ID of any trigger by selecting in and pressing cmd+c. You can also go to the SF menu: Command -> Copy Command ID.

                                      But you already had your surface ID in one of the snap shots you shared where there was some code. The string starting with 'user:ckn and ending with gymot'

                                    2. F
                                      In reply toFrank_Ilfman3:
                                      Frank Ilfman @Frank_Ilfman3
                                        2021-04-08 17:23:40.324Z2021-04-08 17:50:55.745Z

                                        Ok, so if i underwood currently i have created a new script and paste and changed the user id

                                        i get this error when i open cubase

                                        08.04.2021 18:16:21.54 [Backend]: Logging error in action (01) AppActivateMainWindowAction: Could not find Main Window UI for application with bundle id: 'com.steinberg.cubase11'
                                        !! Command Error: Open Cubase Surface [user:ckn5xnxw60003u5100t5dgi0k:ckn94czgm0003i7104hq1mrdq]:
                                        Could not find Main Window UI for application with bundle id: 'com.steinberg.cubase11' (Open Cubase Surface : Line 8)

                                        but it seems to work
                                        im sure i am missing something

                                        1. And you of course have Cubase running?

                                          I don't know what that error comes from. Maybe @chrscheuer can answer that.

                                          1. FFrank Ilfman @Frank_Ilfman3
                                              2021-04-08 20:28:37.209Z

                                              Yes, this msg comes up as i start cubase and the surface shows up

                                              1. Well that's because it doesn't have a main window on startup

                                                You can remove the error by adding a line like I've done below:

                                                let app = sf.ui.cubendo;
                                                let surface1 = 'user:ck3gu25r800005b10ltaraztu:cjol1mcjn0001fx10em196jxu'
                                                
                                                    if (sf.surfaces.get(surface1).getAllLoadedInstances().length == 0) {
                                                        sf.surfaces.get(surface1).open({
                                                            device: sf.devices.localMachine,
                                                        });
                                                        if (app.getWindowWithTitleStartingWith(app.appName).exists) // this will now only run if there's a main window running. 
                                                            app.appActivateMainWindow();
                                                    }
                                                
                                          2. F
                                            In reply toFrank_Ilfman3:
                                            Frank Ilfman @Frank_Ilfman3
                                              2021-04-09 10:54:20.195Z2021-04-11 21:25:32.731Z

                                              Great, that seem to do the trick, Thanks for the help.

                                              strange enough all my Generic devices and SKI got deleted from cubase so had to reinstall again, first time i had that issue.

                                              1. FFrank Ilfman @Frank_Ilfman3
                                                  2021-04-14 15:21:27.215Z

                                                  I have also noticed that Cubase keep forgetting my generic device SF midi in/out and i need to re do it every time i restart my mac

                                                  i have made an IAC port, but cant see where to enter those with SF if i have midi fader on my touchscreen as those one cubase doesn't seem to forget