Jamulus: "Normalise" button request

Created on 24 Sep 2020  Â·  27Comments  Â·  Source: corrados/jamulus

Would it be possible to code a new button into the client which would normalise all faders to 50% for example. If you join a new server with a lot of users, it can take a while to normalise all faders one by one.

feature request

Most helpful comment

A button to reinitialise all faders to the new client level would make this very easy.

I just checked in the code. Not a big deal at all. I just implemented a new menu entry for it:

grafik

It's this commit: https://github.com/corrados/jamulus/commit/a0e02f24ba8b7cd5107a9cbe968458f32542052d

All 27 comments

The "New Client Level" should do the trick.

@corrados I use New Client Level = 50% all that time, and it's great. But I think this request is for a button that would set all storedfaderlevel values in the INI (and in memory) to 50. Maybe a new menu item similar to Clear All Stored Solo Values?

Maybe I wasn’t clear. I understand the new client level and it is great for controlling new clients joining a room but it’s for when I join a room. Maybe a ‘group all’ would also make this more feasible.

If I may add a thought: In issue #599 pljones mentioned a possible "balance" slider which may solve this issue and a few others. It would effectively slide between "solo" and "mute" and everything in between which would allow for a very flexible monitoring

It seems that the New Client Level does not work as expected. I just tried it out with a "fresh ini file", set the New Client Level to 50 and entered a server where some others were already connected. In contrast to my expectation, all faders were on 100 % when I entered the server but they all were supposed to be at 50 %. I'll look in the code soon to find out what goes wrong there...

I always thought that the new client level only addressed a client that entered after you entered a server. Pre-existing clients in a server were not affected. I may be wrong.

No, the intention was that it also applies to a clients when you connect to an occupied server. If the New Client Level would work as intended to, njc235 would get what we want: When he sets New Client Level to 50 and enters a server, all clients (which are not stored in the settings) will get a level of 50 automtically and njc235 must not adjust the level of each client manually.

I'll change the title now to reflect the new understanding of the problem.

I still think it would be a good idea to be able to push a button and have everyone reset to a predetermined level ready for a remix.

The New Client Level actually works as expected. When I did my test and I saw that it did not work was because I was connecting to a server which was older than 3.5.5. For the New Client Level to work correctly, we need a Jamulus server version >= 3.5.5.

Changed the title back to the original one since with the new client level functionality there was not bug.

Maybe I wasn’t clear. I understand the new client level and it is great for controlling new clients joining a room but it’s for when I join a room.
[...]
I still think it would be a good idea to be able to push a button and have everyone reset to a predetermined level ready for a remix.

Let's continue to discuss this. So basically, if the server version is sufficiently high, you can use the New Client Level for what you want to achieve. If I understood correctly, if you enter a server and there are clients connected which you have never seen, they should get a fader level of 50 %. If you set the New Client Level to 50 %, this will do this. So the New Client Level will work either when you enter the server or when a new unkown client enters the server.

So actually I do not see a need for an additional button.

I still think there would be value in a 'normalise' or 'set all faders to x%' would be useful. The new feature to clear stored fader values and the improved reliability of 'new client level' is a vast improvement. However consider where you join a large jam, set a lot of faders to your taste including someone with a low gain input. You later have that same person in your room but they have solved their low gain issues. You suddenly get blasted. Sometimes there are more than one high level fader you need to quickly drag down to save your ears. A quick 12db cut to all would solve this. Perhaps I am the only person to see this as a good feature?

I can see some value here, with a simplified use case: I jam with various people over a period of weeks. Then I join a jam night and there are 20 people on the server, all with stored fader values in my INI. I want an easy way to reset them all to 50%, which New Client Level doesn't do. So a Reset Faders button/menu item would be handy. It could be just for the server connections at that time, or it could be like Clear All Stored Solo Values: Clear All Stored Fader Values.

For live mixing purposes on WorldJam when new musicians join a server - possibly having been there before but mixed for a different song, even playing different instruments... the sound engineer's first thought is to get all faders to the "new client" level by eye, roughly. A button to reinitialise all faders to the new client level would make this very easy. When a new song is about to start the audio engineer would have just one button to push. It could be a menu option / keyboard shortcut, it doesn't need to be pressed frequently.

As others have mentioned, it's also useful when you join a new server to be able to set everyone to 50% or 70% or whatever your setting is, and then start to make your own mix before you join in. If you have seen people before, the settings from your ini will prevail and you may have seen those clients playing different instruments, or with different local gain...

A button to reinitialise all faders to the new client level would make this very easy.

I just checked in the code. Not a big deal at all. I just implemented a new menu entry for it:

grafik

It's this commit: https://github.com/corrados/jamulus/commit/a0e02f24ba8b7cd5107a9cbe968458f32542052d

Fantastic. Two small changes (with #695) that will really help workflow for live broadcast mixing. Thankyou @corrados I will let you know how I get in on in "real" conditions this coming weekend.

Yes, please share your feedback here. Since the feature is now implemented, I'll close this issue. But we can still continue the discussion even if it is closed.

I really love this feature already and it works great for me.
For my usecase it makes more sense to apply the new client level to every fader but my own to change the mix while keeping my monitoring level constant. I changed that in my fork already. Would anybody else find that useful?

For my usecase it makes more sense to apply the new client level to every fader but my own to change the mix while keeping my monitoring level constant. I changed that in my fork already. Would anybody else find that useful?

@houbsta, @sthenos What do you think about this change? I would like to use @dingodoppelt's change also in the official Jamulus version. I guess that for mixing the Worldjam this does not matter since "my own fader" in that case is the fader of the stream which does not have any input signal anyway. The purpose is to take what comes from the Jamulus server, mix it and send the audio to OBS. So I guess "my own" fader level is irrelevant.

Just going to modify the description of the "New Client Level" setting in the docs. This is currently described as:

"This setting defines the fader level of a newly connected client in percent. If a new musician connects to the current server, they will get the specified initial fader level if no other fader level from a previous connection of that client was already stored."

So can we describe "Set All Faders to New Client Level" as to be used when you enter an occupied server so that you can set all clients (that aren't already known) to that level?

@corrados Thanks for considering to merge my patch. I created a pull request if that's ok.

729

Ok, thanks. Let's wait for other opinions on that before I merge it.

@gilgongo

Set All Faders to New Client Level" as to be used when you enter an occupied server so that you can set all clients (that aren't already known) to that level

Remove this "that aren't already known" because right now all visible faders on the mixer panel are getting that new level. Maybe we change this in the future that your own fader will not be changed.

No feedback so far. So I'll merge your pull request now.

Yes this is fine, the client level fader is not important for a mixing engineer, they has nothing on their own "client" fader. But it is important that even known clients get reset, because a new song with new members joining, and current connected people possibly changing instruments, means it's most useful to reset every level to the same.

But it is important that even known clients get reset [...]

Yes, this is still the case. Just your very own fader will not be changed. All other faders which are active in that session are changed.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jarmar picture jarmar  Â·  9Comments

corrados picture corrados  Â·  12Comments

Brian-McBride picture Brian-McBride  Â·  15Comments

gilgongo picture gilgongo  Â·  15Comments

ycollet picture ycollet  Â·  8Comments