Merge branch 'Alexays:master' into dwl-module

This commit is contained in:
David Delarosa
2023-04-13 17:18:27 +03:00
committed by GitHub
3 changed files with 10 additions and 9 deletions

View File

@@ -15,7 +15,7 @@ The *wireplumber* module displays the current volume reported by WirePlumber.
default: *{volume}%* ++ default: *{volume}%* ++
The format, how information should be displayed. This format is used when other formats aren't specified. The format, how information should be displayed. This format is used when other formats aren't specified.
*format-muted*: ++ *format-muted*: ++
typeof: string ++ typeof: string ++
This format is used when the sound is muted. This format is used when the sound is muted.

View File

@@ -435,6 +435,7 @@ if scdoc.found()
'waybar-bluetooth.5.scd', 'waybar-bluetooth.5.scd',
'waybar-sndio.5.scd', 'waybar-sndio.5.scd',
'waybar-upower.5.scd', 'waybar-upower.5.scd',
'waybar-wireplumber.5.scd',
] ]
if (giounix.found() and not get_option('logind').disabled()) if (giounix.found() and not get_option('logind').disabled())

View File

@@ -120,11 +120,11 @@ void waybar::modules::Wireplumber::onMixerChanged(waybar::modules::Wireplumber*
const gchar* name = wp_pipewire_object_get_property(WP_PIPEWIRE_OBJECT(node), "node.name"); const gchar* name = wp_pipewire_object_get_property(WP_PIPEWIRE_OBJECT(node), "node.name");
if (g_strcmp0(self->default_node_name_, name) != 0) { if (self->node_id_ != id) {
spdlog::debug( spdlog::debug(
"[{}]: (onMixerChanged) - ignoring mixer update for node: id: {}, name: {} as it is not " "[{}]: (onMixerChanged) - ignoring mixer update for node: id: {}, name: {} as it is not "
"the default node: {}", "the default node: {} with id: {}",
self->name_, id, name, self->default_node_name_); self->name_, id, name, self->default_node_name_, self->node_id_);
return; return;
} }
@@ -176,6 +176,7 @@ void waybar::modules::Wireplumber::onDefaultNodesApiChanged(waybar::modules::Wir
g_free(self->default_node_name_); g_free(self->default_node_name_);
self->default_node_name_ = g_strdup(default_node_name); self->default_node_name_ = g_strdup(default_node_name);
self->node_id_ = default_node_id;
updateVolume(self, default_node_id); updateVolume(self, default_node_id);
updateNodeName(self, default_node_id); updateNodeName(self, default_node_id);
} }
@@ -197,18 +198,17 @@ void waybar::modules::Wireplumber::onObjectManagerInstalled(waybar::modules::Wir
throw std::runtime_error("Mixer api is not loaded\n"); throw std::runtime_error("Mixer api is not loaded\n");
} }
uint32_t default_node_id;
g_signal_emit_by_name(self->def_nodes_api_, "get-default-configured-node-name", "Audio/Sink", g_signal_emit_by_name(self->def_nodes_api_, "get-default-configured-node-name", "Audio/Sink",
&self->default_node_name_); &self->default_node_name_);
g_signal_emit_by_name(self->def_nodes_api_, "get-default-node", "Audio/Sink", &default_node_id); g_signal_emit_by_name(self->def_nodes_api_, "get-default-node", "Audio/Sink", &self->node_id_);
if (self->default_node_name_) { if (self->default_node_name_) {
spdlog::debug("[{}]: (onObjectManagerInstalled) - default configured node name: {} and id: {}", spdlog::debug("[{}]: (onObjectManagerInstalled) - default configured node name: {} and id: {}",
self->name_, self->default_node_name_, default_node_id); self->name_, self->default_node_name_, self->node_id_);
} }
updateVolume(self, default_node_id); updateVolume(self, self->node_id_);
updateNodeName(self, default_node_id); updateNodeName(self, self->node_id_);
g_signal_connect_swapped(self->mixer_api_, "changed", (GCallback)onMixerChanged, self); g_signal_connect_swapped(self->mixer_api_, "changed", (GCallback)onMixerChanged, self);
g_signal_connect_swapped(self->def_nodes_api_, "changed", (GCallback)onDefaultNodesApiChanged, g_signal_connect_swapped(self->def_nodes_api_, "changed", (GCallback)onDefaultNodesApiChanged,