You are here

Mixer volume not honored upon initial loading of project

I've been working around what feels like a bug for some time now and finally decided I should stop and report it.

So for a given track, I've got the mixer volume pulled down to 50 %. I save my work, life is good.

I come back later, open the file and upon playing the track, I notice volume is at 100 % (mixer track still shows the intended 50%).

My work-around has been to "nudge" each of these non-100% tracks in order to get things sounding the way they should. Of course, this is horrible.

I should also point out that from a MIDI perspective, all my tracks are driving carla-hosted plugins via dedicated MIDI busses. I've taken care to configure each plugin's MIDI abilities as shown in the attached image. As a result, every day operations are always reliable aside from this one issue involving the initial "seeding" of each track's volume.

20 years ago, I'd have just set a CC=7 value for each track at 00:00:00 but that feels shameful now. Am I nuts to think Qtractor should be sending an initial MIDI controller event when the track begins playing based off the state of the track's volume in the mixer? If not, how is this supposed to work?

Thanks in advance for any insight

AttachmentSize
Image icon Screenshot_2021-07-08_00-07-08.png71.48 KB
Forums: 
rncbc's picture

Am I nuts to think Qtractor should be sending an initial MIDI controller event when the track begins playing based off the state of the track's volume in the mixer?

and that's exactly what it does: it sends MIDI track's volume (CC#7) and panning CC#10 as well, at the start of playback; the values that are sent are the ones set on the MIDI track's mixer strip sliders.

however, if there are any CC#7 (or CC#10) channel events inscribed in the MIDI sequence, file or clip, they will be sent to the target devices alright--why wouldn't they?--and that just might not get reflected to the mixer strips sliders at all! I'm pretty sure it is not:) but them both might affect the target device which I think is some Carla hosted plugin in your case.

hth.
cheers

Thanks for the confirmation. When I have some time, I'll insert something that'll show me the messages being sent and report back. I just need to understand why I have to resort to "nudging" the slider in order for desired volume to take effect.

Hello again,

I finally got around to taking a closer look on this. The screenshot shows the mixer strip in question which is set at 78.7% as well as the UI of the Sherlock MID Inspector which I've added between the appropriate MIDI Bus and Instrument hosted within Carla. As we can see, there are no controller events sent before the NoteOn event.

Of course, now I understand why my "nudge hack" works. When I do that, it sends those controllers and my mix starts sounding like it should (one track at a time).

I have verified there are no events on this track other than the notes themselves and I am running version 0.9.23

All the best

File attachments: 

bump

bump

rncbc's picture

hi, bumping what exactly?

The update I posted on Aug 11

rncbc's picture

Ok. maybe I overlooked it, sorry... however I now realize that I answered with slightly incorrect information before :)

MIDI track strip's volume (CC#7) and panning (CC#10) values, are only sent through (in bulk)
1. at the initial loading of the session, and
2. after an external MIDI input or output connection changes;
it does NOT send any of those at the start of playback, as I falsely wrote before. sorry again.

is it now clearer? hope it makes sense :)
cheers

PS. IDK why the initial CC#7 and #10 events are not shown in sherlock.lv2's UI, but I just traced and confirmed that they are actually being sent and digested through other plugins (upon initial session loading).

I'm not sure how this would lend itself to the scenario where the session (instruments and routing) are handled by Carla rather than Qtractor. Traditionally, I've loaded my Qtractor project first in order to create the ports. Then I load the corresponding .carxp file in Carla in order to load the instruments and connect everything.Based on what we're saying here, I now understand why those controllers being sent by Qtractor had no effect.

If I swap the work flow and load Carla first, I have instruments loaded and ports established but they're not routed (which makes sense since Qtractor is not open). Loading the Qtractor project results in the audio routes being established but not the MIDI.

So basically, it would appear as if the method by which these controllers are sent is really centered around the assumption that Qtractor is being used in a stand-alone fashion?

rncbc's picture

Loading the Qtractor project results in the audio routes being established but not the MIDI.

that's weird: qtractor should connect all its former connections, audio and MIDI (ALSA MIDI though), when the session is opened--provided those connections were live when you saved before.

Pages

Add new comment