Automation with multiple connections

Having trouble with LMMS? Ask about it here.

Hi all,

there is nearly nothing to find in the internet about the possibility in lmms to connect the part of an automation track to more than one knob. But it's there and it works (Version 1.2.2)!

I added a new automation track, clicked to create a new empty track part and Ctrl-dragged the "Filter-Cutoff"-Knobs of 8 different instruments into it. When you right-click on the track part it shows the current connections.

You can even copy the (recorded or handdrawn) automation of another automation track into this part. This will add one more connection but you can remove it while keeping the automation-graph. Great!

But, there is a bug: When you don't choose discrete progression but linear or cubic progression, all CPUs will go crazy (meaning full throttle) while playing that part. No programm-crash, no sound glitches, but the GUI of lmms and of the whole system gets very slow.

When exporting the song to a wav or mp3 you can also see that the calculation of this part is extremly slow.

When I run 8 different automation tracks simultaneously with cubic progression where each is connected to only one knob, there is no problem with CPU. But one automation track with linear or cubic progression that is connected to 8 knobs causes full CPU-Usage. So I guess this is a bug and hope it will be fixed in Version 1.3?

Greets XP

xperior wrote:
Fri Feb 07, 2025 11:26 am

Hi all,

connect part of an automation track to more than one knob works

Yes that is possible, but only if the dials are identical! You will get very strange automation if you attempt to bind f.i. VOL and PAN because those two has different scaling!
Therefore is multi-dial-binding not a good idea, and it will only works as expected, when the dials has the same scaling

But, there is a bug: When you don't choose discrete progression but linear or cubic progression,

I think this is a typical scaling problem. One dial may be influencing another dials values and forcing it into no-sense values. Again it is best to not bind several dials in the same automation.
There is a reversed options for binding, and that is to use one Automation track, but with several different clips that each only have one bind to one controller.
That is possible, and it will not result in errors, however it can be really confusing later on, and make it difficult to understand the project.
If that is used naming each block in the automation track is a must!

I know that the scaling of the multiple dials must be the same. That's why I chose 8 knobs of the same type ("Filter-Cutoff"-Knob). I'm also aware that you can put multiple clips each connected to a different dial into one automation track. But both cases have nothing to do with the scenario I wrote about.

I think this is a typical scaling problem. One dial may be influencing another dials values and forcing it into no-sense values.

No, this is not a scaling problem. The "Filter-Cutoff"-Knob of an instrument does not influence any other dials.

And how would you explain this: When using 8 separate automation tracks, each connected to only one knob, everything works flawlessly. But one automation track connected to the same 8 knobs makes all CPUs go 100%. This is a programming error.

Is this a known bug? Will it be fixed in Version 1.3? Or will you stop supporting multiple connections?

xperior wrote:
Sun Feb 09, 2025 7:18 pm

8 knobs of the same type ("Filter-Cutoff"-Knob)

Will test -Ty.

No, this is not a scaling problem. The "Filter-Cutoff"-Knob of an instrument does not influence any other dials.

Ok. There may be a bug.

And how would you explain this: When using 8 separate automation tracks, each connected to only one knob, everything works flawlessly. But one automation track connected to the same 8 knobs makes all CPUs go 100%.

Cant explain

Is this a known bug? Will it be fixed in Version 1.3? Or will you stop supporting multiple connections?

Need to look into this and have talks :)


Well first thing was to rebuild, and i have 10 3OSC and automate VOL in one automation track. There is no spikeout at all! So i cant reproduce your issue in 1.3. It not because i have a monster box, PC is average.
I would like to see your setup.
Upload a file where this anomaly is demonstrated, and post link here.
(I will dig my old pc out and see if 1.22 behave different..

Hi Musikbear,

while building a testfile for you, I found out that this is NOT true:

When using 8 separate automation tracks, each connected to only one knob, everything works flawlessly.

It's exactly the same amount of CPU like it is with one automation track and 8 connections! So, big sorry. The complexity of my project must have fooled me somehow...

And it's only one special VST-instrument (the OBXD) that takes this much CPU whenever a cutoff value is sent. And if the progression mode in lmms is set to linear or cubic, lmms seems to send a whole lot of values. I guess every 1/192th?

So the real culprit is the combination of this two factors and it explains why discrete progression had no problem.

Greets XP

:idea: your project uses the complexity of the project itself. maybe back to the point above.
[*]there is nearly nothing to find in the internet about the possibility in lmms to connect the part of an automation track to more than one knob. But it's there and it works (Version 1.2.2)!

xperior wrote:
Mon Feb 10, 2025 1:30 pm

while building a testfile :: It's exactly the same amount of CPU like it is with one automation track and 8 connections!

Oh good! Then there is no bug. >Cancels digout<

musikbear wrote:

Yes that is possible, but only if the dials are identical!

I know controllers don't act like this, they respect the range and scaling of the knobs, so you can connect the same controller to two completely different knobs and still have both knobs move the same amount visually. Would it be useful if multiple automation connections worked like that too? I haven't looked closely at the code, but I think it could be done.

regulus wrote:
Wed Feb 12, 2025 1:12 am
musikbear wrote:

Yes that is possible, but only if the dials are identical!

I know controllers don't act like this, they respect the range and scaling of the knobs, so you can connect the same controller to two completely different knobs and still have both knobs move the same amount visually. Would it be useful if multiple automation connections worked like that too? I haven't looked closely at the code, but I think it could be done.

No cant be done. The value in the dial is reflected in the automation-track upper and lover limits. It is ambiguous when several dials set different values, but it is also confusing to have automation like that.