Product SiteDocumentation Site

Chapter 10.  The Patchbay That Jack Built

Since Qtractor relies upon QJackCtl as its signal routing backend, it can take full advantage of QJackCtl's Patchbay feature. The Patchbay is basically an interface that allows you to define pre-set routing configuration so that needn't re-do all your routing every time you start either QJackCtl or Qtractor.

Note

This chapter paraphrases a blogpost on developer Rui Nuno Capela's blog, which in turn quotes a mailing list post by user Simon W. Fielding.
To create a preset configuration for your gear and software:
  1. Plug in all devices and activate the applications you intend to connect to.

    Note

    You may wish to connect everything manually first, although it's not necessary. It may help guide you, however, as you will be re-creating the configuration manually.
  2. Click the Patchbay button in the lower left of the QJackCtl window. If needed, you can also open the Connections window as reference.
  3. In the Patchbay, click the New button located in the top left corner of the window.
  4. You will be asked if you wish to create a snapshot of your current configuration. Somewhat counter-intuitively, the answer is No.

    Warning

    If you answer Yes to this question, this process will not work. The correct answer is No.
  5. Obviously there are nearly infinite varieties of possible configurations, so the following example is only one of many. The principle will be the same regardless of your setup.
    Click the Add button on the left side of the patchbay to create a new Output Socket. An Output Socket in this context is a source of sound or some kind of signal; it's an output of itself, and it will be sent as an Input to the computer!
  6. In the New Output Socket window, provide a logical, human-readable name for your new socket. If you are defing where you'd like your USB keyboard to be routed, for example, you might name this socket USBKeyboard_AKAI.
  7. Define the type of socket; the three types are Audio, MIDI, or ALSA. These correspond with your Connections window, so refer to it if you're unsure. If you had your USB keyboard working as a MIDI device, then simply look in connections and see how you had it routed, and emulate that for your socket. In my example, I would set this socket to ALSA, since I am using ALSA as my MIDI driver.
  8. Set the Client to reflect the device you are routing. In my example, I would choose the LPK25_AKAI.
  9. Choose from any available plugs that you wish to use. In my example there is but one; choose yours, and click the Add button to add it to the socket.
  10. Click the OK button to confirm. You now have an output socket available in your custom patchbay. Next, set an Input socket for JACK.
  11. The process for the Input socket is basically the same; click the Add button on the right of the patchbay. In the New Input Socket window, give a logical name for your socket; in my example, I might use Qtractor_AKAI or similar.
  12. Set the type to the same as your related Output socket; in this example, I would choose ALSA.
  13. Choose the destination client from the Client dropdown menu. In this case, I would choose Qtractor, but if I have a dedicated keyboard for a specific synth, then I might just as likely choose amSynth or any other potential destination for a keyboard. Again, your previous experience with your known setup should be your guide here.
  14. Choose the plug to use for the socket; in this case I have only one available, so I would select it and click the Add button, and then the OK button to confirm the socket creation.
  15. Back in the Patchbay window, there are now two sockets. Within each socket there is one device. Click these devices and click the Connect button.
  16. Repeat this process for each source of sound or signal and each destination, until you have replicated your typical setup in this patchbay form.
  17. When you have finished setting up the patchbay definition, click the Save button to save it as a preset. Save a copy of the configuration to both a standard location in your home directory, as well as into your project folder for safe keeping.
  18. To load this configuration manually, simply click the Load from the Patchbay window of QJackCtl.
    If you want this to be your default configuration, then click the Setup button on the right of the QJackCtl window.
    Click the Options tab and place a checkmark in the Activate Patchbay Persistence option. Choose the preset you wish to have automatically loaded.
  19. Click the OK button to save your changes.
  20. Restart QJackCtl to test the auto-load.
You now have persistent connections for QJackCtl and Qtractor.