rncbc / qtractor

Qtractor - An Audio/MIDI multi-track sequencer
https://qtractor.org
GNU General Public License v2.0
499 stars 87 forks source link

Recording automation from plugins doesn't work when a parameter is controlled by MIDI CC #339

Closed maxigaz closed 2 years ago

maxigaz commented 2 years ago

In Qtractor 0.9.26.26git.d63f74, I use the LV2 versions of Surge XT and Vitalium, both of which support the mapping between MIDI CC (for example, a fader or the modulation wheel) and an arbitrary parameter.

When I select the same parameter in the Automation options in Qtractor and turn on Record mode, the changes can be heard in real time, but Qtractor doesn't actually record any automation nodes. To make it work, I have to change the parameters in the plugins' window using the mouse.

I've done some online research, and from what I understand, it's not possible to map MIDI CC directly in Qtractor for automation tracks, so I thought that if a plugin supports MIDI CC Learn on its own, it can be a great workaround. However, I'm not sure why it works only when the mouse is used.

rncbc commented 2 years ago

because it's specific to the plugin at hand, the mapping is not known to the host (qtractor);

however you can assign a MIDI Controller (CC, (N)RPN) to the desired target plugin parameter, under qtractor premises alright--you'll have to look at the stock/generic editor for that matter though (via plugin menu > Properties...) and NOT the GUI where you've been probably looking at (formally accessed via plugin menu > Edit...).

that should make it really work with qtractor's automation.

maxigaz commented 2 years ago

however you can assign a MIDI Controller (CC, (N)RPN) to the desired target plugin parameter, under qtractor premises alright--you'll have to look at the stock/generic editor for that matter though (via plugin menu > Properties...) and NOT the GUI where you've been probably looking at (formally accessed via plugin menu > Edit...).

Thank you for bringing this to my attention! I can confirm that recording automation works when the modulation wheel is mapped through the generic interface.

Speaking of which, Qtractor crashes when I do either of the following in the generic interface:

Scenario 1:

  1. Right click on a slider (e.g. Surge XT's Global Volume) and click on 'MIDI Controller...'
  2. Click on Cancel or OK (the settings don't matter).
  3. Right click on the same slider again and choose 'MIDI Controller...' the second time.

Scenario 2:

  1. Right click on a slider (e.g. Surge XT's Global Volume) and click on 'MIDI Controller...'
  2. In the dropdown menu labelled 'Parameter', choose '16 - Generic Purpose Slider 1', choose OK.
  3. Try moving any fader or knob on my M-Audio Oxygen Pro 49 MIDI keyboard.

Edit: I can also reproduce the crash from Scenario 1 if I go to Help > Shortcuts..., and try to bring up the dialogue window twice. Edit 2: I've realised that the crash in Scenario 2 happens if I choose a control with a specific ID, and then, after clicking on OK, move a different control.

rncbc commented 2 years ago

maybe fixed in >= 0.9.26.27git.2b5d43

please test && tell

maxigaz commented 2 years ago

It's working now. Thank you very much!