LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
7.96k stars 993 forks source link

force mute when exporting tracks to avoid automation unmuting an instrument #5533

Open RiedleroD opened 4 years ago

RiedleroD commented 4 years ago

Bug Summary

When exporting tracks, all instruments except for the active one get muted. So far soo good. When I put a automation line that mutes and unmutes instruments to create a stutter effect, it gets activated by the automation line when another instrument is active. I found a workaround, which consists of the automation line muting a FX channel that is linked to the instrument.

Steps to reproduce

Open a project with several instruments, and create a automation line that mutes and unmutes an instrument. Then export tracks. Voliá there you go.

Expected behavior

The currently inactive instrument stays muted

Actual behavior

The currently inactive instrument gets unmuted

Screenshot

lmmsbug

Affected LMMS versions

I tested it in Version 1.2.1 (Linux/x86_64, Qt 5.12.8, GCC 9.3.0), but I suspect all versions where 'export tracks' exists are affected.

MvanSteenbergen commented 3 years ago

I'd like to do this one!

MrTopom commented 1 year ago

May I have a try on this ?

MrTopom commented 1 year ago

I tried to reproduce but with no success. As I am new to LMMS maybe I did not do the right test project.

If anyone could reproduce and explain how to do then I would try to correct it.

JakeThe28th commented 2 months ago

I reproduced the bug in the latest nightly release:

Video:

  1. I export tracks w/ automation on, producing the bug
  2. I export tracks w/ automation off, no bug (though also no automation) (Footage is from the alpha and not the nightly release, but the bug occurs with the same setup in the nightly release too)

https://github.com/LMMS/lmms/assets/42324960/c4c632a0-c234-423c-813e-3081b5ab4b25

Project File:

bug.zip

michaelgregorius commented 2 weeks ago

Isn't it a bug that it is possible to automate "Mute" and "Solo" in the first place? I'll have to check but I am pretty confident that other DAWs like REAPER or Bitwig do not allow to automate this functionality.

I also cannot see in what scenario such a functionality would make sense. Let's say I automate "Solo" so that a certain track is soloed at a specific point in the song. Well, I can accomplish the same by making sure that only this track has clips at that position. If I automate "Mute" then I can accomplish the same by having no clips at that position.

Proposal to remove automation for "Solo" and "Mute"

So I propose that the fix is to remove the automation functionality from "Mute" and "Solo". Stutter effects should be implemented with plugins which then might also provide options to define an attack and release curve so that the transitions are softer and do not create pops like an automation of "Mute" and "Solo" likely does.

RiedleroD commented 1 week ago

counterpoint: mute/unmute is very intuitive to automate, and the alternative is automating yet another effect (e.g. an amplifier). the effects rack is already pretty overfull in many cases, so I'd rather use the mute button. And I believe it'd be incredibly tedious to replicate the solo button with channels in the mixer. Other DAWs behaving differently is incidental; LMMS shouldn't do things just because other programs do them.

additionally, there's the issue of removing features breaking existing tracks.

michaelgregorius commented 1 week ago

counterpoint: mute/unmute is very intuitive to automate, and the alternative is automating yet another effect (e.g. an amplifier). the effects rack is already pretty overfull in many cases, so I'd rather use the mute button. And I believe it'd be incredibly tedious to replicate the solo button with channels in the mixer.

An explicit plugin like a gate effect can be implement in such a way that no clicks and pops occur when the sound is muted and unmuted. Additionally the attack and release times can be implemented as flexible parameters. This is not possible when automating solo and mute. So if you want to achieve a stutter effect this way you might get bad results which might sound annoying or unprofessional to listeners.

Other DAWs behaving differently is incidental; LMMS shouldn't do things just because other programs do them.

If 99% of DAWs to something the complete opposite way they might be on to something. I'm reminded of the joke: "One wrong-way-driver? It's hundreds!"

additionally, there's the issue of removing features breaking existing tracks.

This is sometimes necessary if some feature has gone in a wrong direction. Otherwise LMMS will become/stay more and more resistant to change and has no chance to improve significantly.