Alsaequal is a real-time adjustable equalizer plugin for ALSA. It can be
adjusted using an ALSA compatible mixer, like alsamixergui or alsamixer.

Signed-off-by: Fabio Berton <fabio.ber...@ossystems.com.br>
---
 .../alsa-equal/alsa-equal/0001-Fix-asneeded.patch  | 37 +++++++++
 .../alsa-equal/0002-Fix-Eq-CAPS-plugin-name.patch  | 83 +++++++++++++++++++
 .../alsa-equal/alsa-equal/0003-Fix-mixer.patch     | 92 ++++++++++++++++++++++
 .../alsa-equal/alsa-equal_0.6.bb                   | 44 +++++++++++
 4 files changed, 256 insertions(+)
 create mode 100644 
meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0001-Fix-asneeded.patch
 create mode 100644 
meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0002-Fix-Eq-CAPS-plugin-name.patch
 create mode 100644 
meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0003-Fix-mixer.patch
 create mode 100644 
meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb

diff --git 
a/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0001-Fix-asneeded.patch
 
b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0001-Fix-asneeded.patch
new file mode 100644
index 0000000..64130d9
--- /dev/null
+++ 
b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0001-Fix-asneeded.patch
@@ -0,0 +1,37 @@
+From c17129561e784bb9efebee2380349f121db0a9db Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.ber...@ossystems.com.br>
+Date: Wed, 5 Oct 2016 10:56:33 -0300
+Subject: [PATCH 1/3] Fix asneeded
+Organization: O.S. Systems Software LTDA.
+
+Patch from:
+https://git.backbone.ws/portage/overlay/commit/7a069112054fbb5dc94a857e9c020a38cb1c6fde
+
+Upstream-Status: Pending
+
+Signed-off-by: Fabio Berton <fabio.ber...@ossystems.com.br>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 3b2aa7d..0489fc1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -29,11 +29,11 @@ dep:
+ 
+ $(SND_PCM_BIN): $(SND_PCM_OBJECTS)
+       @echo LD $@
+-      $(Q)$(LD) $(LDFLAGS) $(SND_PCM_LIBS) $(SND_PCM_OBJECTS) -o 
$(SND_PCM_BIN)
++      $(Q)$(LD) $(LDFLAGS) $(SND_PCM_OBJECTS) -o $(SND_PCM_BIN) 
$(SND_PCM_LIBS)
+ 
+ $(SND_CTL_BIN): $(SND_CTL_OBJECTS)
+       @echo LD $@
+-      $(Q)$(LD) $(LDFLAGS) $(SND_CTL_LIBS) $(SND_CTL_OBJECTS) -o 
$(SND_CTL_BIN)
++      $(Q)$(LD) $(LDFLAGS) $(SND_CTL_OBJECTS) -o $(SND_CTL_BIN) 
$(SND_CTL_LIBS)
+ 
+ %.o: %.c
+       @echo GCC $<
+-- 
+2.1.4
+
diff --git 
a/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0002-Fix-Eq-CAPS-plugin-name.patch
 
