Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pulseeffects for openSUSE:Factory checked in at 2021-05-15 23:16:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pulseeffects (Old) and /work/SRC/openSUSE:Factory/.pulseeffects.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pulseeffects" Sat May 15 23:16:12 2021 rev:10 rq:893248 version:4.8.5 Changes: -------- --- /work/SRC/openSUSE:Factory/pulseeffects/pulseeffects.changes 2021-01-13 18:30:36.213874174 +0100 +++ /work/SRC/openSUSE:Factory/.pulseeffects.new.2988/pulseeffects.changes 2021-05-15 23:17:11.336501455 +0200 @@ -1,0 +2,21 @@ +Sat May 15 00:18:19 UTC 2021 - Konstantin Voinov <k...@kott.no-ip.biz> + +- Update to version 4.8.5 + Added: + * Improved compatibility with dconf 0.40. Now our plugins should + be enabled when using this version. + +------------------------------------------------------------------- +Wed Mar 3 17:55:24 UTC 2021 - Antonio Larrosa <alarr...@suse.com> + +- Revert the last change. pulseeffects requires the real pulseaudio + so keep the Requires: pulseaudio (boo#1182730). + +------------------------------------------------------------------- +Thu Feb 25 11:48:57 UTC 2021 - Antonio Larrosa <alarr...@suse.com> + +- Require the pulseaudio-daemon capability instead of the + pulseaudio package, so alternative implementations can be used + (boo#1182730). + +------------------------------------------------------------------- Old: ---- pulseeffects-4.8.4.tar.gz New: ---- pulseeffects-4.8.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pulseeffects.spec ++++++ --- /var/tmp/diff_new_pack.O0JH0l/_old 2021-05-15 23:17:11.808499611 +0200 +++ /var/tmp/diff_new_pack.O0JH0l/_new 2021-05-15 23:17:11.808499611 +0200 @@ -17,7 +17,7 @@ Name: pulseeffects -Version: 4.8.4 +Version: 4.8.5 Release: 0 Summary: Audio effects for Pulseaudio applications License: GPL-3.0-or-later ++++++ pulseeffects-4.8.4.tar.gz -> pulseeffects-4.8.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/CHANGELOG.md new/pulseeffects-4.8.5/CHANGELOG.md --- old/pulseeffects-4.8.4/CHANGELOG.md 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/CHANGELOG.md 2021-03-14 18:42:56.000000000 +0100 @@ -2,19 +2,28 @@ ## [Unreleased] +## [4.8.5] + +### Added + +- Improved compatibility with dconf 0.40. Now our plugins should be enabled when using this version. + ## [4.8.4] ### Added + - Added Allpass filter in Equalizer plugin. ### Fixed + - The equalizer UI is now correctly shown when a profile with 30 bands is loaded at startup. - Added a workaround for systems that were crashing because the locale is not correctly set at system level. ### Note to packagers -- This is the last release supporting Pulseaudio. The following PulseEffects releases will be based on -the new Pipewire multimedia server and only fixes to critical bugs will be backported to the legacy -pulseaudio branch https://github.com/wwmm/pulseeffects/tree/pulseaudio-legacy. + +- This is the last release supporting Pulseaudio. The following PulseEffects releases will be based on + the new Pipewire multimedia server and only fixes to critical bugs will be backported to the legacy + pulseaudio branch https://github.com/wwmm/pulseeffects/tree/pulseaudio-legacy. ## [4.8.3] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/PKGBUILD new/pulseeffects-4.8.5/PKGBUILD --- old/pulseeffects-4.8.4/PKGBUILD 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/PKGBUILD 2021-03-14 18:42:56.000000000 +0100 @@ -3,7 +3,7 @@ # Contributor: Wellington <wellingtonwall...@gmail.com> pkgname=pulseeffects-legacy-git -pkgver=4.7.1.r2.g38355f59 +pkgver=4.8.4.r0.gcef23707 pkgrel=1 pkgdesc='Audio Effects for Pulseaudio Applications' arch=(x86_64) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/README.md new/pulseeffects-4.8.5/README.md --- old/pulseeffects-4.8.4/README.md 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/README.md 2021-03-14 18:42:56.000000000 +0100 @@ -1,9 +1,8 @@ -# PulseEffects +# PulseEffects Legacy PulseAudio -[](https://circleci.com/gh/wwmm/pulseeffects) [](https://liberapay.com/wwmm/donate) -Audio effects for Pulseaudio applications. +This is the old PulseEffects version supporting plain PulseAudio server, not Pipewire. This branch is in maintenance mode and no longer under development.   @@ -58,6 +57,7 @@ next to the plugin label at the left side. To be able to use all plugins you must have the following installed in your system: +- [PulseAudio](https://gitlab.freedesktop.org/pulseaudio/pulseaudio). Version 13 or higher - [GStreamer plugins "Good"](https://github.com/GStreamer/gst-plugins-good). Version 1.12.5 or higher - [GStreamer plugins "Bad"](https://github.com/GStreamer/gst-plugins-bad). Version 1.12.5 or higher - [Linux Studio plugins](http://lsp-plug.in/?page=home). Version 1.1.24 or higher. @@ -72,7 +72,8 @@ ## Donate -You can help me to keep developing PulseEffects through donations. Any amount will be greatly appreciated :-) +You can help Wellington Wallace to keep developing PulseEffects through donations. +Any amount will be greatly appreciated :-) <table> <tr> @@ -92,41 +93,6 @@ ## Installation -### GNU/Linux packages - -- [Arch Linux](https://www.archlinux.org/packages/community/x86_64/pulseeffects/) / [AUR Git version](https://aur.archlinux.org/packages/pulseeffects-git/) -- [Void Linux](https://github.com/void-linux/void-packages/blob/master/srcpkgs/pulseeffects/template) -- [Gentoo](https://packages.gentoo.org/packages/media-sound/pulseeffects) -- [ROSA](https://abf.io/import/pulseeffects/) -- [ALT Linux](https://packages.altlinux.org/Sisyphus/srpms/pulseeffects/) -- [Fedora GNU/Linux](https://apps.fedoraproject.org/packages/pulseeffects) -- [CRUX](https://crux.nu/portdb/?a=search&q=pulseeffects) -- [openSUSE](https://software.opensuse.org/package/pulseeffects) -- [NixOS](https://search.nixos.org/packages?channel=unstable&show=pulseeffects&query=pulseeffects) -- [Debian (buster)](https://packages.debian.org/buster-backports/pulseeffects) / [Debian (bullseye)](https://packages.debian.org/bullseye/pulseeffects) - -#### Community packages - -These are community maintained repositories of distribution packages. You can -find more information about these in the -[wiki](https://github.com/wwmm/pulseeffects/wiki/Package-Repositories#package-repositories). - -- [Ubuntu and Debian](https://github.com/wwmm/pulseeffects/wiki/Package-Repositories#debian--ubuntu) - -### Flatpak - -[Flatpak](https://flatpak.org/) packages support multiple Linux distributions and are sandboxed. - -Stable releases are hosted on -[Flathub](https://flathub.org/apps/details/com.github.wwmm.pulseeffects): - -``` -flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo -flatpak install flathub com.github.wwmm.pulseeffects -``` - -#### Installing from source - See the wiki: [Installing from Source](https://github.com/wwmm/pulseeffects/wiki/Installation-from-Source), for detailed instructions. ## Documentation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/data/com.github.wwmm.pulseeffects.appdata.xml.in new/pulseeffects-4.8.5/data/com.github.wwmm.pulseeffects.appdata.xml.in --- old/pulseeffects-4.8.4/data/com.github.wwmm.pulseeffects.appdata.xml.in 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/data/com.github.wwmm.pulseeffects.appdata.xml.in 2021-03-14 18:42:56.000000000 +0100 @@ -57,6 +57,7 @@ </screenshot> </screenshots> <releases> + <release version="4.8.5" date="2021-03-14"/> <release version="4.8.4" date="2020-12-21"/> <release version="4.8.3" date="2020-12-03"/> <release version="4.8.2" date="2020-09-21"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/include/app_info_ui.hpp new/pulseeffects-4.8.5/include/app_info_ui.hpp --- old/pulseeffects-4.8.4/include/app_info_ui.hpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/include/app_info_ui.hpp 2021-03-14 18:42:56.000000000 +0100 @@ -74,7 +74,7 @@ private: std::string log_tag = "app_info_ui: "; - std::locale global_locale; + static std::locale global_locale; bool running = true, is_enabled = true, is_blocklisted = true, pre_bl_state = true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/include/application_ui.hpp new/pulseeffects-4.8.5/include/application_ui.hpp --- old/pulseeffects-4.8.4/include/application_ui.hpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/include/application_ui.hpp 2021-03-14 18:42:56.000000000 +0100 @@ -20,23 +20,34 @@ #ifndef APPLICATION_WINDOW_HPP #define APPLICATION_WINDOW_HPP +#include <glibmm/i18n.h> #include <gtkmm/applicationwindow.h> #include <gtkmm/builder.h> #include <gtkmm/button.h> +#include <gtkmm/cssprovider.h> #include <gtkmm/grid.h> +#include <gtkmm/icontheme.h> #include <gtkmm/headerbar.h> #include <gtkmm/image.h> #include <gtkmm/label.h> #include <gtkmm/menubutton.h> #include <gtkmm/popover.h> +#include <gtkmm/settings.h> #include <gtkmm/stack.h> #include <gtkmm/togglebutton.h> +#include <memory> #include "application.hpp" +#include "blocklist_settings_ui.hpp" #include "calibration_ui.hpp" +#include "general_settings_ui.hpp" #include "presets_menu_ui.hpp" #include "pulse_info_ui.hpp" +#include "pulse_settings_ui.hpp" #include "sink_input_effects_ui.hpp" #include "source_output_effects_ui.hpp" +#include "spectrum_settings_ui.hpp" +#include "util.hpp" + class ApplicationUi : public Gtk::ApplicationWindow { public: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/include/effects_base_ui.hpp new/pulseeffects-4.8.5/include/effects_base_ui.hpp --- old/pulseeffects-4.8.4/include/effects_base_ui.hpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/include/effects_base_ui.hpp 2021-03-14 18:42:56.000000000 +0100 @@ -21,6 +21,7 @@ #define EFFECTS_BASE_UI_HPP #include <giomm/settings.h> +#include <glibmm/i18n.h> #include <gtkmm/box.h> #include <gtkmm/builder.h> #include <gtkmm/eventbox.h> @@ -33,6 +34,7 @@ #include "app_info_ui.hpp" #include "blocklist_settings_ui.hpp" #include "preset_type.hpp" +#include "plugin_ui_base.hpp" #include "pulse_manager.hpp" #include "spectrum_ui.hpp" #include "util.hpp" @@ -165,7 +167,7 @@ private: Gtk::Box* placeholder_spectrum = nullptr; - std::locale global_locale; + static std::locale global_locale; auto on_listbox_sort(Gtk::ListBoxRow* row1, Gtk::ListBoxRow* row2) -> int; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/include/plugin_ui_base.hpp new/pulseeffects-4.8.5/include/plugin_ui_base.hpp --- old/pulseeffects-4.8.4/include/plugin_ui_base.hpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/include/plugin_ui_base.hpp 2021-03-14 18:42:56.000000000 +0100 @@ -68,10 +68,6 @@ void on_new_input_level_db(const std::array<double, 2>& peak); void on_new_output_level_db(const std::array<double, 2>& peak); - auto level_to_localized_string(const double& value, const int& places) -> std::string; - auto level_to_localized_string(const float& value, const int& places) -> std::string; - auto string_to_float(const std::string& value) -> float; - // reset plugin method virtual void reset() = 0; @@ -102,14 +98,28 @@ msg.imbue(global_locale); msg.precision(places); - msg << ((value > 0.0) ? "+" : "") << std::fixed << value; + msg << ((value > 0.0F) ? "+" : "") << std::fixed << value; + + return msg.str(); + } + + template <typename T> + auto level_to_localized_string(const T& value, const int& places) -> std::string { + std::ostringstream msg; + + msg.imbue(global_locale); + msg.precision(places); + + msg << std::fixed << value; return msg.str(); } + auto string_to_float(const std::string& value) -> float; + private: - std::locale global_locale; - std::locale c_locale = std::locale(); + static std::locale global_locale; + static std::locale c_locale; template <typename T1, typename T2, typename T3, typename T4> void update_level(const T1& w_left, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/include/spectrum_ui.hpp new/pulseeffects-4.8.5/include/spectrum_ui.hpp --- old/pulseeffects-4.8.4/include/spectrum_ui.hpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/include/spectrum_ui.hpp 2021-03-14 18:42:56.000000000 +0100 @@ -25,6 +25,7 @@ #include <gtkmm/builder.h> #include <gtkmm/drawingarea.h> #include <gtkmm/grid.h> +#include "util.hpp" class SpectrumUi : public Gtk::Grid { public: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/include/util.hpp new/pulseeffects-4.8.5/include/util.hpp --- old/pulseeffects-4.8.4/include/util.hpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/include/util.hpp 2021-03-14 18:42:56.000000000 +0100 @@ -20,6 +20,7 @@ #ifndef UTIL_HPP #define UTIL_HPP +#include <cmath> #include <glib-object.h> #include <glib.h> #include <iostream> @@ -30,9 +31,7 @@ namespace util { const float minimum_db_level = -99.0F; -const double minimum_db_d_level = -99.0; const float minimum_linear_level = 0.00001F; -const double minimum_linear_d_level = 0.00001; void debug(const std::string& s); void error(const std::string& s); @@ -40,14 +39,21 @@ void warning(const std::string& s); void info(const std::string& s); +auto get_global_locale() -> std::locale; +auto get_c_locale() -> std::locale; + auto logspace(const float& start, const float& stop, const uint& npoints) -> std::vector<float>; auto linspace(const float& start, const float& stop, const uint& npoints) -> std::vector<float>; -auto linear_to_db(const float& amp) -> float; -auto linear_to_db(const double& amp) -> double; - -auto db_to_linear(const float& db) -> float; -auto db_to_linear(const double& db) -> double; +template <typename T> +auto linear_to_db(const T& amp) -> T { + return (amp >= minimum_linear_level) ? (20.0F * log10f(amp)) : minimum_db_level; +} + +template <typename T> +auto db_to_linear(const T& db) -> T { + return expf((db / 20.0F) * logf(10.0F)); +} auto db20_gain_to_linear(GValue* value, GVariant* variant, gpointer user_data) -> gboolean; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/meson.build new/pulseeffects-4.8.5/meson.build --- old/pulseeffects-4.8.4/meson.build 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/meson.build 2021-03-14 18:42:56.000000000 +0100 @@ -3,7 +3,7 @@ 'c', 'cpp', default_options : ['cpp_std=c++17','buildtype=debugoptimized'], - version: '4.8.4', + version: '4.8.5', meson_version: '>= 0.40.0' ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/app_info_ui.cpp new/pulseeffects-4.8.5/src/app_info_ui.cpp --- old/pulseeffects-4.8.4/src/app_info_ui.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/app_info_ui.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -19,19 +19,13 @@ #include "app_info_ui.hpp" +std::locale AppInfoUi::global_locale = util::get_global_locale(); + AppInfoUi::AppInfoUi(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder, std::shared_ptr<AppInfo> info, PulseManager* pulse_manager) : Gtk::Grid(cobject), app_info(std::move(info)), pm(pulse_manager) { - // set locale (workaround for #849) - - try { - global_locale = std::locale(""); - } catch (const std::exception& e) { - global_locale = std::locale(); - } - // loading glade widgets builder->get_widget("enable", enable); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/application_ui.cpp new/pulseeffects-4.8.5/src/application_ui.cpp --- old/pulseeffects-4.8.4/src/application_ui.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/application_ui.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -18,34 +18,16 @@ */ #include "application_ui.hpp" -#include <glibmm/i18n.h> -#include <gtkmm/cssprovider.h> -#include <gtkmm/icontheme.h> -#include <gtkmm/settings.h> -#include <memory> -#include "blocklist_settings_ui.hpp" -#include "calibration_ui.hpp" -#include "general_settings_ui.hpp" -#include "pulse_settings_ui.hpp" -#include "spectrum_settings_ui.hpp" -#include "util.hpp" ApplicationUi::ApplicationUi(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder, Application* application) - : Gtk::ApplicationWindow(cobject), app(application), settings(app->settings) { + : Gtk::ApplicationWindow(cobject), app(application), + settings(app->settings), global_locale(util::get_global_locale()) { apply_css_style("custom.css"); Gtk::IconTheme::get_default()->add_resource_path("/com/github/wwmm/pulseeffects/icons"); - // set locale (workaround for #849) - - try { - global_locale = std::locale(""); - } catch (const std::exception& e) { - global_locale = std::locale(); - } - // loading glade widgets builder->get_widget("stack", stack); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/autogain.cpp new/pulseeffects-4.8.5/src/autogain.cpp --- old/pulseeffects-4.8.4/src/autogain.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/autogain.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -128,11 +128,9 @@ g_settings_bind_with_mapping(settings, "output-gain", output_gain, "volume", G_SETTINGS_BIND_DEFAULT, util::db20_gain_to_linear_double, util::linear_double_gain_to_db20, nullptr, nullptr); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/bass_enhancer.cpp new/pulseeffects-4.8.5/src/bass_enhancer.cpp --- old/pulseeffects-4.8.4/src/bass_enhancer.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/bass_enhancer.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -79,11 +79,9 @@ g_settings_bind(settings, "post-messages", in_level, "post-messages", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, "post-messages", out_level, "post-messages", G_SETTINGS_BIND_DEFAULT); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/calibration_ui.cpp new/pulseeffects-4.8.5/src/calibration_ui.cpp --- old/pulseeffects-4.8.4/src/calibration_ui.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/calibration_ui.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -20,15 +20,7 @@ #include "calibration_ui.hpp" CalibrationUi::CalibrationUi(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder) - : Gtk::Window(cobject) { - // set locale (workaround for #849) - - try { - global_locale = std::locale(""); - } catch (const std::exception& e) { - global_locale = std::locale(); - } - + : Gtk::Window(cobject), global_locale(util::get_global_locale()) { // loading glade widgets builder->get_widget("stack", stack); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/compressor.cpp new/pulseeffects-4.8.5/src/compressor.cpp --- old/pulseeffects-4.8.4/src/compressor.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/compressor.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -146,11 +146,9 @@ g_signal_connect(settings, "changed::post-messages", G_CALLBACK(on_post_messages_changed), this); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/convolver.cpp new/pulseeffects-4.8.5/src/convolver.cpp --- old/pulseeffects-4.8.4/src/convolver.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/convolver.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -62,11 +62,9 @@ g_settings_bind_with_mapping(settings, "output-gain", output_gain, "volume", G_SETTINGS_BIND_DEFAULT, util::db20_gain_to_linear_double, util::linear_double_gain_to_db20, nullptr, nullptr); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/crossfeed.cpp new/pulseeffects-4.8.5/src/crossfeed.cpp --- old/pulseeffects-4.8.4/src/crossfeed.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/crossfeed.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -49,11 +49,9 @@ g_settings_bind(settings, "post-messages", in_level, "post-messages", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, "post-messages", out_level, "post-messages", G_SETTINGS_BIND_DEFAULT); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/crystalizer.cpp new/pulseeffects-4.8.5/src/crystalizer.cpp --- old/pulseeffects-4.8.4/src/crystalizer.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/crystalizer.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -107,11 +107,9 @@ g_settings_bind_with_mapping(settings, "output-gain", output_gain, "volume", G_SETTINGS_BIND_DEFAULT, util::db20_gain_to_linear_double, util::linear_double_gain_to_db20, nullptr, nullptr); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/deesser.cpp new/pulseeffects-4.8.5/src/deesser.cpp --- old/pulseeffects-4.8.4/src/deesser.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/deesser.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -94,11 +94,9 @@ g_settings_bind(settings, "post-messages", in_level, "post-messages", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, "post-messages", out_level, "post-messages", G_SETTINGS_BIND_DEFAULT); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/delay.cpp new/pulseeffects-4.8.5/src/delay.cpp --- old/pulseeffects-4.8.4/src/delay.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/delay.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -68,11 +68,9 @@ g_settings_bind_with_mapping(settings, "output-gain", output_gain, "volume", G_SETTINGS_BIND_DEFAULT, util::db20_gain_to_linear_double, util::linear_double_gain_to_db20, nullptr, nullptr); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/effects_base_ui.cpp new/pulseeffects-4.8.5/src/effects_base_ui.cpp --- old/pulseeffects-4.8.4/src/effects_base_ui.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/effects_base_ui.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -18,20 +18,13 @@ */ #include "effects_base_ui.hpp" -#include <glibmm/i18n.h> -#include "plugin_ui_base.hpp" + +std::locale EffectsBaseUi::global_locale = util::get_global_locale(); EffectsBaseUi::EffectsBaseUi(const Glib::RefPtr<Gtk::Builder>& builder, Glib::RefPtr<Gio::Settings> refSettings, PulseManager* pulse_manager) : settings(std::move(refSettings)), pm(pulse_manager) { - // set locale (workaround for #849) - - try { - global_locale = std::locale(""); - } catch (const std::exception& e) { - global_locale = std::locale(); - } // loading glade widgets builder->get_widget("stack", stack); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/equalizer.cpp new/pulseeffects-4.8.5/src/equalizer.cpp --- old/pulseeffects-4.8.4/src/equalizer.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/equalizer.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -94,11 +94,9 @@ g_settings_bind(settings, "mode", equalizer, "mode", G_SETTINGS_BIND_DEFAULT); - // useless write just to force on_state_changed callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/exciter.cpp new/pulseeffects-4.8.5/src/exciter.cpp --- old/pulseeffects-4.8.4/src/exciter.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/exciter.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -78,11 +78,9 @@ g_settings_bind(settings, "post-messages", in_level, "post-messages", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, "post-messages", out_level, "post-messages", G_SETTINGS_BIND_DEFAULT); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/filter.cpp new/pulseeffects-4.8.5/src/filter.cpp --- old/pulseeffects-4.8.4/src/filter.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/filter.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -98,11 +98,9 @@ g_signal_connect(settings, "changed::post-messages", G_CALLBACK(on_post_messages_changed), this); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/gate.cpp new/pulseeffects-4.8.5/src/gate.cpp --- old/pulseeffects-4.8.4/src/gate.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/gate.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -78,11 +78,9 @@ g_settings_bind(settings, "post-messages", in_level, "post-messages", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, "post-messages", out_level, "post-messages", G_SETTINGS_BIND_DEFAULT); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/limiter.cpp new/pulseeffects-4.8.5/src/limiter.cpp --- old/pulseeffects-4.8.4/src/limiter.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/limiter.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -114,11 +114,9 @@ g_signal_connect(settings, "changed::post-messages", G_CALLBACK(on_post_messages_changed), this); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/loudness.cpp new/pulseeffects-4.8.5/src/loudness.cpp --- old/pulseeffects-4.8.4/src/loudness.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/loudness.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -51,11 +51,9 @@ g_settings_bind(settings, "post-messages", in_level, "post-messages", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, "post-messages", out_level, "post-messages", G_SETTINGS_BIND_DEFAULT); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/maximizer.cpp new/pulseeffects-4.8.5/src/maximizer.cpp --- old/pulseeffects-4.8.4/src/maximizer.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/maximizer.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -76,11 +76,9 @@ g_settings_bind(settings, "post-messages", in_level, "post-messages", G_SETTINGS_BIND_DEFAULT); g_settings_bind(settings, "post-messages", out_level, "post-messages", G_SETTINGS_BIND_DEFAULT); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/multiband_compressor.cpp new/pulseeffects-4.8.5/src/multiband_compressor.cpp --- old/pulseeffects-4.8.4/src/multiband_compressor.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/multiband_compressor.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -219,11 +219,9 @@ g_signal_connect(settings, "changed::post-messages", G_CALLBACK(on_post_messages_changed), this); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/multiband_gate.cpp new/pulseeffects-4.8.5/src/multiband_gate.cpp --- old/pulseeffects-4.8.4/src/multiband_gate.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/multiband_gate.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -216,11 +216,9 @@ g_signal_connect(settings, "changed::post-messages", G_CALLBACK(on_post_messages_changed), this); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/pitch.cpp new/pulseeffects-4.8.5/src/pitch.cpp --- old/pulseeffects-4.8.4/src/pitch.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/pitch.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -58,11 +58,9 @@ g_settings_bind_with_mapping(settings, "output-gain", output_gain, "volume", G_SETTINGS_BIND_DEFAULT, util::db20_gain_to_linear_double, util::linear_double_gain_to_db20, nullptr, nullptr); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/plugin_ui_base.cpp new/pulseeffects-4.8.5/src/plugin_ui_base.cpp --- old/pulseeffects-4.8.4/src/plugin_ui_base.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/plugin_ui_base.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -19,18 +19,13 @@ #include "plugin_ui_base.hpp" +std::locale PluginUiBase::global_locale = util::get_global_locale(); +std::locale PluginUiBase::c_locale = util::get_c_locale(); + PluginUiBase::PluginUiBase(const Glib::RefPtr<Gtk::Builder>& builder, const std::string& schema, const std::string& schema_path) : settings(Gio::Settings::create(schema, schema_path)) { - // set locale (workaround for #849) - - try { - global_locale = std::locale(""); - } catch (const std::exception& e) { - global_locale = std::locale(); - } - // get widgets builder->get_widget("enable", enable); @@ -71,28 +66,6 @@ settings->set_boolean("post-messages", false); } -auto PluginUiBase::level_to_localized_string(const double& value, const int& places) -> std::string { - std::ostringstream msg; - - msg.imbue(global_locale); - msg.precision(places); - - msg << std::fixed << value; - - return msg.str(); -} - -auto PluginUiBase::level_to_localized_string(const float& value, const int& places) -> std::string { - std::ostringstream msg; - - msg.imbue(global_locale); - msg.precision(places); - - msg << std::fixed << value; - - return msg.str(); -} - auto PluginUiBase::string_to_float(const std::string& value) -> float { std::stringstream ss; ss.imbue(c_locale); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/reverb.cpp new/pulseeffects-4.8.5/src/reverb.cpp --- old/pulseeffects-4.8.4/src/reverb.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/reverb.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -98,11 +98,9 @@ g_signal_connect(settings, "changed::post-messages", G_CALLBACK(on_post_messages_changed), this); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/rnnoise/gstpernnoise.hpp new/pulseeffects-4.8.5/src/rnnoise/gstpernnoise.hpp --- old/pulseeffects-4.8.4/src/rnnoise/gstpernnoise.hpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/rnnoise/gstpernnoise.hpp 2021-03-14 18:42:56.000000000 +0100 @@ -23,10 +23,7 @@ #include <gst/audio/gstaudiofilter.h> #include <mutex> #include <vector> - -extern "C" { -#include "rnnoise.h" -} +#include <rnnoise.h> G_BEGIN_DECLS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/rnnoise.cpp new/pulseeffects-4.8.5/src/rnnoise.cpp --- old/pulseeffects-4.8.4/src/rnnoise.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/rnnoise.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -66,11 +66,9 @@ g_settings_bind_with_mapping(settings, "output-gain", output_gain, "volume", G_SETTINGS_BIND_DEFAULT, util::db20_gain_to_linear_double, util::linear_double_gain_to_db20, nullptr, nullptr); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/spectrum_ui.cpp new/pulseeffects-4.8.5/src/spectrum_ui.cpp --- old/pulseeffects-4.8.4/src/spectrum_ui.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/spectrum_ui.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -18,18 +18,10 @@ */ #include "spectrum_ui.hpp" -#include "util.hpp" SpectrumUi::SpectrumUi(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder) - : Gtk::Grid(cobject), settings(Gio::Settings::create("com.github.wwmm.pulseeffects.spectrum")) { - // set locale (workaround for #849) - - try { - global_locale = std::locale(""); - } catch (const std::exception& e) { - global_locale = std::locale(); - } - + : Gtk::Grid(cobject), settings(Gio::Settings::create("com.github.wwmm.pulseeffects.spectrum")), + global_locale(util::get_global_locale()) { // loading glade widgets builder->get_widget("spectrum", spectrum); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/stereo_tools.cpp new/pulseeffects-4.8.5/src/stereo_tools.cpp --- old/pulseeffects-4.8.4/src/stereo_tools.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/stereo_tools.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -98,11 +98,9 @@ g_signal_connect(settings, "changed::post-messages", G_CALLBACK(on_post_messages_changed), this); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/util.cpp new/pulseeffects-4.8.5/src/util.cpp --- old/pulseeffects-4.8.4/src/util.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/util.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -18,7 +18,6 @@ */ #include "util.hpp" -#include <cmath> namespace util { @@ -46,6 +45,20 @@ std::cout << "thread id: " << std::this_thread::get_id() << std::endl; } +auto get_global_locale() -> std::locale { + // set locale (workaround for #849) + + try { + return std::locale(""); + } catch (const std::exception& e) { + return std::locale(); + } +} + +auto get_c_locale() -> std::locale { + return std::locale(); +} + auto logspace(const float& start, const float& stop, const uint& npoints) -> std::vector<float> { std::vector<float> output; @@ -86,30 +99,6 @@ return output; } -auto linear_to_db(const float& amp) -> float { - if (amp >= minimum_linear_level) { - return 20.0F * log10f(amp); - } - - return minimum_db_level; -} - -auto linear_to_db(const double& amp) -> double { - if (amp >= minimum_linear_d_level) { - return 20.0 * log10f(amp); - } - - return minimum_db_d_level; -} - -auto db_to_linear(const float& db) -> float { - return expf((db / 20.0F) * logf(10.0F)); -} - -auto db_to_linear(const double& db) -> double { - return expf((db / 20.0) * logf(10.0)); -} - auto db20_gain_to_linear(GValue* value, GVariant* variant, gpointer user_data) -> gboolean { double v_db = g_variant_get_double(variant); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseeffects-4.8.4/src/webrtc.cpp new/pulseeffects-4.8.5/src/webrtc.cpp --- old/pulseeffects-4.8.4/src/webrtc.cpp 2020-12-21 16:49:34.000000000 +0100 +++ new/pulseeffects-4.8.5/src/webrtc.cpp 2021-03-14 18:42:56.000000000 +0100 @@ -34,11 +34,9 @@ bind_to_gsettings(); - // useless write just to force callback call - - auto enable = g_settings_get_boolean(settings, "state"); - - g_settings_set_boolean(settings, "state", enable); + if (g_settings_get_boolean(settings, "state") != 0) { + enable(); + } } }