You are not logged in.
Pages: 1
Dear community,
I found a way to increase output volume above 100% by clicking on the sound icon in the panel and then dragging the slide above 100% [1].
However, what I would prefer is using my touchpad to scroll over the icon and/or pressing the volume keys on my keyboard to go above 100%.
Is this possible as of yet?
If not, I would file this as a bug feature request.
Yours
Offline
I found a way to increase output volume above 100% by clicking on the sound icon in the panel and then dragging the slide above 100%.
^^^Depends on the type of audio... server(?) - pulseaudio, et cetera - that the user and/or distro maintainer chooses to use, apparently.^^^
I'd be happy if everyone just started treating "100%" as, you know... 100%. In other words, as loud as it can get. Then there'd be no issue like this. Possibly an issue of potentially ruining one's speakers due to clipping, lol, but that'd fall under "user error," which is different from the whole "linux doesn't know how to count" issue (also evident in version numbers, where "4.8" is less than "4.10," for example) .
Regards,
MDM
Offline
It looks like a bug report already exists for xfce4-pulseaudio-plugin: https://bugzilla.xfce.org/show_bug.cgi?id=14148. Feel free to add your comment to bring it to the developer's attention.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
It looks like a bug report already exists for xfce4-pulseaudio-plugin: https://bugzilla.xfce.org/show_bug.cgi?id=14148. Feel free to add your comment to bring it to the developer's attention.
Exactly what I had been looking for, thank you!
Yours
Offline
Hi, can somebody please check if the patch applies cleanly to pulseadio plugin 0.42 because Kompare tells me that "The diff file is malformed" and the differences arent applied.
I'll be honest that I'm new to applying patches but I was just suspecting that the main tree had changed, its been a long time since the patch was created (early 2018 IIRC)
Link to the patch: https://bugzilla.xfce.org/attachment.cgi?id=7525
I wont hesitate to comment on the bugzilla thread, but Im not sure if its me or the patch yet so was wondering if anyone could sort of... try #_#
Git source tree https://github.com/xfce-mirror/xfce4-pulseaudio-plugin
Last edited by addeps3 (2020-03-25 14:40:21)
Offline
Here are the series of patches re-based against the 0.42 tarball. Confirmed that it works:
diff -Naur xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-button.c xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-button.c
--- xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-button.c 2019-08-11 15:19:12.000000000 -0400
+++ xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-button.c 2020-03-25 12:43:05.218360188 -0400
@@ -235,7 +235,12 @@
if (event->direction == 1) // decrease volume
new_volume = volume - volume_step;
else if (event->direction == 0) // increase volume
- new_volume = MIN (volume + volume_step, MAX (volume, 1.0));
+ {
+ if (!pulseaudio_config_get_allow_louder_than_hundred (button->config))
+ new_volume = MIN (volume + volume_step, MAX (volume, 1.0));
+ else
+ new_volume = volume + volume_step;
+ }
else
new_volume = volume;
diff -Naur xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-config.c xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-config.c
--- xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-config.c 2019-08-11 15:19:12.000000000 -0400
+++ xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-config.c 2020-03-25 12:54:16.222149368 -0400
@@ -45,6 +45,7 @@
#define DEFAULT_ENABLE_KEYBOARD_SHORTCUTS TRUE
#define DEFAULT_SHOW_NOTIFICATIONS TRUE
+#define DEFAULT_ALLOW_LOUDER_THAN_HUNDRED FALSE
#define DEFAULT_VOLUME_STEP 5
#define DEFAULT_VOLUME_MAX 150
@@ -86,6 +87,7 @@
gboolean enable_keyboard_shortcuts;
gboolean enable_multimedia_keys;
gboolean show_notifications;
+ gboolean allow_louder_than_hundred;
guint volume_step;
guint volume_max;
gchar *mixer_command;
@@ -103,6 +105,7 @@
PROP_ENABLE_KEYBOARD_SHORTCUTS,
PROP_ENABLE_MULTIMEDIA_KEYS,
PROP_SHOW_NOTIFICATIONS,
+ PROP_ALLOW_LOUDER_THAN_HUNDRED,
PROP_VOLUME_STEP,
PROP_VOLUME_MAX,
PROP_MIXER_COMMAND,
@@ -164,6 +167,16 @@
+
+ g_object_class_install_property (gobject_class,
+ PROP_ALLOW_LOUDER_THAN_HUNDRED,
+ g_param_spec_boolean ("allow-louder-than-hundred", NULL, NULL,
+ DEFAULT_ALLOW_LOUDER_THAN_HUNDRED,
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_STRINGS));
+
+
+
g_object_class_install_property (gobject_class,
PROP_VOLUME_STEP,
g_param_spec_uint ("volume-step", NULL, NULL,
@@ -247,6 +260,7 @@
config->enable_keyboard_shortcuts = DEFAULT_ENABLE_KEYBOARD_SHORTCUTS;
config->enable_multimedia_keys = DEFAULT_ENABLE_MULTIMEDIA_KEYS;
config->show_notifications = DEFAULT_SHOW_NOTIFICATIONS;
+ config->allow_louder_than_hundred = DEFAULT_ALLOW_LOUDER_THAN_HUNDRED;
config->volume_step = DEFAULT_VOLUME_STEP;
config->volume_max = DEFAULT_VOLUME_MAX;
config->mixer_command = g_strdup (DEFAULT_MIXER_COMMAND);
@@ -292,6 +306,10 @@
case PROP_SHOW_NOTIFICATIONS:
g_value_set_boolean (value, config->show_notifications);
break;
+
+ case PROP_ALLOW_LOUDER_THAN_HUNDRED:
+ g_value_set_boolean (value, config->allow_louder_than_hundred);
+ break;
case PROP_VOLUME_STEP:
g_value_set_uint (value, config->volume_step);
@@ -370,6 +388,16 @@
g_signal_emit (G_OBJECT (config), pulseaudio_config_signals [CONFIGURATION_CHANGED], 0);
}
break;
+
+ case PROP_ALLOW_LOUDER_THAN_HUNDRED:
+ val_bool = g_value_get_boolean (value);
+ if (config->allow_louder_than_hundred != val_bool)
+ {
+ config->allow_louder_than_hundred = val_bool;
+ g_object_notify (G_OBJECT (config), "allow-louder-than-hundred");
+ g_signal_emit (G_OBJECT (config), pulseaudio_config_signals [CONFIGURATION_CHANGED], 0);
+ }
+ break;
case PROP_VOLUME_STEP:
val_uint = g_value_get_uint (value);
@@ -478,6 +506,16 @@
+gboolean
+pulseaudio_config_get_allow_louder_than_hundred (PulseaudioConfig *config)
+{
+ g_return_val_if_fail (IS_PULSEAUDIO_CONFIG (config), DEFAULT_ALLOW_LOUDER_THAN_HUNDRED);
+
+ return config->allow_louder_than_hundred;
+}
+
+
+
guint
pulseaudio_config_get_volume_step (PulseaudioConfig *config)
{
@@ -824,6 +862,10 @@
property = g_strconcat (property_base, "/show-notifications", NULL);
xfconf_g_property_bind (channel, property, G_TYPE_BOOLEAN, config, "show-notifications");
g_free (property);
+
+ property = g_strconcat (property_base, "/allow-louder-than-hundred", NULL);
+ xfconf_g_property_bind (channel, property, G_TYPE_BOOLEAN, config, "allow-louder-than-hundred");
+ g_free (property);
property = g_strconcat (property_base, "/volume-step", NULL);
xfconf_g_property_bind (channel, property, G_TYPE_UINT, config, "volume-step");
diff -Naur xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-config.h xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-config.h
--- xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-config.h 2019-08-11 15:19:12.000000000 -0400
+++ xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-config.h 2020-03-25 12:47:56.272204849 -0400
@@ -41,6 +41,7 @@
gboolean pulseaudio_config_get_enable_keyboard_shortcuts (PulseaudioConfig *config);
gboolean pulseaudio_config_get_enable_multimedia_keys (PulseaudioConfig *config);
gboolean pulseaudio_config_get_show_notifications (PulseaudioConfig *config);
+gboolean pulseaudio_config_get_allow_louder_than_hundred (PulseaudioConfig *config);
guint pulseaudio_config_get_volume_step (PulseaudioConfig *config);
guint pulseaudio_config_get_volume_max (PulseaudioConfig *config);
const gchar *pulseaudio_config_get_mixer_command (PulseaudioConfig *config);
diff -Naur xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-dialog.c xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-dialog.c
--- xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-dialog.c 2019-08-11 15:19:12.000000000 -0400
+++ xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-dialog.c 2020-03-25 12:49:59.009643434 -0400
@@ -234,6 +234,12 @@
g_object_bind_property (G_OBJECT (dialog->config), "enable-keyboard-shortcuts",
G_OBJECT (object), "active",
G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
+
+ object = gtk_builder_get_object (builder, "checkbutton-allow-louder-than-hundred");
+ g_return_if_fail (GTK_IS_CHECK_BUTTON (object));
+ g_object_bind_property (G_OBJECT (dialog->config), "allow-louder-than-hundred",
+ G_OBJECT (object), "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
object = gtk_builder_get_object (builder, "checkbutton-show-notifications");
g_return_if_fail (GTK_IS_CHECK_BUTTON (object));
diff -Naur xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-dialog.glade xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-dialog.glade
--- xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-dialog.glade 2019-08-11 15:19:12.000000000 -0400
+++ xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-dialog.glade 2020-03-25 12:51:27.461386310 -0400
@@ -308,6 +308,22 @@
<property name="position">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton-allow-louder-than-hundred">
+ <property name="label" translatable="yes">Allow louder than 100%</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">start</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
diff -Naur xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-notify.c xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-notify.c
--- xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-notify.c 2019-08-11 15:19:12.000000000 -0400
+++ xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-notify.c 2020-03-25 12:56:31.930425240 -0400
@@ -170,6 +170,7 @@
GError *error = NULL;
NotifyNotification *notification;
gdouble volume;
+ gdouble volume_max;
gint volume_i;
gboolean muted;
gboolean connected;
@@ -190,7 +191,11 @@
volume = (mic ? pulseaudio_volume_get_volume_mic : pulseaudio_volume_get_volume) (notify->volume);
muted = (mic ? pulseaudio_volume_get_muted_mic : pulseaudio_volume_get_muted) (notify->volume);
connected = pulseaudio_volume_get_connected (notify->volume);
- volume_i = (gint) round (volume * 100);
+
+ if (!pulseaudio_config_get_allow_louder_than_hundred (notify->config))
+ volume_i = (gint) round (volume * 100);
+ else
+ volume_i = (gint) round (volume * 100 / volume_max);
if (!connected)
volume_i = 0;
diff -Naur xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-plugin.c xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-plugin.c
--- xfce4-pulseaudio-plugin-0.4.2/panel-plugin/pulseaudio-plugin.c 2019-08-11 15:19:12.000000000 -0400
+++ xfce4-pulseaudio-plugin-0.4.2-patched/panel-plugin/pulseaudio-plugin.c 2020-03-25 12:53:00.549901826 -0400
@@ -351,7 +351,12 @@
pulseaudio_debug ("%s pressed", keystring);
if (strcmp (keystring, PULSEAUDIO_PLUGIN_RAISE_VOLUME_KEY) == 0)
- pulseaudio_volume_set_volume (pulseaudio_plugin->volume, MIN (volume + volume_step, MAX (volume, 1.0)));
+ {
+ if (!pulseaudio_config_get_allow_louder_than_hundred (pulseaudio_plugin->config))
+ pulseaudio_volume_set_volume (pulseaudio_plugin->volume, MIN (volume + volume_step, MAX (volume, 1.0)));
+ else
+ pulseaudio_volume_set_volume (pulseaudio_plugin->volume, volume + volume_step);
+ }
else if (strcmp (keystring, PULSEAUDIO_PLUGIN_LOWER_VOLUME_KEY) == 0)
pulseaudio_volume_set_volume (pulseaudio_plugin->volume, volume - volume_step);
}
Run as:
patch -p 1 < PATCH_FILE
...from the root of the tarball.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
From what i know 100 is actually 100, And this is intended behaviour I think. On some pcs increasing it above 100 will cause scratchy noise.
So it's louder but quality is crap.
There could be an option to add it to slider but I myself would never want that.
It's like normalize option on video players, where you can go up to 200 percent but the noise is terrible.
It's something that's put there for you to use it when you really need it every once in a while. Not all the time.
Last edited by woistmeinauto (2020-03-29 10:46:05)
Offline
Pages: 1
[ Generated in 0.012 seconds, 7 queries executed - Memory usage: 598.14 KiB (Peak: 614.98 KiB) ]