Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable software-amplification of volume by default #395

Open
fiftydinar opened this issue Jan 30, 2024 · 6 comments
Open

Disable software-amplification of volume by default #395

fiftydinar opened this issue Jan 30, 2024 · 6 comments
Labels
API Issue related to the API

Comments

@fiftydinar
Copy link

Currently, maximum volume is at 150%.

Use 100% maximum volume by default & make software-amplification of volume the option in preferences.

Reason?

  • Audio quality degradation, which can be heard as distortion.
  • In long-term usage, listening to software-amplified volume can damage/degrade listening hardware

When user accidentally uses mouse scroll-wheel & increases the volume, he will notice this unpleasant experience.

Ideally, volume slider in Clapper would gather Gnomes schema related to that & dynamically enable/disable software-amplification of volume according to schema:

org.gnome.desktop.sound allow-volume-above-100-percent

But what about having this functionality in other DEs?

So I think that it's better to just make this an option & use 100% maximum volume by default.

@Rafostar
Copy link
Owner

Reason?

Audio quality degradation, which can be heard as distortion.
In long-term usage, listening to software-amplified volume can damage/degrade listening hardware

While I agree with the first, the second not so much. Software amplification changes waveform programically. It does not increase current in the amplifier. Worst case can be harmful for your ears.

Ideally, volume slider in Clapper would gather Gnomes schema related to that & dynamically enable/disable software-amplification of volume according to schema

This setting is for the desktop. App should not try to read and assume that if user set something elsewhere for another app (including desktop/gnome-shell), that this will affect some video player slider. Also it should be possible to have amplified video player only (without desktop).

When user accidentally uses mouse scroll-wheel & increases the volume, he will notice this unpleasant experience.

First thing that player currently lacks is some sort of clear OSD indication that scale went above 100%. Especially when controls panel is hidden.

@fiftydinar
Copy link
Author

fiftydinar commented Jan 31, 2024

Reason?
Audio quality degradation, which can be heard as distortion.
In long-term usage, listening to software-amplified volume can damage/degrade listening hardware

While I agree with the first, the second not so much. Software amplification changes waveform programically. It does not increase current in the amplifier. Worst case can be harmful for your ears.

Ideally, volume slider in Clapper would gather Gnomes schema related to that & dynamically enable/disable software-amplification of volume according to schema

This setting is for the desktop. App should not try to read and assume that if user set something elsewhere for another app (including desktop/gnome-shell), that this will affect some video player slider. Also it should be possible to have amplified video player only (without desktop).

When user accidentally uses mouse scroll-wheel & increases the volume, he will notice this unpleasant experience.

First thing that player currently lacks is some sort of clear OSD indication that scale went above 100%. Especially when controls panel is hidden.

  1. You're right
  2. You're also right, I didn't assume non-desktop usage of this app
  3. Agree

But one question is left unanswered:

  • Should we default to 100% volume & integrate the option for allowing above 100% volume (150%) in preferences?

or if you don't agree with the above, then:

  • Should we keep 150% volume maximum as it is & integrate the option to use 100% volume as maximum?

I think the 1st option is better.

Take a note that even if OSD is implemented for volume change on scroll-wheel, I would not want video player to cross 100% of volume ever, hence those 2 questions above.

@Rafostar
Copy link
Owner

Rafostar commented Jan 31, 2024

As surprising as it is... this request here needs more careful design planning then probably you initially imagine. I am gonna take it as our upcoming API request/related stuff.

Considering Clapper will have separate widgets that either change or show current volume level. Implementing what requested here is gonna need:

  • Each widget would need API method + property to allow/disallow volume amplification
  • API user will have to take care of making sure all enable/disable values are in sync himself

2nd one seems most problematic from the ease of use point. For now safest bet is probably to introduce new APIs without this functionality and we can always add this in the future once we reach a conclusion. Open for further discussion.

@Rafostar Rafostar added the API Issue related to the API label Jan 31, 2024
@sp1ritCS
Copy link
Contributor

sp1ritCS commented Feb 1, 2024

I wonder if were possible to paint the volume level widgets red if the level is > 100%, similar to what VLC is doing (just without the gradient)

@Rafostar
Copy link
Owner

Rafostar commented Feb 1, 2024

I wonder if were possible to paint the volume level widgets red if the level is > 100%

This is already done in the new UI OSD:

Screenshot from 2024-02-01 19-21-59 Screenshot from 2024-02-01 19-22-05

I think this is clearly visible (especially with separation at 100%), but the feature request here seems to be about not going above 100% even when user keeps on scrolling.

@sp1ritCS
Copy link
Contributor

sp1ritCS commented Feb 1, 2024

ah yes, thats what also imagined. I personally find it unnecessary to disable it by default it should be obvious that the audio quality will degrade in this case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API Issue related to the API
Projects
None yet
Development

No branches or pull requests

3 participants