No internet connection
  1. Home
  2. How to

Logic Pro X- Sending MIDI messages via SF to trigger key commands

By Dan Radclyffe @Dan_Radclyffe
    2020-10-14 14:24:27.236Z

    Hi there,

    I use Logic Pro X for songwriting and mixing in a professional capacity. Recently I repurposed an old Korg drumpad controller to trigger Key Commands in Logic using apple-L to learn the commands. The Korg is sending MIDI note-on messages (on channel 10 as drumpads are often setup to do) and i'm telling Logic what that pad should trigger.

    I'm replacing the Korg pads with a Stream Deck. In the stream deck app you can send MIDI notes simple enough, but was wondering how to do it if i'm bypassing the Stream Deck app and controlling it solely with Soundflow.

    When I browse the actions menu I can't find anything under a 'MIDI' search? Is it only possible to do with actual scripting (I can't script)?

    Once i've got these basics down to replace my current key-commands I can try my hand at some actual macrooos :)

    In general it would be mind-blowing to see Logic supported fully in Soundflow, with access to all the shortcuts etc. When in a songwriting session speed is really important! And for mixing I can only dream of Melodyne and Revoice Pro macros to halve prep time.

    Solved in post #2, click to view
    • 18 replies
    1. D
      Dan Radclyffe @Dan_Radclyffe
        2020-10-14 19:52:54.620Z

        I've figured it out myself in case anyone else wants to know. As Christian wrote in this thread: https://forum.soundflow.org/-1176/send-midi-note there is a 'midi note on' code you can use.

        Took me a google search to translate what his code was... "midiBytes: [0x90, 36, 100]" !

        0x90 is a midi note on channel 1 (0x91 would be 'midi note on' on channel 2)... 36 is the note value (C1) and 100 is the velocity.

        Better to use CC changes for automating plugin parameters, so instead of 0x90 i've used 0xB1, 36, 100 (0xB1 is for a continuous controller message on MIDI channel 2):

        0x80 Note off
        0x90 Note on
        0xA0 Aftertouch
        0xB0 Continuous controller
        0xC0 Patch/instrument
        0xD0 Channel pressure
        0xE0 Pitch bend
        0xF0 Misc commands to the device

        In Logic you can use Command-L and select the parameter to toggle/automate or whatever, and just go ahead and run the macro from Soundflow when in learn mode. Logic recognises Soundflow as a MIDI controller:

        Then it's just a case of mapping that macro to a Stream Deck button.

        Yay.

        Reply1 LikeSolution
        1. Mega cool!! So happy you got this far all on your own!
          We should definitely have macro-level support for this as well, but great to hear you got this working now.

          1. DDan Radclyffe @Dan_Radclyffe
              2020-10-14 22:04:18.614Z

              Thanks! As i'm 99% using these commands to toggle metering plug-in parameters on and off, it would be GREAT if the hotkey icon-switching from the stream deck app could be implemented to Soundflow at some point? For visual cues etc

              1. It's on the roadmap :)

          2. D
            In reply toDan_Radclyffe:
            Dan Radclyffe @Dan_Radclyffe
              2020-10-18 11:42:32.892Z

              Hey @chrscheuer SF doesn't seem to want to communicate with Logic at all now, whether I try and activate Logic within a macro or not. The midi messages I had setup before no longer register on Logic's MIDI input meter. Can't even get a basic key command working either.

              A macro i'd started for UAD Console is still working. But nothing for Logic.

              Any ideas?

              1. Hi Dan,

                The first thing I would try would be to re-assign the MIDI input in Logic to see if it for some reason filters on virtual MIDI devices and remembers an "old" instance of that MIDI device.

                1. The reason why I say this is that we've noticed in the past that Cubase for example can lose the "MIDI input" bindings when using a virtual MIDI output (as for example SoundFlow Custom Midi Output 1). Perhaps Logic has this issue too.
                  If this is the case, there's a chance you can improve the situation by routing things through IAC busses, but let's go there only if we need to.

                  1. DDan Radclyffe @Dan_Radclyffe
                      2020-10-18 15:33:43.720Z

                      Thank you- however that wouldn't explain why I can't get SF to send basic keyboard commands to logic ('press keys' action)? I think it's something beyond just the MIDI...

                      1. Yea that's true. How are you triggering these in SF?

                        1. DDan Radclyffe @Dan_Radclyffe
                            2020-10-24 16:14:20.003Z

                            I've solved this. In MIDI environment>Clicks and Ports, right click on the SoundFlow object and 'Delete'. Logic should receive MIDI messages again

                            1. Whoa, that's a good catch! Thanks so much for sharing this :)

                              1. DDan Radclyffe @Dan_Radclyffe
                                  2020-10-24 16:26:18.454Z

                                  No problem. Would be good in a future update to have a MIDI message action ready to go? As in, choose which MIDI channel, type of message, note number and velocity in pop-up menus- without needing to understand all the bytes etc. They make my brain hurt :(

                                  1. Yes, totally agree. It's on the roadmap :)

                    • D
                      In reply toDan_Radclyffe:
                      Dan Radclyffe @Dan_Radclyffe
                        2020-10-18 16:21:35.338Z

                        Neither of these work, to bring up the colour bars say:

                        sf.keyboard.press({ keys: "alt+c", });

                        sf.ui.app('com.apple.logic10').appActivate(); sf.keyboard.press({ keys: "alt+c", });

                        1. D
                          In reply toDan_Radclyffe:
                          Dan Radclyffe @Dan_Radclyffe
                            2020-10-21 16:17:21.860Z

                            Solved the key command problem. Due to the way that SF interprets which window is active in Logic, you need to preface most commands with 'Activate app's main window' as opposed to 'Activate app'.

                            As for the MIDI, no idea. Am working on a new computer and it's started working again...

                            1. Thanks, Dan. Didn't see your messages until now (the forum has a setting/bug in which I won't see your reply to your own post unless you reply to mine.. we're working on fixing this)

                              Happy to hear things are working and that you've solved the keyboard simulation issue. But a bit worrisome with the MIDI randomly working and not working. Let me know if you find a pattern in it so we can investigate if the issue reoccurs.

                              1. DDan Radclyffe @Dan_Radclyffe
                                  2020-10-22 11:59:44.076Z

                                  No problem @chrscheuer. I think the MIDI problem, and general SF>Logic problems i've been having are due to the fact that I have multiple Logic versions installed on the same computer. This is not uncommon for Logic users. For example I have three! Logic 10.4.2, 10.4.8 and 10.5.1.

                                  In my Applications folder I have three applications ALL called 'Logic Pro X' but they're in different folders each named after the version.

                                  So when pointing to it in SF the paths look like:
                                  Applications>Logic Pro X 10.4.2>Logic Pro X
                                  Applications>Logic Pro X 10.4.8>Logic Pro X
                                  etc

                                  I've now changed the actual application file names, so there's no two applications with the same name.

                                  Applications>Logic Pro X 10.4.2
                                  Applications>Logic Pro X 10.4.8
                                  etc

                                  Fixed for now!

                                  1. Awesome! Thanks so much for the details :)