summaryrefslogtreecommitdiffstats
path: root/meta-multimedia/recipes-multimedia/alsa-equal
diff options
context:
space:
mode:
authorFabio Berton <fabio.berton@ossystems.com.br>2016-10-06 14:40:39 -0300
committerMartin Jansa <Martin.Jansa@gmail.com>2016-10-21 18:20:43 +0200
commit7f5236bda38821fd9826b5d96469511e9d28fa93 (patch)
tree319b36bacf0c2f2635486ad6c03ae08f7c4cbe96 /meta-multimedia/recipes-multimedia/alsa-equal
parentdef0e38c264f559163cb20b5bff840e33287aab7 (diff)
downloadmeta-openembedded-7f5236bda38821fd9826b5d96469511e9d28fa93.tar.gz
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 <fabio.berton@ossystems.com.br> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-multimedia/recipes-multimedia/alsa-equal')
-rw-r--r--meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0001-Fix-asneeded.patch37
-rw-r--r--meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0002-Fix-Eq-CAPS-plugin-name.patch83
-rw-r--r--meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0003-Fix-mixer.patch92
-rw-r--r--meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb44
4 files changed, 256 insertions, 0 deletions
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 000000000..64130d900
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0001-Fix-asneeded.patch
@@ -0,0 +1,37 @@
1From c17129561e784bb9efebee2380349f121db0a9db Mon Sep 17 00:00:00 2001
2From: Fabio Berton <fabio.berton@ossystems.com.br>
3Date: Wed, 5 Oct 2016 10:56:33 -0300
4Subject: [PATCH 1/3] Fix asneeded
5Organization: O.S. Systems Software LTDA.
6
7Patch from:
8https://git.backbone.ws/portage/overlay/commit/7a069112054fbb5dc94a857e9c020a38cb1c6fde
9
10Upstream-Status: Pending
11
12Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
13---
14 Makefile | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/Makefile b/Makefile
18index 3b2aa7d..0489fc1 100644
19--- a/Makefile
20+++ b/Makefile
21@@ -29,11 +29,11 @@ dep:
22
23 $(SND_PCM_BIN): $(SND_PCM_OBJECTS)
24 @echo LD $@
25- $(Q)$(LD) $(LDFLAGS) $(SND_PCM_LIBS) $(SND_PCM_OBJECTS) -o $(SND_PCM_BIN)
26+ $(Q)$(LD) $(LDFLAGS) $(SND_PCM_OBJECTS) -o $(SND_PCM_BIN) $(SND_PCM_LIBS)
27
28 $(SND_CTL_BIN): $(SND_CTL_OBJECTS)
29 @echo LD $@
30- $(Q)$(LD) $(LDFLAGS) $(SND_CTL_LIBS) $(SND_CTL_OBJECTS) -o $(SND_CTL_BIN)
31+ $(Q)$(LD) $(LDFLAGS) $(SND_CTL_OBJECTS) -o $(SND_CTL_BIN) $(SND_CTL_LIBS)
32
33 %.o: %.c
34 @echo GCC $<
35--
362.1.4
37
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 000000000..efce38070
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0002-Fix-Eq-CAPS-plugin-name.patch
@@ -0,0 +1,83 @@
1From d5c6c92045f9b6ad32365f39b8cc77f2fcd7d0f5 Mon Sep 17 00:00:00 2001
2From: Fabio Berton <fabio.berton@ossystems.com.br>
3Date: Wed, 5 Oct 2016 10:57:29 -0300
4Subject: [PATCH 2/3] Fix Eq CAPS plugin name
5Organization: O.S. Systems Software LTDA.
6
7Patch from:
8https://git.backbone.ws/portage/overlay/commit/7a069112054fbb5dc94a857e9c020a38cb1c6fde
9
10Upstream-Status: Pending
11
12Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
13---
14 README | 8 ++++----
15 ctl_equal.c | 2 +-
16 pcm_equal.c | 2 +-
17 3 files changed, 6 insertions(+), 6 deletions(-)
18
19diff --git a/README b/README
20index b77fd2d..2df3dc5 100644
21--- a/README
22+++ b/README
23@@ -1,11 +1,11 @@
24 Alsaequal is a real-time adjustable equalizer plugin for ALSA. It can
25 be adjusted using any ALSA compatible mixer, e.g. alsamixergui.
26
27-Alsaequal uses the Eq CAPS LADSPA Plugin for audio processing, actually
28+Alsaequal uses the Eq10 CAPS LADSPA Plugin for audio processing, actually
29 alsaequal is a generic LADSPA plugin interface with real-time access to
30 the LADSPA controls (the LADSPA plugin included with alsa doesn't allow
31 for real-time controls) but it was developed for and only tested with
32-Eq CAPS LADSPA plugin. You are welcome to try it with other plugins, it
33+Eq10 CAPS LADSPA plugin. You are welcome to try it with other plugins, it
34 may work. Let me know how it goes, you can reach me at
35 <charles@thedigitalmachine.net>.
36
37@@ -66,7 +66,7 @@ ctl.<name_equal> {
38 library -- location of the LADSPA library, the default is
39 "/usr/lib/ladspa/caps.so"
40 module -- module name within the LADSPA library, the deafault
41- is "Eq"
42+ is "Eq10"
43 channels -- number of channels, the default is 2
44 }
45
46@@ -81,7 +81,7 @@ pcm.<name_pcm> {
47 library -- location of the LADSPA library, the default is
48 "/usr/lib/ladspa/caps.so"
49 module -- module name within the LADSPA library, the deafault
50- is "Eq"
51+ is "Eq10"
52 channels -- number of channels, the default is 2
53 }
54
55diff --git a/ctl_equal.c b/ctl_equal.c
56index 40747d4..afba793 100644
57--- a/ctl_equal.c
58+++ b/ctl_equal.c
59@@ -167,7 +167,7 @@ SND_CTL_PLUGIN_DEFINE_FUNC(equal)
60 snd_ctl_equal_t *equal;
61 const char *controls = ".alsaequal.bin";
62 const char *library = "/usr/lib/ladspa/caps.so";
63- const char *module = "Eq";
64+ const char *module = "Eq10";
65 long channels = 2;
66 const char *sufix = " Playback Volume";
67 int err, i, index;
68diff --git a/pcm_equal.c b/pcm_equal.c
69index 2bc87fb..b0b4265 100644
70--- a/pcm_equal.c
71+++ b/pcm_equal.c
72@@ -151,7 +151,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(equal)
73 snd_config_t *sconf = NULL;
74 const char *controls = ".alsaequal.bin";
75 const char *library = "/usr/lib/ladspa/caps.so";
76- const char *module = "Eq";
77+ const char *module = "Eq10";
78 long channels = 2;
79 int err;
80
81--
822.1.4
83
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 000000000..1c2503ed9
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0003-Fix-mixer.patch
@@ -0,0 +1,92 @@
1From 665f68a863b4ac2e21b0a994dce7e2720c03aa9d Mon Sep 17 00:00:00 2001
2From: Fabio Berton <fabio.berton@ossystems.com.br>
3Date: Wed, 5 Oct 2016 11:02:18 -0300
4Subject: [PATCH 3/3] Fix mixer
5Organization: O.S. Systems Software LTDA.
6
7Patch from:
8https://git.backbone.ws/portage/overlay/commit/7a069112054fbb5dc94a857e9c020a38cb1c6fde
9
10Upstream-Status: Pending
11
12Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
13---
14 ctl_equal.c | 9 ++++++---
15 ladspa_utils.c | 6 ++++--
16 pcm_equal.c | 6 ++++--
17 3 files changed, 14 insertions(+), 7 deletions(-)
18
19diff --git a/ctl_equal.c b/ctl_equal.c
20index afba793..dd90e88 100644
21--- a/ctl_equal.c
22+++ b/ctl_equal.c
23@@ -263,7 +263,8 @@ SND_CTL_PLUGIN_DEFINE_FUNC(equal)
24 for(i = 0; i < equal->num_input_controls; i++) {
25 if(equal->control_data->control[i].type == LADSPA_CNTRL_INPUT) {
26 index = equal->control_data->control[i].index;
27- if(equal->klass->PortDescriptors[index] !=
28+ if((equal->klass->PortDescriptors[index] &
29+ (LADSPA_PORT_INPUT | LADSPA_PORT_CONTROL)) !=
30 (LADSPA_PORT_INPUT | LADSPA_PORT_CONTROL)) {
31 SNDERR("Problem with control file %s, %d.", controls, index);
32 return -1;
33@@ -284,12 +285,14 @@ SND_CTL_PLUGIN_DEFINE_FUNC(equal)
34 }
35
36 /* Make sure that the control file makes sense */
37- if(equal->klass->PortDescriptors[equal->control_data->input_index] !=
38+ if((equal->klass->PortDescriptors[equal->control_data->input_index] &
39+ (LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO))!=
40 (LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) {
41 SNDERR("Problem with control file %s.", controls);
42 return -1;
43 }
44- if(equal->klass->PortDescriptors[equal->control_data->output_index] !=
45+ if((equal->klass->PortDescriptors[equal->control_data->output_index] &
46+ (LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO))!=
47 (LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) {
48 SNDERR("Problem with control file %s.", controls);
49 return -1;
50diff --git a/ladspa_utils.c b/ladspa_utils.c
51index 7b596da..0c00800 100644
52--- a/ladspa_utils.c
53+++ b/ladspa_utils.c
54@@ -354,10 +354,12 @@ LADSPA_Control * LADSPAcontrolMMAP(const LADSPA_Descriptor *psDescriptor,
55 default_controls->control[index].type = LADSPA_CNTRL_OUTPUT;
56 }
57 index++;
58- } else if(psDescriptor->PortDescriptors[i] ==
59+ } else if((psDescriptor->PortDescriptors[i] &
60+ (LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) ==
61 (LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) {
62 default_controls->input_index = i;
63- } else if(psDescriptor->PortDescriptors[i] ==
64+ } else if((psDescriptor->PortDescriptors[i] &
65+ (LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) ==
66 (LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) {
67 default_controls->output_index = i;
68 }
69diff --git a/pcm_equal.c b/pcm_equal.c
70index b0b4265..8d98371 100644
71--- a/pcm_equal.c
72+++ b/pcm_equal.c
73@@ -231,12 +231,14 @@ SND_PCM_PLUGIN_DEFINE_FUNC(equal)
74 }
75
76 /* Make sure that the control file makes sense */
77- if(equal->klass->PortDescriptors[equal->control_data->input_index] !=
78+ if((equal->klass->PortDescriptors[equal->control_data->input_index] &
79+ (LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) !=
80 (LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) {
81 SNDERR("Problem with control file %s.", controls);
82 return -1;
83 }
84- if(equal->klass->PortDescriptors[equal->control_data->output_index] !=
85+ if((equal->klass->PortDescriptors[equal->control_data->output_index] &
86+ (LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) !=
87 (LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) {
88 SNDERR("Problem with control file %s.", controls);
89 return -1;
90--
912.1.4
92
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 000000000..637d029ba
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb
@@ -0,0 +1,44 @@
1DESCRIPTION = "A real-time adjustable equalizer plugin for ALSA"
2HOMEPAGE = "http://www.thedigitalmachine.net/alsaequal.html"
3LICENSE = "LGPL-2.1"
4LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
5
6DEPENDS = "alsa-lib"
7
8SRC_URI = " \
9 http://www.thedigitalmachine.net/tools/alsaequal-${PV}.tar.bz2 \
10 file://0001-Fix-asneeded.patch \
11 file://0002-Fix-Eq-CAPS-plugin-name.patch \
12 file://0003-Fix-mixer.patch \
13"
14
15SRC_URI[md5sum] = "d2edc7710c72cbf3ab297c414e35ebda"
16SRC_URI[sha256sum] = "916e7d152added24617efc350142438a46099efe062bd8781d36dbf10b4e6ff0"
17
18S = "${WORKDIR}/alsaequal"
19
20EXTRA_OEMAKE = " \
21 Q='' \
22 CC='${CC}' \
23 LD='${CC}' \
24 LDFLAGS='${LDFLAGS} -shared -lasound' \
25 CFLAGS='${CFLAGS} -I. -funroll-loops -ffast-math -fPIC -DPIC' \
26 SND_PCM_LIBS='-lasound' \
27 SND_CTL_LIBS='-lasound' \
28"
29
30do_compile() {
31 oe_runmake all
32}
33
34do_install() {
35 install -Dm 0644 libasound_module_ctl_equal.so ${D}${libdir}/alsa-lib/libasound_module_ctl_equal.so
36 install -Dm 0644 libasound_module_pcm_equal.so ${D}${libdir}/alsa-lib/libasound_module_pcm_equal.so
37}
38
39RDEPENDS_${PN} += " \
40 alsa-utils \
41 caps \
42"
43
44FILES_${PN} = "${libdir}/alsa-lib/"