easyeffects: 7.1.9 -> 7.2.3, lsp-plugins: 1.2.16 -> 1.2.20 (#373878)

authored by Seth Flynn and committed by GitHub bfb9fffc 83d6af3a

+52 -268
+47 -29
pkgs/applications/audio/lsp-plugins/default.nix pkgs/by-name/ls/lsp-plugins/package.nix
··· 1 { 2 lib, 3 stdenv, 4 fetchurl, 5 - pkg-config, 6 - makeWrapper, 7 - libsndfile, 8 jack2, 9 libGLU, 10 - libGL, 11 lv2, 12 - cairo, 13 - ladspaH, 14 - php, 15 - libXrandr, 16 }: 17 18 - stdenv.mkDerivation rec { 19 - pname = "lsp-plugins"; 20 - version = "1.2.16"; 21 22 - src = fetchurl { 23 - url = "https://github.com/lsp-plugins/lsp-plugins/releases/download/${version}/lsp-plugins-src-${version}.tar.gz"; 24 - sha256 = "sha256-w2BUIF44z78syLroQk2asVXA5bt9P9POiuwxpnlkc8o="; 25 - }; 26 27 outputs = [ 28 "out" ··· 30 "doc" 31 ]; 32 33 nativeBuildInputs = [ 34 pkg-config 35 - (php.withExtensions (_: [ ])) 36 - makeWrapper 37 ]; 38 buildInputs = [ 39 jack2 40 libsndfile 41 - libGLU 42 - libGL 43 lv2 44 - cairo 45 - ladspaH 46 - libXrandr 47 ]; 48 49 makeFlags = [ 50 - "PREFIX=${placeholder "out"}" 51 "ETCDIR=${placeholder "out"}/etc" 52 "SHAREDDIR=${placeholder "out"}/share" 53 ]; 54 55 env.NIX_CFLAGS_COMPILE = "-DLSP_NO_EXPERIMENTAL"; 56 57 configurePhase = '' 58 - make config PREFIX=${placeholder "out"} 59 ''; 60 61 doCheck = true; 62 63 enableParallelBuilding = true; 64 65 - meta = with lib; { 66 description = "Collection of open-source audio plugins"; 67 longDescription = '' 68 Compatible with the following formats: ··· 123 - Trigger 124 ''; 125 homepage = "https://lsp-plug.in"; 126 - maintainers = with maintainers; [ 127 magnetophon 128 PowerUser64 129 ]; 130 - license = licenses.gpl2; 131 - platforms = platforms.linux; 132 }; 133 - }
··· 1 { 2 lib, 3 stdenv, 4 + cairo, 5 fetchurl, 6 + gst_all_1, 7 jack2, 8 + ladspaH, 9 + libGL, 10 libGLU, 11 + libXrandr, 12 + libsndfile, 13 lv2, 14 + php82, 15 + pkg-config, 16 }: 17 18 + let 19 + php = php82; 20 + in 21 22 + stdenv.mkDerivation (finalAttrs: { 23 + pname = "lsp-plugins"; 24 + version = "1.2.20"; 25 26 outputs = [ 27 "out" ··· 29 "doc" 30 ]; 31 32 + src = fetchurl { 33 + url = "https://github.com/lsp-plugins/lsp-plugins/releases/download/${finalAttrs.version}/lsp-plugins-src-${finalAttrs.version}.tar.gz"; 34 + hash = "sha256-yohg3Ka/see8q6NCwVPl/F06AlyR22akQz43gp+1kck="; 35 + }; 36 + 37 + # By default, GStreamer plugins are installed right alongside GStreamer itself 38 + # We can't do that in Nixpkgs, so lets install it to $out/lib like other plugins 39 + postPatch = '' 40 + substituteInPlace modules/lsp-plugin-fw/src/Makefile \ 41 + --replace-fail '$(shell pkg-config --variable=pluginsdir gstreamer-1.0)' '$(LIBDIR)/gstreamer-1.0' 42 + ''; 43 + 44 nativeBuildInputs = [ 45 + php 46 pkg-config 47 ]; 48 + 49 buildInputs = [ 50 + cairo 51 + gst_all_1.gst-plugins-base 52 + gst_all_1.gstreamer 53 jack2 54 + ladspaH 55 + libGL 56 + libGLU 57 + libXrandr 58 libsndfile 59 lv2 60 ]; 61 62 makeFlags = [ 63 "ETCDIR=${placeholder "out"}/etc" 64 + "PREFIX=${placeholder "out"}" 65 "SHAREDDIR=${placeholder "out"}/share" 66 ]; 67 68 env.NIX_CFLAGS_COMPILE = "-DLSP_NO_EXPERIMENTAL"; 69 70 configurePhase = '' 71 + runHook preConfigure 72 + 73 + make $makeFlags config 74 + 75 + runHook postConfigure 76 ''; 77 78 doCheck = true; 79 80 enableParallelBuilding = true; 81 82 + meta = { 83 description = "Collection of open-source audio plugins"; 84 longDescription = '' 85 Compatible with the following formats: ··· 140 - Trigger 141 ''; 142 homepage = "https://lsp-plug.in"; 143 + changelog = "https://github.com/lsp-plugins/lsp-plugins/releases/tag/${finalAttrs.version}"; 144 + maintainers = with lib.maintainers; [ 145 magnetophon 146 PowerUser64 147 ]; 148 + license = lib.licenses.gpl2; 149 + platforms = lib.platforms.linux; 150 }; 151 + })
-229
pkgs/by-name/ea/easyeffects/0001-Revert-Merge-pull-request-3340-from-violetmage-viole.patch
··· 1 - From a2f524ffe163e1a15dc8a4b6f21964092ec8e0a7 Mon Sep 17 00:00:00 2001 2 - From: Sofi <sofi+git@mailbox.org> 3 - Date: Sat, 28 Sep 2024 00:31:11 +0200 4 - Subject: [PATCH] Revert "Merge pull request #3340 from 5 - violetmage/violetmage-spectrum-avsync" 6 - 7 - This reverts commit d40ff638e2f0db00579e1f30a9880b7d35f137fd, reversing 8 - changes made to ee0fe4a8da57ef84a39600ad02280ddc98d9de31. 9 - --- 10 - ...thub.wwmm.easyeffects.spectrum.gschema.xml | 5 -- 11 - data/ui/preferences_spectrum.ui | 21 ----- 12 - include/spectrum.hpp | 5 -- 13 - src/preferences_spectrum.cpp | 7 +- 14 - src/spectrum.cpp | 86 +++---------------- 15 - 5 files changed, 14 insertions(+), 110 deletions(-) 16 - 17 - diff --git a/data/schemas/com.github.wwmm.easyeffects.spectrum.gschema.xml b/data/schemas/com.github.wwmm.easyeffects.spectrum.gschema.xml 18 - index 340da382e..1260810f3 100644 19 - --- a/data/schemas/com.github.wwmm.easyeffects.spectrum.gschema.xml 20 - +++ b/data/schemas/com.github.wwmm.easyeffects.spectrum.gschema.xml 21 - @@ -49,10 +49,5 @@ 22 - <range min="120" max="22000" /> 23 - <default>20000</default> 24 - </key> 25 - - 26 - - <key name="avsync-delay" type="i"> 27 - - <range min="0" max="1000" /> 28 - - <default>0</default> 29 - - </key> 30 - </schema> 31 - </schemalist> 32 - \ No newline at end of file 33 - diff --git a/data/ui/preferences_spectrum.ui b/data/ui/preferences_spectrum.ui 34 - index 2eae7b8ab..97535d518 100644 35 - --- a/data/ui/preferences_spectrum.ui 36 - +++ b/data/ui/preferences_spectrum.ui 37 - @@ -18,27 +18,6 @@ 38 - </child> 39 - </object> 40 - </child> 41 - - 42 - - <child> 43 - - <object class="AdwActionRow"> 44 - - <property name="title" translatable="yes">Compensating Delay (ms)</property> 45 - - 46 - - <child> 47 - - <object class="GtkSpinButton" id="avsync_delay"> 48 - - <property name="valign">center</property> 49 - - <property name="digits">0</property> 50 - - <property name="adjustment"> 51 - - <object class="GtkAdjustment"> 52 - - <property name="lower">0</property> 53 - - <property name="upper">1000</property> 54 - - <property name="step-increment">1</property> 55 - - <property name="page-increment">10</property> 56 - - </object> 57 - - </property> 58 - - </object> 59 - - </child> 60 - - </object> 61 - - </child> 62 - </object> 63 - </child> 64 - 65 - diff --git a/include/spectrum.hpp b/include/spectrum.hpp 66 - index 546ceec59..af49dd9e5 100644 67 - --- a/include/spectrum.hpp 68 - +++ b/include/spectrum.hpp 69 - @@ -65,11 +65,6 @@ class Spectrum : public PluginBase { 70 - 71 - std::array<float, n_bands> real_input; 72 - std::array<double, n_bands / 2U + 1U> output; 73 - - 74 - - std::vector<float> left_delayed_vector; 75 - - std::vector<float> right_delayed_vector; 76 - - std::span<float> left_delayed; 77 - - std::span<float> right_delayed; 78 - 79 - std::array<float, n_bands> latest_samples_mono; 80 - 81 - diff --git a/src/preferences_spectrum.cpp b/src/preferences_spectrum.cpp 82 - index 2902a8ee4..151960bef 100644 83 - --- a/src/preferences_spectrum.cpp 84 - +++ b/src/preferences_spectrum.cpp 85 - @@ -49,7 +49,7 @@ struct _PreferencesSpectrum { 86 - 87 - GtkDropDown* type; 88 - 89 - - GtkSpinButton *n_points, *height, *line_width, *minimum_frequency, *maximum_frequency, *avsync_delay; 90 - + GtkSpinButton *n_points, *height, *line_width, *minimum_frequency, *maximum_frequency; 91 - 92 - GSettings* settings; 93 - 94 - @@ -119,7 +119,6 @@ void preferences_spectrum_class_init(PreferencesSpectrumClass* klass) { 95 - gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, axis_color_button); 96 - gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, minimum_frequency); 97 - gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, maximum_frequency); 98 - - gtk_widget_class_bind_template_child(widget_class, PreferencesSpectrum, avsync_delay); 99 - 100 - gtk_widget_class_bind_template_callback(widget_class, on_spectrum_color_set); 101 - gtk_widget_class_bind_template_callback(widget_class, on_spectrum_axis_color_set); 102 - @@ -193,9 +192,9 @@ void preferences_spectrum_init(PreferencesSpectrum* self) { 103 - // spectrum section gsettings bindings 104 - 105 - gsettings_bind_widgets<"show", "fill", "rounded-corners", "show-bar-border", "dynamic-y-scale", "n-points", "height", 106 - - "line-width", "minimum-frequency", "maximum-frequency", "avsync-delay">( 107 - + "line-width", "minimum-frequency", "maximum-frequency">( 108 - self->settings, self->show, self->fill, self->rounded_corners, self->show_bar_border, self->dynamic_y_scale, 109 - - self->n_points, self->height, self->line_width, self->minimum_frequency, self->maximum_frequency, self->avsync_delay); 110 - + self->n_points, self->height, self->line_width, self->minimum_frequency, self->maximum_frequency); 111 - 112 - ui::gsettings_bind_enum_to_combo_widget(self->settings, "type", self->type); 113 - 114 - diff --git a/src/spectrum.cpp b/src/spectrum.cpp 115 - index 28f7ff4da..1075a358f 100644 116 - --- a/src/spectrum.cpp 117 - +++ b/src/spectrum.cpp 118 - @@ -55,30 +55,6 @@ Spectrum::Spectrum(const std::string& tag, 119 - 120 - plan = fftwf_plan_dft_r2c_1d(static_cast<int>(n_bands), real_input.data(), complex_output, FFTW_ESTIMATE); 121 - 122 - - 123 - - 124 - - lv2_wrapper = std::make_unique<lv2::Lv2Wrapper>("http://lsp-plug.in/plugins/lv2/comp_delay_x2_stereo"); 125 - - 126 - - package_installed = lv2_wrapper->found_plugin; 127 - - 128 - - if (!package_installed) { 129 - - util::debug(log_tag + "http://lsp-plug.in/plugins/lv2/comp_delay_x2_stereo is not installed, spectrum will not have A/V sync compensation"); 130 - - } 131 - - 132 - - lv2_wrapper->set_control_port_value("mode_l", 2); 133 - - lv2_wrapper->set_control_port_value("mode_r", 2); 134 - - 135 - - lv2_wrapper->set_control_port_value("dry_l", 0.0F); 136 - - lv2_wrapper->set_control_port_value("dry_r", 0.0F); 137 - - 138 - - lv2_wrapper->set_control_port_value("wet_l", static_cast<float>(util::db_to_linear(0.0F))); 139 - - lv2_wrapper->set_control_port_value("wet_r", static_cast<float>(util::db_to_linear(0.0F))); 140 - - 141 - - lv2_wrapper->bind_key_int<"time_l", "avsync-delay">(settings); 142 - - lv2_wrapper->bind_key_int<"time_r", "avsync-delay">(settings); 143 - - 144 - - 145 - - 146 - g_signal_connect(settings, "changed::show", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { 147 - auto* self = static_cast<Spectrum*>(user_data); 148 - 149 - @@ -106,19 +82,6 @@ Spectrum::~Spectrum() { 150 - void Spectrum::setup() { 151 - std::ranges::fill(real_input, 0.0F); 152 - std::ranges::fill(latest_samples_mono, 0.0F); 153 - - 154 - - left_delayed_vector.resize(n_samples, 0.0F); 155 - - right_delayed_vector.resize(n_samples, 0.0F); 156 - - 157 - - left_delayed = std::span<float>(left_delayed_vector); 158 - - right_delayed = std::span<float>(right_delayed_vector); 159 - - 160 - - lv2_wrapper->set_n_samples(n_samples); 161 - - 162 - - if (lv2_wrapper->get_rate() != rate) { 163 - - util::debug(log_tag + " creating instance of comp delay x2 stereo for spectrum A/V sync"); 164 - - lv2_wrapper->create_instance(rate); 165 - - } 166 - } 167 - 168 - void Spectrum::process(std::span<float>& left_in, 169 - @@ -132,46 +95,19 @@ void Spectrum::process(std::span<float>& left_in, 170 - return; 171 - } 172 - 173 - - // delay the visualization of the spectrum by the reported latency 174 - - // of the output device, so that the spectrum is visually in sync 175 - - // with the audio as experienced by the user. (A/V sync) 176 - - if ( lv2_wrapper->found_plugin && lv2_wrapper->has_instance() ) { 177 - - lv2_wrapper->connect_data_ports(left_in, right_in, left_delayed, right_delayed); 178 - - lv2_wrapper->run(); 179 - + if (n_samples < n_bands) { 180 - + // Drop the oldest quantum. 181 - + std::memmove(&latest_samples_mono[0], &latest_samples_mono[n_samples], 182 - + (n_bands - n_samples) * sizeof(float)); 183 - 184 - - // Downmix the latest n_bands samples from the delayed signal. 185 - - if (n_samples < n_bands) { 186 - - // Drop the oldest quantum. 187 - - std::memmove(&latest_samples_mono[0], &latest_samples_mono[n_samples], 188 - - (n_bands - n_samples) * sizeof(float)); 189 - - 190 - - // Copy the new quantum. 191 - - for (size_t n = 0; n < n_samples; n++) { 192 - - latest_samples_mono[n_bands - n_samples + n] = 0.5F * (left_delayed[n] + right_delayed[n]); 193 - - } 194 - - } else { 195 - - // Copy the latest n_bands samples. 196 - - for (size_t n = 0; n < n_bands; n++) 197 - - latest_samples_mono[n] = 0.5F * (left_delayed[n_samples - n_bands + n] + 198 - - right_delayed[n_samples - n_bands + n]); 199 - - } 200 - + // Copy the new quantum. 201 - + for (size_t n = 0; n < n_samples; n++) 202 - + latest_samples_mono[n_bands - n_samples + n] = 0.5F * (left_in[n] + right_in[n]); 203 - } else { 204 - - // Downmix the latest n_bands samples from the non-delayed signal. 205 - - if (n_samples < n_bands) { 206 - - // Drop the oldest quantum. 207 - - std::memmove(&latest_samples_mono[0], &latest_samples_mono[n_samples], 208 - - (n_bands - n_samples) * sizeof(float)); 209 - - 210 - - // Copy the new quantum. 211 - - for (size_t n = 0; n < n_samples; n++) { 212 - - latest_samples_mono[n_bands - n_samples + n] = 0.5F * (left_in[n] + right_in[n]); 213 - - } 214 - - } else { 215 - - // Copy the latest n_bands samples. 216 - - for (size_t n = 0; n < n_bands; n++) 217 - - latest_samples_mono[n] = 0.5F * (left_in[n_samples - n_bands + n] + 218 - - right_in[n_samples - n_bands + n]); 219 - - } 220 - + // Copy the latest n_bands samples. 221 - + for (size_t n = 0; n < n_bands; n++) 222 - + latest_samples_mono[n] = 0.5F * (left_in[n_samples - n_bands + n] + 223 - + right_in[n_samples - n_bands + n]); 224 - } 225 - 226 - /* 227 - -- 228 - 2.46.0 229 -
···
+5 -8
pkgs/by-name/ea/easyeffects/package.nix
··· 1 { 2 lib, 3 stdenv, 4 - fetchFromGitHub, 5 appstream-glib, 6 calf, 7 deepfilternet, 8 desktop-file-utils, 9 fftw, 10 fftwFloat, 11 fmt_9, ··· 45 # Fix crashes with speexdsp effects 46 speexdsp' = speexdsp.override { withFftw3 = false; }; 47 in 48 stdenv.mkDerivation rec { 49 pname = "easyeffects"; 50 - version = "7.1.9"; 51 52 src = fetchFromGitHub { 53 owner = "wwmm"; 54 repo = "easyeffects"; 55 tag = "v${version}"; 56 - hash = "sha256-It+kldlhThWF9y/rTgKt9QlIouH1cQcCtSHQTsaGjfo="; 57 }; 58 59 nativeBuildInputs = [ ··· 102 mda_lv2 # loudness 103 zam-plugins # maximizer 104 ]; 105 ladspaPlugins = [ 106 deepfilternet # deep noise remover 107 rubberband # pitch shifting ··· 113 --set LADSPA_PATH "${lib.makeSearchPath "lib/ladspa" ladspaPlugins}" 114 ) 115 ''; 116 - 117 - patches = [ 118 - # Remove when lsp-plugins is >= 1.2.17. (https://github.com/wwmm/easyeffects/issues/3394) 119 - ./0001-Revert-Merge-pull-request-3340-from-violetmage-viole.patch 120 - ]; 121 122 separateDebugInfo = true; 123
··· 1 { 2 lib, 3 stdenv, 4 appstream-glib, 5 calf, 6 deepfilternet, 7 desktop-file-utils, 8 + fetchFromGitHub, 9 fftw, 10 fftwFloat, 11 fmt_9, ··· 45 # Fix crashes with speexdsp effects 46 speexdsp' = speexdsp.override { withFftw3 = false; }; 47 in 48 + 49 stdenv.mkDerivation rec { 50 pname = "easyeffects"; 51 + version = "7.2.3"; 52 53 src = fetchFromGitHub { 54 owner = "wwmm"; 55 repo = "easyeffects"; 56 tag = "v${version}"; 57 + hash = "sha256-bTyPStOQusIho8x6RI+2Z+4wHSG9ERjo4NuvLUILIm8="; 58 }; 59 60 nativeBuildInputs = [ ··· 103 mda_lv2 # loudness 104 zam-plugins # maximizer 105 ]; 106 + 107 ladspaPlugins = [ 108 deepfilternet # deep noise remover 109 rubberband # pitch shifting ··· 115 --set LADSPA_PATH "${lib.makeSearchPath "lib/ladspa" ladspaPlugins}" 116 ) 117 ''; 118 119 separateDebugInfo = true; 120
-2
pkgs/top-level/all-packages.nix
··· 14209 portaudio = null; 14210 }; 14211 14212 - lsp-plugins = callPackage ../applications/audio/lsp-plugins { php = php82; }; 14213 - 14214 luminanceHDR = libsForQt5.callPackage ../applications/graphics/luminance-hdr { }; 14215 14216 luddite = with python3Packages; toPythonApplication luddite;
··· 14209 portaudio = null; 14210 }; 14211 14212 luminanceHDR = libsForQt5.callPackage ../applications/graphics/luminance-hdr { }; 14213 14214 luddite = with python3Packages; toPythonApplication luddite;