summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Januszewski <spock@gentoo.org>2007-03-16 20:03:01 +0000
committerMichael Januszewski <spock@gentoo.org>2007-03-16 20:03:01 +0000
commit98499d5b101ec466ac241b30e36aaf2f1bb35a71 (patch)
tree91f8e62976b6abedb24c13ed0c450d2304d0a659 /app-emulation/uade
parentStable on ppc wrt bug 165460 (diff)
downloadgentoo-2-98499d5b101ec466ac241b30e36aaf2f1bb35a71.tar.gz
gentoo-2-98499d5b101ec466ac241b30e36aaf2f1bb35a71.tar.bz2
gentoo-2-98499d5b101ec466ac241b30e36aaf2f1bb35a71.zip
Add a patch to make UADE work with audacious-1.3.x.
(Portage version: 2.1.2.2)
Diffstat (limited to 'app-emulation/uade')
-rw-r--r--app-emulation/uade/ChangeLog6
-rw-r--r--app-emulation/uade/files/uade-2.05-audacious-1.3api.patch165
-rw-r--r--app-emulation/uade/uade-2.05.ebuild10
3 files changed, 179 insertions, 2 deletions
diff --git a/app-emulation/uade/ChangeLog b/app-emulation/uade/ChangeLog
index 1b1353c48759..576a24b87475 100644
--- a/app-emulation/uade/ChangeLog
+++ b/app-emulation/uade/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for app-emulation/uade
# Copyright 2000-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/uade/ChangeLog,v 1.42 2007/01/27 11:49:46 spock Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/uade/ChangeLog,v 1.43 2007/03/16 20:03:01 spock Exp $
+
+ 16 Mar 2007; Michał Januszewski <spock@gentoo.org>
+ +files/uade-2.05-audacious-1.3api.patch, uade-2.05.ebuild:
+ Add a patch to make UADE work with audacious-1.3.x.
*uade-2.05 (27 Jan 2007)
diff --git a/app-emulation/uade/files/uade-2.05-audacious-1.3api.patch b/app-emulation/uade/files/uade-2.05-audacious-1.3api.patch
new file mode 100644
index 000000000000..e93c92c9e2ea
--- /dev/null
+++ b/app-emulation/uade/files/uade-2.05-audacious-1.3api.patch
@@ -0,0 +1,165 @@
+diff -ruN uade.orig/src/frontends/audacious/plugin.c uade/src/frontends/audacious/plugin.c
+--- uade.orig/src/frontends/audacious/plugin.c 2006-07-02 13:51:17.000000000 +0200
++++ uade/src/frontends/audacious/plugin.c 2007-02-02 21:57:26.000000000 +0100
+@@ -45,13 +45,13 @@
+ static void uade_cleanup(void);
+ static void uade_file_info(char *filename);
+ static void uade_get_song_info(char *filename, char **title, int *length);
+-static int uade_get_time(void);
++static int uade_get_time(InputPlayback *playback);
+ static void uade_init(void);
+ static int uade_is_our_file(char *filename);
+-static void uade_pause(short paused);
+-static void uade_play_file(char *filename);
+-static void uade_seek(int time);
+-static void uade_stop(void);
++static void uade_pause(InputPlayback *playback, short paused);
++static void uade_play_file(InputPlayback *playback);
++static void uade_seek(InputPlayback *playback, int time);
++static void uade_stop(InputPlayback *playback);
+ static void uade_info_string(void);
+
+
+@@ -371,6 +371,8 @@
+
+ static void *play_loop(void *arg)
+ {
++ InputPlayback *playback = arg;
++
+ enum uade_control_state state = UADE_S_STATE;
+ int ret;
+ int left = 0;
+@@ -402,13 +404,13 @@
+ uade_lock();
+ if (uade_seek_forward) {
+ skip_bytes += uade_seek_forward * (UADE_BYTES_PER_FRAME * config.frequency);
+- uade_ip.output->flush(uade_ip.output->written_time() + uade_seek_forward * 1000);
++ playback->output->flush(playback->output->written_time() + uade_seek_forward * 1000);
+ uade_seek_forward = 0;
+ }
+ if (uade_select_sub != -1) {
+ uadesong->cur_subsong = uade_select_sub;
+ uade_change_subsong(uadesong->cur_subsong, &uadeipc);
+- uade_ip.output->flush(0);
++ playback->output->flush(0);
+ uade_select_sub = -1;
+ subsong_end = 0;
+ subsong_bytes = 0;
+@@ -425,9 +427,9 @@
+ song_end_trigger = 1;
+ } else {
+ uade_change_subsong(uadesong->cur_subsong, &uadeipc);
+- while (uade_ip.output->buffer_playing())
++ while (playback->output->buffer_playing())
+ xmms_usleep(10000);
+- uade_ip.output->flush(0);
++ playback->output->flush(0);
+ subsong_end = 0;
+ subsong_bytes = 0;
+
+@@ -444,7 +446,7 @@
+ if (song_end_trigger) {
+ /* We must drain the audio fast if abort_playing happens (e.g.
+ the user changes song when we are here waiting the sound device) */
+- while (uade_ip.output->buffer_playing() && abort_playing == 0)
++ while (playback->output->buffer_playing() && abort_playing == 0)
+
+ xmms_usleep(10000);
+ break;
+@@ -501,7 +503,7 @@
+ }
+
+ uade_effect_run(&effects, (int16_t *) um->data, play_bytes / framesize);
+- produce_audio(uade_ip.output->written_time(), sample_format, UADE_CHANNELS, play_bytes, um->data, &uade_thread_running);
++ produce_audio(playback->output->written_time(), sample_format, UADE_CHANNELS, play_bytes, um->data, &uade_thread_running);
+
+ if (config.timeout != -1 && config.use_timeouts) {
+ if (song_end_trigger == 0) {
+@@ -675,8 +677,9 @@
+ }
+
+
+-static void uade_play_file(char *filename)
++static void uade_play_file(InputPlayback *playback)
+ {
++ char *filename = playback->filename;
+ char tempname[PATH_MAX];
+ char *t;
+
+@@ -716,7 +719,7 @@
+ uade_spawn(&uadeipc, &uadepid, UADE_CONFIG_UADE_CORE, configname);
+ }
+
+- if (!uade_ip.output->open_audio(sample_format, config_backup.frequency, UADE_CHANNELS)) {
++ if (!playback->output->open_audio(sample_format, config_backup.frequency, UADE_CHANNELS)) {
+ abort_playing = 1;
+ return;
+ }
+@@ -748,7 +751,7 @@
+ if (initialize_song(filename) == FALSE)
+ goto err;
+
+- if (pthread_create(&decode_thread, NULL, play_loop, NULL)) {
++ if (pthread_create(&decode_thread, NULL, play_loop, playback)) {
+ fprintf(stderr, "uade: can't create play_loop() thread\n");
+ uade_unalloc_song(uadesong);
+ uade_lock();
+@@ -762,11 +765,11 @@
+
+ err:
+ /* close audio that was opened */
+- uade_ip.output->close_audio();
++ playback->output->close_audio();
+ abort_playing = 1;
+ }
+
+-static void uade_stop(void)
++static void uade_stop(InputPlayback *playback)
+ {
+ /* Signal other subsystems to proceed to finished state as soon as possible
+ */
+@@ -803,22 +806,22 @@
+ uade_unlock();
+ }
+
+- uade_ip.output->close_audio();
++ playback->output->close_audio();
+ }
+
+
+ /* XMMS calls this function when pausing or unpausing */
+-static void uade_pause(short paused)
++static void uade_pause(InputPlayback *playback, short paused)
+ {
+ uade_lock();
+ uade_is_paused = paused;
+ uade_unlock();
+- uade_ip.output->pause(paused);
++ playback->output->pause(paused);
+ }
+
+
+ /* XMMS calls this function when song is seeked */
+-static void uade_seek(int time)
++static void uade_seek(InputPlayback *playback, int time)
+ {
+ uade_gui_seek_subsong(time);
+ }
+@@ -827,7 +830,7 @@
+ /* XMMS calls this function periodically to determine current playing time.
+ We use this function to report song name and title after play_file(),
+ and to tell XMMS to end playing if song ends for any reason. */
+-static int uade_get_time(void)
++static int uade_get_time(InputPlayback *playback)
+ {
+ if (abort_playing || last_beat_played)
+ return -1;
+@@ -842,7 +845,7 @@
+ file_info_update(gui_module_filename, gui_player_filename, gui_modulename, gui_playername, gui_formatname);
+ }
+
+- return uade_ip.output->output_time();
++ return playback->output->output_time();
+ }
+
+
diff --git a/app-emulation/uade/uade-2.05.ebuild b/app-emulation/uade/uade-2.05.ebuild
index 756762f0c0e3..2379f58badd2 100644
--- a/app-emulation/uade/uade-2.05.ebuild
+++ b/app-emulation/uade/uade-2.05.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/uade/uade-2.05.ebuild,v 1.1 2007/01/27 11:49:46 spock Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/uade/uade-2.05.ebuild,v 1.2 2007/03/16 20:03:01 spock Exp $
inherit eutils
@@ -19,6 +19,14 @@ RDEPEND="media-libs/libao
DEPEND="${RDEPEND}
dev-util/pkgconfig"
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ if has_version ">=media-sound/audacious-1.3.0"; then
+ epatch ${FILESDIR}/uade-2.05-audacious-1.3api.patch
+ fi
+}
+
src_compile() {
./configure \
--prefix=/usr \