diff options
author | Sebastian Pipping <sping@gentoo.org> | 2010-07-26 00:14:24 +0000 |
---|---|---|
committer | Sebastian Pipping <sping@gentoo.org> | 2010-07-26 00:14:24 +0000 |
commit | 0fa90367536a82b544907b17f50a51a7875e2181 (patch) | |
tree | 3d224f763f7f33b10393eeaecfa6b93ed90b29d1 /media-libs/freeverb3 | |
parent | Mask upcoming =media-libs/freeverb3-2.5.5-r1 (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | media-libs/freeverb3/files/freeverb3-2.5.5-audacious-2.4_beta1.patch | 486 | ||||
-rw-r--r-- | media-libs/freeverb3/freeverb3-2.5.5-r1.ebuild | 52 |
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' +} |