From 7f5236bda38821fd9826b5d96469511e9d28fa93 Mon Sep 17 00:00:00 2001 From: Fabio Berton Date: Thu, 6 Oct 2016 14:40:39 -0300 Subject: alsa-equal: Add recipe for version 0.6 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 Signed-off-by: Martin Jansa --- .../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 (limited to 'meta-multimedia') 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 0000000000..64130d900c --- /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 +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 +--- + 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 0000000000..efce38070b --- /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 +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 +--- + 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 + . + +@@ -66,7 +66,7 @@ ctl. { + 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. { + 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 0000000000..1c2503ed96 --- /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 +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 +--- + 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 0000000000..637d029baf --- /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/" -- cgit 1.2.3-korg