b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0002-Fix-Eq-CAPS-plugin-name.patch
new file mode 100644
index 0000000..efce380
--- /dev/null
+++ 
b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0002-Fix-Eq-CAPS-plugin-name.patch
@@ -0,0 +1,83 @@
+From d5c6c92045f9b6ad32365f39b8cc77f2fcd7d0f5 Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.ber...@ossystems.com.br>
+Date: Wed, 5 Oct 2016 10:57:29 -0300
+Subject: [PATCH 2/3] Fix Eq CAPS plugin name
+Organization: O.S. Systems Software LTDA.
+
+Patch from:
+https://git.backbone.ws/portage/overlay/commit/7a069112054fbb5dc94a857e9c020a38cb1c6fde
+
+Upstream-Status: Pending
+
+Signed-off-by: Fabio Berton <fabio.ber...@ossystems.com.br>
+---
+ README      | 8 ++++----
+ ctl_equal.c | 2 +-
+ pcm_equal.c | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/README b/README
+index b77fd2d..2df3dc5 100644
+--- a/README
++++ b/README
+@@ -1,11 +1,11 @@
+ Alsaequal is a real-time adjustable equalizer plugin for ALSA. It can
+ be adjusted using any ALSA compatible mixer, e.g. alsamixergui.
+ 
+-Alsaequal uses the Eq CAPS LADSPA Plugin for audio processing, actually
++Alsaequal uses the Eq10 CAPS LADSPA Plugin for audio processing, actually
+ alsaequal is a generic LADSPA plugin interface with real-time access to
+ the LADSPA controls (the LADSPA plugin included with alsa doesn't allow
+ for real-time controls) but it was developed for and only tested with
+-Eq CAPS LADSPA plugin. You are welcome to try it with other plugins, it
++Eq10 CAPS LADSPA plugin. You are welcome to try it with other plugins, it
+ may work. Let me know how it goes, you can reach me at
+ <char...@thedigitalmachine.net>.
+ 
+@@ -66,7 +66,7 @@ ctl.<name_equal> {
+       library -- location of the LADSPA library, the default is
+                                       "/usr/lib/ladspa/caps.so"
+       module -- module name within the LADSPA library, the deafault
+-                                      is "Eq"
++                                      is "Eq10"
+       channels -- number of channels, the default is 2
+ }
+ 
+@@ -81,7 +81,7 @@ pcm.<name_pcm> {
+       library -- location of the LADSPA library, the default is
+                                       "/usr/lib/ladspa/caps.so"
+       module -- module name within the LADSPA library, the deafault
+-                                      is "Eq"
++                                      is "Eq10"
+       channels -- number of channels, the default is 2
+ }
+ 
+diff --git a/ctl_equal.c b/ctl_equal.c
+index 40747d4..afba793 100644
+--- a/ctl_equal.c
++++ b/ctl_equal.c
+@@ -167,7 +167,7 @@ SND_CTL_PLUGIN_DEFINE_FUNC(equal)
+       snd_ctl_equal_t *equal;
+       const char *controls = ".alsaequal.bin";
+       const char *library = "/usr/lib/ladspa/caps.so";
+-      const char *module = "Eq";
++      const char *module = "Eq10";
+       long channels = 2;
+       const char *sufix = " Playback Volume";
+       int err, i, index;
+diff --git a/pcm_equal.c b/pcm_equal.c
+index 2bc87fb..b0b4265 100644
+--- a/pcm_equal.c
++++ b/pcm_equal.c
+@@ -151,7 +151,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(equal)
+       snd_config_t *sconf = NULL;
+       const char *controls = ".alsaequal.bin";
+       const char *library = "/usr/lib/ladspa/caps.so";
+-      const char *module = "Eq";
++      const char *module = "Eq10";
+       long channels = 2;
+       int err;
+       
+-- 
+2.1.4
+
diff --git 
a/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0003-Fix-mixer.patch 
b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0003-Fix-mixer.patch
new file mode 100644
index 0000000..1c2503e
--- /dev/null
+++ 
b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0003-Fix-mixer.patch
@@ -0,0 +1,92 @@
+From 665f68a863b4ac2e21b0a994dce7e2720c03aa9d Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.ber...@ossystems.com.br>
+Date: Wed, 5 Oct 2016 11:02:18 -0300
+Subject: [PATCH 3/3] Fix mixer
+Organization: O.S. Systems Software LTDA.
+
+Patch from:
+https://git.backbone.ws/portage/overlay/commit/7a069112054fbb5dc94a857e9c020a38cb1c6fde
+
+Upstream-Status: Pending
+
+Signed-off-by: Fabio Berton <fabio.ber...@ossystems.com.br>
+---
+ ctl_equal.c    | 9 ++++++---
+ ladspa_utils.c | 6 ++++--
+ pcm_equal.c    | 6 ++++--
+ 3 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/ctl_equal.c b/ctl_equal.c
+index afba793..dd90e88 100644
+--- a/ctl_equal.c
++++ b/ctl_equal.c
+@@ -263,7 +263,8 @@ SND_CTL_PLUGIN_DEFINE_FUNC(equal)
+       for(i = 0; i < equal->num_input_controls; i++) {
+               if(equal->control_data->control[i].type == LADSPA_CNTRL_INPUT) {
+                       index = equal->control_data->control[i].index;
+-                      if(equal->klass->PortDescriptors[index] !=
++                      if((equal->klass->PortDescriptors[index] & 
++                                      (LADSPA_PORT_INPUT | 
LADSPA_PORT_CONTROL)) !=
+                                       (LADSPA_PORT_INPUT | 
LADSPA_PORT_CONTROL)) {
+                               SNDERR("Problem with control file %s, %d.", 
controls, index);
+                               return -1;
+@@ -284,12 +285,14 @@ SND_CTL_PLUGIN_DEFINE_FUNC(equal)
+       }
+ 
+       /* Make sure that the control file makes sense */
+-      if(equal->klass->PortDescriptors[equal->control_data->input_index] !=
++      if((equal->klass->PortDescriptors[equal->control_data->input_index] & 
++                      (LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO))!=
+                       (LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) {
+               SNDERR("Problem with control file %s.", controls);
+               return -1;
+       }
+-      if(equal->klass->PortDescriptors[equal->control_data->output_index] !=
++      if((equal->klass->PortDescriptors[equal->control_data->output_index] & 
++                      (LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO))!=
+                       (LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) {
+               SNDERR("Problem with control file %s.", controls);
+               return -1;
+diff --git a/ladspa_utils.c b/ladspa_utils.c
+index 7b596da..0c00800 100644
+--- a/ladspa_utils.c
++++ b/ladspa_utils.c
+@@ -354,10 +354,12 @@ LADSPA_Control * LADSPAcontrolMMAP(const 
LADSPA_Descriptor *psDescriptor,
+                                               
default_controls->control[index].type = LADSPA_CNTRL_OUTPUT;
+                                       }
+                                       index++;
+-                              } else if(psDescriptor->PortDescriptors[i] ==
++                              } else if((psDescriptor->PortDescriptors[i] &
++                                              (LADSPA_PORT_INPUT | 
LADSPA_PORT_AUDIO)) ==
+                                               (LADSPA_PORT_INPUT | 
LADSPA_PORT_AUDIO)) {
+                                       default_controls->input_index = i;
+-                              } else if(psDescriptor->PortDescriptors[i] ==
++                              } else if((psDescriptor->PortDescriptors[i] & 
++                                              (LADSPA_PORT_OUTPUT | 
LADSPA_PORT_AUDIO)) ==
+                                               (LADSPA_PORT_OUTPUT | 
LADSPA_PORT_AUDIO)) {
+                                       default_controls->output_index = i;
+                               }
+diff --git a/pcm_equal.c b/pcm_equal.c
+index b0b4265..8d98371 100644
+--- a/pcm_equal.c
++++ b/pcm_equal.c
+@@ -231,12 +231,14 @@ SND_PCM_PLUGIN_DEFINE_FUNC(equal)
+       }
+ 
+       /* Make sure that the control file makes sense */
+-      if(equal->klass->PortDescriptors[equal->control_data->input_index] !=
++      if((equal->klass->PortDescriptors[equal->control_data->input_index] &   
++                      (LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) !=
+                       (LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) {
+               SNDERR("Problem with control file %s.", controls);
+               return -1;
+       }
+-      if(equal->klass->PortDescriptors[equal->control_data->output_index] !=
++      if((equal->klass->PortDescriptors[equal->control_data->output_index] & 
++                      (LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) !=
+                       (LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) {
+               SNDERR("Problem with control file %s.", controls);
+               return -1;
+-- 
+2.1.4
+
diff --git a/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb 
b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb
new file mode 100644
index 0000000..637d029
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "A real-time adjustable equalizer plugin for ALSA"
+HOMEPAGE = "http://www.thedigitalmachine.net/alsaequal.html";
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
+
+DEPENDS = "alsa-lib"
+
+SRC_URI = " \
+    http://www.thedigitalmachine.net/tools/alsaequal-${PV}.tar.bz2 \
+    file://0001-Fix-asneeded.patch \
+    file://0002-Fix-Eq-CAPS-plugin-name.patch \
+    file://0003-Fix-mixer.patch \
+"
+
+SRC_URI[md5sum] = "d2edc7710c72cbf3ab297c414e35ebda"
+SRC_URI[sha256sum] = 
"916e7d152added24617efc350142438a46099efe062bd8781d36dbf10b4e6ff0"
+
+S = "${WORKDIR}/alsaequal"
+
+EXTRA_OEMAKE = " \
+    Q='' \
+    CC='${CC}' \
+    LD='${CC}' \
+    LDFLAGS='${LDFLAGS} -shared -lasound' \
+    CFLAGS='${CFLAGS} -I. -funroll-loops -ffast-math -fPIC -DPIC' \
+    SND_PCM_LIBS='-lasound' \
+    SND_CTL_LIBS='-lasound' \
+"
+
+do_compile() {
+    oe_runmake all
+}
+
+do_install() {
+    install -Dm 0644 libasound_module_ctl_equal.so 
${D}${libdir}/alsa-lib/libasound_module_ctl_equal.so
+    install -Dm 0644 libasound_module_pcm_equal.so 
${D}${libdir}/alsa-lib/libasound_module_pcm_equal.so
+}
+
+RDEPENDS_${PN} += " \
+    alsa-utils \
+    caps \
+"
+
+FILES_${PN} = "${libdir}/alsa-lib/"
-- 
2.1.4

-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to