Qtractor Wiki How To - 12 Automate Buses and Others Using Layers


How To - Contents

Ingredients:

Introduction

In Qtractor the default way of automating is by tracks. Each track allows you to view only one automation at a time. However sometimes we need to automate buses, or view several layers (tracks) of automation at the same time. Is this possible? Yes, of course.

Qtractor offers modular functionalities. If we relate them together creatively we can achieve almost anything we need.

In this case the modules are:

The basic concept for automating buses is:

  1. Link a fader of a MIDI track to the element you want to control.
  2. Automate the fader. The linked element is therefore also automated.
  3. This allows us to create independent layers (tracks) for each automation.

We encounter two obstacles:

  1. The MIDI faders emit only 2 standardized events (Volume:CC7, Pan:CC10) and we need to send any MIDI event.
  2. The midi track sends and receives the same CC message on the same MIDI channel. Activating the “Control” port generates an infinite loop that will make Qtractor crash.

These obstacles are solved with “midi filtering plugins”, and a “host plugin” that prevents midi signal leaks.

Template MIDI-ControllerSurface.qtt

Filtering and interconnecting MIDI signals is a very broad, complex and technical thing. It takes several books to explain it. Therefore, this tutorial has the following focus:

  1. We offer you a configured and fully functional template.
  2. We explain how to use it, edit it and create your own versions of it.
  3. In this way, you will expand your knowledge by creating your own configurations.

This is more manageable than having to explain the why and how of each connection and filter. This template allows you to have an “Automatable Midi Controller Surface” within Qtractor. This is the power of modularity in Qtractor. It allows us to create workflows that work almost like a native functionality developed in C++.

INSTRUCTIONS MIDI-ContollerSurface.qtt

In Qtractor activate: Options > MIDI > Control > “Dedicated input/output for midi control”. Open “MIDI-ContollerSurface.qtt”.

PRECAUTIONS!

To avoid Qtractor crashing due to MIDI event leaks we must take the following precautions:

Template Preset Configuration

  1. Carla is the first Controller/Group tracks plugin. It performs MIDI channel filtering and replaces CC events via the plugins it hosts. As you can see, it does not display its name, but rather the functionality it performs. This is achieved by assigning an alias in the plugin properties.
  2. All Controller/Group tracks receive events on the original MIDI channel 15. However, thanks to filtering, they output on channel 16. This prevents possible infinite loops.
  3. Both Carla and the Controller/Group tracks indicate which CC messages they are outputting. The image indicates V:16, P:17. This means:
  4. Group faders output multiple CC messages from each fader. This allows groups to be created:

Practical Example: Assign the reception of a CC event

Let’s imagine that we want to automate the Master audio bus Gain fader. The “Controller 1” track indicates that its Gain fader outputs CC14 on channel 16.

Right-click on the Master audio bus Gain fader:

  1. Assign Type Controller, Channel 16 and Parameter 14.

  2. Logarithmic and Hook must be checked.

  3. Move the “Controller 1” Volume fader: We see that they are already linked.

If we want, we can automate the “Controller 1” Volume fader, and therefore, since they are linked, the Master bus Gain fader. To automate tracks, consult the Qtractor manual: 4.6.8. Automation

Correct settings by destination controller type:

Trick Crossfader: To perform crossfader, control several elements from a Group and checked the option “Invert” on the one you want to crossfade.

Customization

To add Controller/Group tracks, duplicate the existing ones and modify the CC number into Carla in edit parameters.

Recommended Assignable CC:

To avoid conflicts we recommend using only “general purpose controllers” and “non-predefined controllers”. This would be the available list: 3,9,14…31,41,46…63,85…90,102…119

Remember to also edit the plugins name, the Carla’s alias and the track name with the new CC number to always have the information clear at sight and avoid confusion.

To modify the existing Controller/Group tracks, act in an analogous way.

It may seem cumbersome, but the goal should be to create custom presets, and once you’ve set them up you don’t have to touch them again.

Once you’ve got everything just right, you can save each track configuration as a preset. Track presets are saved by right-clicking on the “plugin box” > Export. And they are loaded by right-clicking on the “plugin box” > Import. You can also save a preset for the entire session by saving it as a template.

Other Uses

You can also try to perform different types of filtering for different functionalities.

For example:

You can create a configuration to control devices external to Qtractor (synthesizers, lighting devices, motors, etc). In these cases channel filtering is not necessary, because there is no risk of looping.

The potential is endless.