summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sping@gentoo.org>2010-07-26 00:14:24 +0000
committerSebastian Pipping <sping@gentoo.org>2010-07-26 00:14:24 +0000
commit0fa90367536a82b544907b17f50a51a7875e2181 (patch)
tree3d224f763f7f33b10393eeaecfa6b93ed90b29d1 /media-libs/freeverb3
parentMask upcoming =media-libs/freeverb3-2.5.5-r1 (diff)
downloadgentoo-2-0fa90367536a82b544907b17f50a51a7875e2181.tar.gz
gentoo-2-0fa90367536a82b544907b17f50a51a7875e2181.tar.bz2
gentoo-2-0fa90367536a82b544907b17f50a51a7875e2181.zip
media-libs/freeverb3: Add experimental patch for Audacious 2.4_beta1 support
(Portage version: 2.2_rc67_p185/cvs/Linux i686)
Diffstat (limited to 'media-libs/freeverb3')
-rw-r--r--media-libs/freeverb3/ChangeLog9
-rw-r--r--media-libs/freeverb3/files/freeverb3-2.5.5-audacious-2.4_beta1.patch486
-rw-r--r--media-libs/freeverb3/freeverb3-2.5.5-r1.ebuild52
3 files changed, 546 insertions, 1 deletions
diff --git a/media-libs/freeverb3/ChangeLog b/media-libs/freeverb3/ChangeLog
index c942997c0768..3a8ccf285a39 100644
--- a/media-libs/freeverb3/ChangeLog
+++ b/media-libs/freeverb3/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-libs/freeverb3
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/freeverb3/ChangeLog,v 1.12 2010/07/25 18:21:34 sping Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/freeverb3/ChangeLog,v 1.13 2010/07/26 00:14:24 sping Exp $
+
+*freeverb3-2.5.5-r1 (26 Jul 2010)
+
+ 26 Jul 2010; Sebastian Pipping <sping@gentoo.org>
+ +freeverb3-2.5.5-r1.ebuild,
+ +files/freeverb3-2.5.5-audacious-2.4_beta1.patch:
+ Add experimental patch for Audacious 2.4_beta1 support
*freeverb3-2.5.5 (25 Jul 2010)
diff --git a/media-libs/freeverb3/files/freeverb3-2.5.5-audacious-2.4_beta1.patch b/media-libs/freeverb3/files/freeverb3-2.5.5-audacious-2.4_beta1.patch
new file mode 100644
index 000000000000..85e1902d7e08
--- /dev/null
+++ b/media-libs/freeverb3/files/freeverb3-2.5.5-audacious-2.4_beta1.patch
@@ -0,0 +1,486 @@
+From 043ff2f4406e1d09ac2a813fafa84b6ba54ca6df Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Mon, 26 Jul 2010 01:58:59 +0200
+Subject: [PATCH] Fix compilation for Audacious API v16
+
+---
+ xmms/compressor.cpp | 44 +++++++++++++++++++++++------
+ xmms/freeverb3.cpp | 55 ++++++++++++++++++++++++++++++-------
+ xmms/impulser2.cpp | 71 ++++++++++++++++++++++++++++++++++++++---------
+ xmms/libxmmsplugin.hpp | 11 +++++++-
+ xmms/revmodel.cpp | 41 ++++++++++++++++++++++-----
+ xmms/stenh.cpp | 41 ++++++++++++++++++++++-----
+ 6 files changed, 213 insertions(+), 50 deletions(-)
+
+diff --git a/xmms/compressor.cpp b/xmms/compressor.cpp
+index 9d6a431..d5e5c78 100755
+--- a/xmms/compressor.cpp
++++ b/xmms/compressor.cpp
+@@ -276,20 +276,46 @@ extern "C" EffectPlugin *get_eplugin_info(void)
+ }
+ #else
+ static EffectPlugin epe = {
+- NULL, NULL, (char*)productString,
+- init, cleanup, about, configure,
++ NULL, /* handle */
++ NULL, /* filename */
++ (gchar*)productString, /* description */
++ init,
++ cleanup,
++ about,
++ configure,
++
+ #if __AUDACIOUS_PLUGIN_API__ >= 10
+- NULL,
++ NULL, /* settings */
+ #endif
+- FALSE,
+-#if __AUDACIOUS_PLUGIN_API__ >= 13
+- NULL, NULL,
+-#else
++
++#if __AUDACIOUS_PLUGIN_API__ >= 16
++ NULL, /* sendmsg */
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ < 16
++ FALSE, /* enabled */
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ < 16
++# if __AUDACIOUS_PLUGIN_API__ >= 13
++ NULL, NULL, /* mod_samples, query_format */
++# else
+ mod_samples, query_format,
++# endif
+ #endif
++
+ #if __AUDACIOUS_PLUGIN_API__ >= 13
+- compressor_start, compressor_process, compressor_flush, compressor_finish,
+- decoder_to_output_time, output_to_decoder_time,
++ compressor_start,
++ compressor_process,
++ compressor_flush,
++ compressor_finish,
++ decoder_to_output_time,
++ output_to_decoder_time,
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ >= 16
++ 0, /* order */
++ TRUE, /* preserves_format */
+ #endif
+ };
+ static EffectPlugin *eplist[] = {&epe, NULL};
+diff --git a/xmms/freeverb3.cpp b/xmms/freeverb3.cpp
+index 575331a..65cc5af 100755
+--- a/xmms/freeverb3.cpp
++++ b/xmms/freeverb3.cpp
+@@ -39,7 +39,6 @@
+ #include <bmp/configdb.h>
+ #else
+ #include <audacious/plugin.h>
+-#include <audacious/util.h>
+ #include <audacious/configdb.h>
+ #endif
+ #endif
+@@ -215,7 +214,11 @@ static void write_config(void)
+ bmp_cfg_db_set_float(cfg, "freeverb3_plugin", "idelay", conf_idelay);
+ bmp_cfg_db_close(cfg);
+ #else
++# if __AUDACIOUS_PLUGIN_API__ < 16
+ ConfigDb * cfg = aud_cfg_db_open();
++# else
++ mcs_handle_t * cfg = _aud_api_table->configdb_api->cfg_db_open();
++# endif
+ aud_cfg_db_set_int (cfg, "freeverb3_plugin", "maxvfs", maxvfs);
+ aud_cfg_db_set_float(cfg, "freeverb3_plugin", "wet", reverbm.getwet());
+ aud_cfg_db_set_float(cfg, "freeverb3_plugin", "dry", reverbm.getdry());
+@@ -466,11 +469,13 @@ static void configure(void)
+
+ static void about(void)
+ {
++#if __AUDACIOUS_PLUGIN_API__ < 16
+ static GtkWidget *about_dialog = NULL;
+ if (about_dialog != NULL) return;
+ about_dialog =
+ _XMMS_DIALOG(const_cast<char*>("About Plugin"),const_cast<char*>(about_text),const_cast<char*>("Ok"),FALSE,NULL,NULL);
+ gtk_signal_connect(GTK_OBJECT(about_dialog), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &about_dialog);
++#endif
+ }
+
+ static void init(void)
+@@ -515,7 +520,11 @@ static void init(void)
+ bmp_cfg_db_get_float(cfg, "freeverb3_plugin", "idelay", &conf_idelay);
+ bmp_cfg_db_close(cfg);
+ #else
++# if __AUDACIOUS_PLUGIN_API__ < 16
+ ConfigDb * cfg = aud_cfg_db_open();
++# else
++ mcs_handle_t * cfg = _aud_api_table->configdb_api->cfg_db_open();
++# endif
+ gboolean ok =
+ aud_cfg_db_get_float(cfg, "freeverb3_plugin", "wet", &conf_wet);
+ aud_cfg_db_get_int(cfg, "freeverb3_plugin", "maxvfs", &maxvfs);
+@@ -722,20 +731,46 @@ static void freeverb3_finish(gfloat ** data, gint * samples)
+ #endif
+
+ static EffectPlugin epe = {
+- NULL, NULL, (char*)productString,
+- init, cleanup, about, configure,
++ NULL, /* handle */
++ NULL, /* filename */
++ (gchar*)productString, /* description */
++ init,
++ cleanup,
++ about,
++ configure,
++
+ #if __AUDACIOUS_PLUGIN_API__ >= 10
+- NULL,
++ NULL, /* settings */
+ #endif
+- FALSE,
+-#if __AUDACIOUS_PLUGIN_API__ >= 13
+- NULL, NULL,
+-#else
++
++#if __AUDACIOUS_PLUGIN_API__ >= 16
++ NULL, /* sendmsg */
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ < 16
++ FALSE, /* enabled */
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ < 16
++# if __AUDACIOUS_PLUGIN_API__ >= 13
++ NULL, NULL, /* mod_samples, query_format */
++# else
+ mod_samples, query_format,
++# endif
+ #endif
++
+ #if __AUDACIOUS_PLUGIN_API__ >= 13
+- freeverb3_start, freeverb3_process, freeverb3_flush, freeverb3_finish,
+- decoder_to_output_time, output_to_decoder_time,
++ freeverb3_start,
++ freeverb3_process,
++ freeverb3_flush,
++ freeverb3_finish,
++ decoder_to_output_time,
++ output_to_decoder_time,
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ >= 16
++ 0, /* order */
++ TRUE, /* preserves_format */
+ #endif
+ };
+
+diff --git a/xmms/impulser2.cpp b/xmms/impulser2.cpp
+index 6da7ecc..0037dd3 100755
+--- a/xmms/impulser2.cpp
++++ b/xmms/impulser2.cpp
+@@ -49,7 +49,6 @@
+ #include <bmp/configdb.h>
+ #else
+ #include <audacious/plugin.h>
+-#include <audacious/util.h>
+ #include <audacious/configdb.h>
+ #endif
+ #endif
+@@ -299,7 +298,11 @@ static void slot_save(SlotConfiguration * slot, int i)
+ bmp_cfg_db_set_string(cfg, configSectionString, key_i("file",i), (gchar*)slot->filename.c_str());
+ bmp_cfg_db_close(cfg);
+ #else
++# if __AUDACIOUS_PLUGIN_API__ < 16
+ ConfigDb * cfg = aud_cfg_db_open();
++# else
++ mcs_handle_t * cfg = _aud_api_table->configdb_api->cfg_db_open();
++#endif
+ aud_cfg_db_set_float (cfg, configSectionString, key_i("wet",i), slot->wet);
+ aud_cfg_db_set_float (cfg, configSectionString, key_i("dry",i), slot->dry);
+ aud_cfg_db_set_float (cfg, configSectionString, key_i("width",i), slot->width);
+@@ -355,7 +358,11 @@ static void slot_load(SlotConfiguration * slot, int i)
+ else slot_init(slot);
+ bmp_cfg_db_close(cfg);
+ #else
++# if __AUDACIOUS_PLUGIN_API__ < 16
+ ConfigDb * cfg = aud_cfg_db_open();
++# else
++ mcs_handle_t * cfg = _aud_api_table->configdb_api->cfg_db_open();
++#endif
+ gchar * filename;
+ aud_cfg_db_get_float (cfg, configSectionString, key_i("wet",i), &slot->wet);
+ aud_cfg_db_get_float (cfg, configSectionString, key_i("dry",i), &slot->dry);
+@@ -493,11 +500,13 @@ static void store_filename(GtkFileSelection *selector, gpointer user_data)
+ selected_filename = (gchar*)gtk_file_selection_get_filename (GTK_FILE_SELECTION(file_selector));
+ if(store_inf(selected_filename) != 0)
+ {
++#if __AUDACIOUS_PLUGIN_API__ < 16
+ if (err_dialog == NULL)
+- {
+- err_dialog = _XMMS_DIALOG((gchar*)"Error", (gchar*)"Could not load IR file.", (gchar*)"Ok",FALSE,NULL,NULL);
+- gtk_signal_connect(GTK_OBJECT(err_dialog), "destroy", GTK_SIGNAL_FUNC(error_d), NULL);
+- }
++ {
++ err_dialog = _XMMS_DIALOG((gchar*)"Error", (gchar*)"Could not load IR file.", (gchar*)"Ok",FALSE,NULL,NULL);
++ gtk_signal_connect(GTK_OBJECT(err_dialog), "destroy", GTK_SIGNAL_FUNC(error_d), NULL);
++ }
++#endif
+ }
+ else
+ {
+@@ -575,7 +584,11 @@ static void write_config(void)
+ bmp_cfg_db_close(cfg);
+ for(int i = 0;i < slotNumber;i ++) slot_save(&(*slotVector)[i], i+1);
+ #else
++# if __AUDACIOUS_PLUGIN_API__ < 16
+ ConfigDb * cfg = aud_cfg_db_open();
++# else
++ mcs_handle_t * cfg = _aud_api_table->configdb_api->cfg_db_open();
++#endif
+ aud_cfg_db_set_int(cfg, configSectionString, "latency_index", conf_latency_index);
+ aud_cfg_db_set_int(cfg, configSectionString, "dithering_mode", conf_dithering);
+ aud_cfg_db_set_int(cfg, configSectionString, "zero_latency", conf_rev_zl);
+@@ -1058,7 +1071,11 @@ static void init(void)
+ bmp_cfg_db_close(cfg);
+ if(ok == FALSE) slotNumber = 1;
+ #else
++# if __AUDACIOUS_PLUGIN_API__ < 16
+ ConfigDb * cfg = aud_cfg_db_open();
++# else
++ mcs_handle_t * cfg = _aud_api_table->configdb_api->cfg_db_open();
++#endif
+ aud_cfg_db_get_int(cfg, configSectionString, "dithering_mode", &conf_dithering);
+ aud_cfg_db_get_int(cfg, configSectionString, "latency_index", &conf_latency_index);
+ aud_cfg_db_get_int(cfg, configSectionString, "zero_latency", &conf_rev_zl);
+@@ -1408,20 +1425,46 @@ static void impulser2_finish(gfloat ** data, gint * samples)
+ #endif
+
+ static EffectPlugin epe = {
+- NULL, NULL, (gchar*)productString,
+- init, cleanup, about, configure,
++ NULL, /* handle */
++ NULL, /* filename */
++ (gchar*)productString, /* description */
++ init,
++ cleanup,
++ about,
++ configure,
++
+ #if __AUDACIOUS_PLUGIN_API__ >= 10
+- NULL,
++ NULL, /* settings */
+ #endif
+- FALSE,
+-#if __AUDACIOUS_PLUGIN_API__ >= 13
+- NULL, NULL,
+-#else
++
++#if __AUDACIOUS_PLUGIN_API__ >= 16
++ NULL, /* sendmsg */
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ < 16
++ FALSE, /* enabled */
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ < 16
++# if __AUDACIOUS_PLUGIN_API__ >= 13
++ NULL, NULL, /* mod_samples, query_format */
++# else
+ mod_samples, query_format,
++# endif
+ #endif
++
+ #if __AUDACIOUS_PLUGIN_API__ >= 13
+- impulser2_start, impulser2_process, impulser2_flush, impulser2_finish,
+- impulser2_decoder_to_output_time, impulser2_output_to_decoder_time,
++ impulser2_start,
++ impulser2_process,
++ impulser2_flush,
++ impulser2_finish,
++ impulser2_decoder_to_output_time,
++ impulser2_output_to_decoder_time,
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ >= 16
++ 0, /* order */
++ TRUE, /* preserves_format */
+ #endif
+ };
+
+diff --git a/xmms/libxmmsplugin.hpp b/xmms/libxmmsplugin.hpp
+index 24cd4d5..8883755 100755
+--- a/xmms/libxmmsplugin.hpp
++++ b/xmms/libxmmsplugin.hpp
+@@ -41,7 +41,6 @@
+ #include <bmp/configdb.h>
+ #else
+ #include <audacious/plugin.h>
+-#include <audacious/util.h>
+ #include <audacious/configdb.h>
+ #endif
+ #endif
+@@ -235,10 +234,12 @@ namespace fv3
+
+ void about(void)
+ {
++#if __AUDACIOUS_PLUGIN_API__ < 16
+ static GtkWidget *about_dialog = NULL;
+ if (about_dialog != NULL) return;
+ about_dialog = _XMMS_DIALOG((gchar*)"About Plugin",(gchar*)aboutString,(gchar*)"Ok",FALSE,NULL,NULL);
+ gtk_signal_connect(GTK_OBJECT(about_dialog), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &about_dialog);
++#endif
+ }
+
+ void configure(void)
+@@ -442,7 +443,11 @@ namespace fv3
+ }
+ bmp_cfg_db_close(cfg);
+ #else
++# if __AUDACIOUS_PLUGIN_API__ < 16
+ ConfigDb * cfg = aud_cfg_db_open();
++# else
++ mcs_handle_t * cfg = _aud_api_table->configdb_api->cfg_db_open();
++# endif
+ switch(pp->typeOfParameter)
+ {
+ case kFloat:
+@@ -531,7 +536,11 @@ namespace fv3
+ }
+ bmp_cfg_db_close(cfg);
+ #else
++# if __AUDACIOUS_PLUGIN_API__ < 16
+ ConfigDb * cfg = aud_cfg_db_open();
++# else
++ mcs_handle_t * cfg = _aud_api_table->configdb_api->cfg_db_open();
++# endif
+ switch(pp->typeOfParameter)
+ {
+ case kFloat:
+diff --git a/xmms/revmodel.cpp b/xmms/revmodel.cpp
+index 77aa46f..baa6136 100755
+--- a/xmms/revmodel.cpp
++++ b/xmms/revmodel.cpp
+@@ -182,22 +182,47 @@ extern "C" EffectPlugin *get_eplugin_info(void)
+
+ #else
+ static EffectPlugin epe = {
+- NULL, NULL, (char*)productString,
+- init, cleanup, about, configure,
++ NULL, /* handle */
++ NULL, /* filename */
++ (gchar*)productString, /* description */
++ init,
++ cleanup,
++ about,
++ configure,
++
+ #if __AUDACIOUS_PLUGIN_API__ >= 10
+- NULL,
++ NULL, /* settings */
+ #endif
+- FALSE,
+-#if __AUDACIOUS_PLUGIN_API__ >= 13
+- NULL, NULL,
+-#else
++
++#if __AUDACIOUS_PLUGIN_API__ >= 16
++ NULL, /* sendmsg */
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ < 16
++ FALSE, /* enabled */
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ < 16
++# if __AUDACIOUS_PLUGIN_API__ >= 13
++ NULL, NULL, /* mod_samples, query_format */
++# else
+ mod_samples, query_format,
++# endif
+ #endif
++
+ #if __AUDACIOUS_PLUGIN_API__ >= 13
+- stenh_start, stenh_process, stenh_flush, stenh_finish,
++ stenh_start,
++ stenh_process,
++ stenh_flush,
++ stenh_finish,
+ decoder_to_output_time,
+ output_to_decoder_time,
+ #endif
++
++#if __AUDACIOUS_PLUGIN_API__ >= 16
++ 0, /* order */
++ TRUE, /* preserves_format */
++#endif
+ };
+
+ static EffectPlugin *eplist[] = {&epe, NULL};
+diff --git a/xmms/stenh.cpp b/xmms/stenh.cpp
+index a36209b..e6c3510 100755
+--- a/xmms/stenh.cpp
++++ b/xmms/stenh.cpp
+@@ -193,22 +193,47 @@ extern "C" EffectPlugin *get_eplugin_info(void)
+
+ #else
+ static EffectPlugin epe = {
+- NULL, NULL, (char*)productString,
+- init, cleanup, about, configure,
++ NULL, /* handle */
++ NULL, /* filename */
++ (gchar*)productString, /* description */
++ init,
++ cleanup,
++ about,
++ configure,
++
+ #if __AUDACIOUS_PLUGIN_API__ >= 10
+- NULL,
++ NULL, /* settings */
+ #endif
+- FALSE,
+-#if __AUDACIOUS_PLUGIN_API__ >= 13
+- NULL, NULL,
+-#else
++
++#if __AUDACIOUS_PLUGIN_API__ >= 16
++ NULL, /* sendmsg */
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ < 16
++ FALSE, /* enabled */
++#endif
++
++#if __AUDACIOUS_PLUGIN_API__ < 16
++# if __AUDACIOUS_PLUGIN_API__ >= 13
++ NULL, NULL, /* mod_samples, query_format */
++# else
+ mod_samples, query_format,
++# endif
+ #endif
++
+ #if __AUDACIOUS_PLUGIN_API__ >= 13
+- stenh_start, stenh_process, stenh_flush, stenh_finish,
++ stenh_start,
++ stenh_process,
++ stenh_flush,
++ stenh_finish,
+ decoder_to_output_time,
+ output_to_decoder_time,
+ #endif
++
++#if __AUDACIOUS_PLUGIN_API__ >= 16
++ 0, /* order */
++ TRUE, /* preserves_format */
++#endif
+ };
+
+ static EffectPlugin *eplist[] = {&epe, NULL};
+--
+1.7.2
+
diff --git a/media-libs/freeverb3/freeverb3-2.5.5-r1.ebuild b/media-libs/freeverb3/freeverb3-2.5.5-r1.ebuild
new file mode 100644
index 000000000000..ed0f87c7d029
--- /dev/null
+++ b/media-libs/freeverb3/freeverb3-2.5.5-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/freeverb3/freeverb3-2.5.5-r1.ebuild,v 1.1 2010/07/26 00:14:24 sping Exp $
+
+EAPI=2
+inherit base versionator
+
+MY_PV=$(replace_version_separator 3 '')
+
+DESCRIPTION="High Quality Reverb and Impulse Response Convolution library including XMMS/Audacious Effect plugins"
+HOMEPAGE="http://freeverb3.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}-${MY_PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="audacious jack plugdouble sse sse2 sse3 3dnow forcefpu"
+
+RDEPEND=">=sci-libs/fftw-3.0.1
+ audacious? ( >=media-sound/audacious-2.4_beta1
+ media-libs/libsndfile )
+ jack? ( media-sound/jack-audio-connection-kit
+ media-libs/libsndfile )"
+DEPEND=${RDEPEND}
+
+S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
+
+PATCHES=( "${FILESDIR}"/${P}-audacious-2.4_beta1.patch )
+
+src_configure() {
+ use sse3 && elog 'SSE3 support is broken in 2.5.5, auto-disabling for now'
+
+ # NOTE: sse4 support not implemented, yet
+ econf \
+ --enable-release \
+ --disable-bmp \
+ --disable-pluginit \
+ $(use_enable audacious) \
+ $(use_enable jack) \
+ $(use_enable plugdouble) \
+ $(use_enable 3dnow) \
+ $(use_enable sse) \
+ $(use_enable sse2) \
+ --disable-sse3 \
+ $(use_enable forcefpu) \
+ || die "econf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc ChangeLog README || die 'dodoc failed'
+}