xmms: openEuler init
This commit is contained in:
commit
598c462af0
72
xmms-1.2.10-configfile-safe-write.patch
Normal file
72
xmms-1.2.10-configfile-safe-write.patch
Normal file
@ -0,0 +1,72 @@
|
||||
--- xmms-1.2.10/libxmms/configfile.c.bak 2003-05-20 00:22:07.000000000 +0300
|
||||
+++ xmms-1.2.10/libxmms/configfile.c 2006-12-30 15:08:31.045540619 +0200
|
||||
@@ -123,12 +123,27 @@ gboolean xmms_cfg_write_file(ConfigFile
|
||||
GList *section_list, *line_list;
|
||||
ConfigSection *section;
|
||||
ConfigLine *line;
|
||||
+ gchar *tmpfn;
|
||||
+ int tmpfnfd;
|
||||
|
||||
g_return_val_if_fail(cfg != NULL, FALSE);
|
||||
g_return_val_if_fail(filename != NULL, FALSE);
|
||||
|
||||
- if (!(file = fopen(filename, "w")))
|
||||
+ tmpfn = g_strconcat(filename, ".XXXXXX", NULL);
|
||||
+ if (!tmpfn)
|
||||
return FALSE;
|
||||
+ tmpfnfd = mkstemp(tmpfn);
|
||||
+ if (tmpfnfd == -1) {
|
||||
+ free (tmpfn);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ file = fdopen(tmpfnfd, "w");
|
||||
+ if (!file) {
|
||||
+ unlink (tmpfn);
|
||||
+ g_free (tmpfn);
|
||||
+ close (tmpfnfd);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
|
||||
section_list = cfg->sections;
|
||||
while (section_list)
|
||||
@@ -136,20 +151,36 @@ gboolean xmms_cfg_write_file(ConfigFile
|
||||
section = (ConfigSection *) section_list->data;
|
||||
if (section->lines)
|
||||
{
|
||||
- fprintf(file, "[%s]\n", section->name);
|
||||
+ if (fprintf(file, "[%s]\n", section->name) < 0)
|
||||
+ goto err;
|
||||
line_list = section->lines;
|
||||
while (line_list)
|
||||
{
|
||||
line = (ConfigLine *) line_list->data;
|
||||
- fprintf(file, "%s=%s\n", line->key, line->value);
|
||||
+ if (fprintf(file, "%s=%s\n", line->key, line->value) < 0)
|
||||
+ goto err;
|
||||
line_list = g_list_next(line_list);
|
||||
}
|
||||
- fprintf(file, "\n");
|
||||
+ if (fprintf(file, "\n") < 0)
|
||||
+ goto err;
|
||||
}
|
||||
section_list = g_list_next(section_list);
|
||||
}
|
||||
- fclose(file);
|
||||
+ if (fflush (file) == EOF)
|
||||
+ goto err;
|
||||
+ if (fsync (tmpfnfd) == -1) /* dir not synced */
|
||||
+ goto err;
|
||||
+ if (fclose(file) == EOF)
|
||||
+ goto err;
|
||||
+ if (rename (tmpfn, filename) == -1)
|
||||
+ goto err;
|
||||
return TRUE;
|
||||
+
|
||||
+err:
|
||||
+ fclose(file);
|
||||
+ unlink(tmpfn);
|
||||
+ g_free (tmpfn);
|
||||
+ return FALSE;
|
||||
}
|
||||
|
||||
gboolean xmms_cfg_write_default_file(ConfigFile * cfg)
|
||||
24
xmms-1.2.10-gcc4.patch
Normal file
24
xmms-1.2.10-gcc4.patch
Normal file
@ -0,0 +1,24 @@
|
||||
--- xmms-1.2.10/General/ir/ir.h.orig 2001-03-05 23:17:44.000000000 +1000
|
||||
+++ xmms-1.2.10/General/ir/ir.h 2005-03-24 20:48:31.000000000 +1000
|
||||
@@ -49,8 +49,6 @@
|
||||
}
|
||||
irConfig;
|
||||
|
||||
-extern pthread_t irapp_thread;
|
||||
-extern gboolean keepGoing;
|
||||
extern irConfig ircfg;
|
||||
extern gboolean irconf_is_going;
|
||||
|
||||
--- xmms-1.2.10/xmms/sm.c.orig 2004-01-11 18:33:00.000000000 +0100
|
||||
+++ xmms-1.2.10/xmms/sm.c 2004-04-12 22:44:28.000000000 +0200
|
||||
@@ -147,8 +147,9 @@
|
||||
|
||||
#else
|
||||
|
||||
-void sm_init(int argc, char **argv, const char *previous_session_id)
|
||||
+const char * sm_init(int argc, char **argv, const char *previous_session_id)
|
||||
{
|
||||
+ return NULL;
|
||||
}
|
||||
|
||||
void sm_cleanup(void)
|
||||
20
xmms-1.2.10-reposition.patch
Normal file
20
xmms-1.2.10-reposition.patch
Normal file
@ -0,0 +1,20 @@
|
||||
--- xmms-1.2.10/xmms/dock.c.bak 2001-03-08 07:48:38.000000000 +0200
|
||||
+++ xmms-1.2.10/xmms/dock.c 2007-01-12 22:32:36.156705327 +0200
|
||||
@@ -625,6 +625,17 @@
|
||||
|
||||
void dock_set_uposition(GtkWidget *w, gint x, gint y)
|
||||
{
|
||||
+ gint maxx, maxy;
|
||||
+
|
||||
+ maxx = gdk_screen_width();
|
||||
+ maxy = gdk_screen_height();
|
||||
+ if ((maxx < (x + 15)) || (maxy < (y + 15))) {
|
||||
+ x = maxx / 2;
|
||||
+ y = maxy / 2;
|
||||
+ g_warning("%s: current screen size %dx%d smaller than "
|
||||
+ "window position specified in config file, resetting to "
|
||||
+ "x=%d y=%d\n", __FUNCTION__, maxx, maxy, x, y);
|
||||
+ }
|
||||
gtk_widget_set_uposition(w, x, y);
|
||||
gtk_object_set_data(GTK_OBJECT(w), "window_x", GINT_TO_POINTER(x));
|
||||
gtk_object_set_data(GTK_OBJECT(w), "window_y", GINT_TO_POINTER(y));
|
||||
44
xmms-1.2.10-ubuntu-CVE-2007-0653.patch
Normal file
44
xmms-1.2.10-ubuntu-CVE-2007-0653.patch
Normal file
@ -0,0 +1,44 @@
|
||||
diff -up xmms-1.2.11-20071117cvs/xmms/bmp.c.CVE-2007-0653 xmms-1.2.11-20071117cvs/xmms/bmp.c
|
||||
--- xmms-1.2.11-20071117cvs/xmms/bmp.c.CVE-2007-0653 2006-07-10 17:45:11.000000000 -0400
|
||||
+++ xmms-1.2.11-20071117cvs/xmms/bmp.c 2011-07-14 15:54:02.497834489 -0400
|
||||
@@ -19,6 +19,12 @@
|
||||
*/
|
||||
#include "xmms.h"
|
||||
|
||||
+#if HAVE_STDINT_H
|
||||
+#include <stdint.h>
|
||||
+#elif !defined(UINT32_MAX)
|
||||
+#define UINT32_MAX 0xffffffffU
|
||||
+#endif
|
||||
+
|
||||
struct rgb_quad
|
||||
{
|
||||
guchar rgbBlue;
|
||||
@@ -183,7 +189,7 @@ GdkPixmap *read_bmp(gchar * filename)
|
||||
}
|
||||
else if (bitcount != 24 && bitcount != 16 && bitcount != 32)
|
||||
{
|
||||
- gint ncols, i;
|
||||
+ guint32 ncols, i;
|
||||
|
||||
ncols = offset - headSize - 14;
|
||||
if (headSize == 12)
|
||||
@@ -201,9 +207,17 @@ GdkPixmap *read_bmp(gchar * filename)
|
||||
}
|
||||
}
|
||||
fseek(file, offset, SEEK_SET);
|
||||
+ /* verify buffer size */
|
||||
+ if (!h || !w ||
|
||||
+ w > (((UINT32_MAX - 3) / 3) / h) ||
|
||||
+ h > (((UINT32_MAX - 3) / 3) / w)) {
|
||||
+ g_warning("read_bmp(): width(%u)*height(%u) too large", w, h);
|
||||
+ fclose(file);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ data = g_malloc0((w * 3 * h) + 3); /* +3 is just for safety */
|
||||
buffer = g_malloc(imgsize);
|
||||
fread(buffer, imgsize, 1, file);
|
||||
- data = g_malloc0((w * 3 * h) + 3); /* +3 is just for safety */
|
||||
|
||||
if (bitcount == 1)
|
||||
read_1b_rgb(buffer, imgsize, data, w, h, rgb_quads);
|
||||
BIN
xmms-1.2.11-20071117cvs.patched.tar.bz2
Normal file
BIN
xmms-1.2.11-20071117cvs.patched.tar.bz2
Normal file
Binary file not shown.
147
xmms-1.2.11-a-b.patch
Normal file
147
xmms-1.2.11-a-b.patch
Normal file
@ -0,0 +1,147 @@
|
||||
--- xmms-1.2.11/xmms/about.c.ab 2007-11-16 23:53:41.000000000 +0100
|
||||
+++ xmms-1.2.11/xmms/about.c 2007-11-18 20:57:04.000000000 +0100
|
||||
@@ -79,6 +79,7 @@ static const char *credit_text[] =
|
||||
N_("Chris Wilson"),
|
||||
N_("Dave Yearke"),
|
||||
N_("Stephan K. Zitz"),
|
||||
+ N_("Rodrigo Martins de Matos Ventura (the A-B patch)"),
|
||||
NULL,
|
||||
N_("Default skin:"),
|
||||
N_("Leonard \"Blayde\" Tan"),
|
||||
--- xmms-1.2.11/xmms/main.c.ab 2006-07-16 15:40:04.000000000 +0200
|
||||
+++ xmms-1.2.11/xmms/main.c 2007-11-18 21:00:06.000000000 +0100
|
||||
@@ -59,7 +59,7 @@ PButton *mainwin_rew, *mainwin_play, *ma
|
||||
SButton *mainwin_srew, *mainwin_splay, *mainwin_spause, *mainwin_sstop,
|
||||
*mainwin_sfwd, *mainwin_seject, *mainwin_about;
|
||||
TButton *mainwin_shuffle, *mainwin_repeat, *mainwin_eq, *mainwin_pl;
|
||||
-TextBox *mainwin_info, *mainwin_rate_text, *mainwin_freq_text, *mainwin_stime_min,
|
||||
+TextBox *mainwin_info, *mainwin_rate_text, *mainwin_freq_text, *mainwin_stime_min, *mainwin_ab_text,
|
||||
*mainwin_stime_sec;
|
||||
MenuRow *mainwin_menurow;
|
||||
HSlider *mainwin_volume, *mainwin_balance, *mainwin_position, *mainwin_sposition = NULL;
|
||||
@@ -83,6 +83,9 @@ static gboolean mainwin_force_redraw = F
|
||||
static gchar *mainwin_title_text = NULL;
|
||||
static gboolean mainwin_info_text_locked = FALSE;
|
||||
|
||||
+static int ab_position_a = -1;
|
||||
+static int ab_position_b = -1;
|
||||
+
|
||||
/* For x11r5 session management */
|
||||
static char **restart_argv;
|
||||
static int restart_argc;
|
||||
@@ -262,7 +265,8 @@ enum
|
||||
MAINWIN_GENERAL_STOPFADE, MAINWIN_GENERAL_BACK5SEC,
|
||||
MAINWIN_GENERAL_FWD5SEC, MAINWIN_GENERAL_START, MAINWIN_GENERAL_BACK10,
|
||||
MAINWIN_GENERAL_FWD10, MAINWIN_GENERAL_JTT, MAINWIN_GENERAL_JTF,
|
||||
- MAINWIN_GENERAL_CQUEUE, MAINWIN_GENERAL_EXIT
|
||||
+ MAINWIN_GENERAL_CQUEUE, MAINWIN_GENERAL_EXIT,
|
||||
+ MAINWIN_GENERAL_SETAB, MAINWIN_GENERAL_CLEARAB
|
||||
};
|
||||
|
||||
void mainwin_general_menu_callback(gpointer cb_data, guint action, GtkWidget * w);
|
||||
@@ -297,6 +301,9 @@ GtkItemFactoryEntry mainwin_general_menu
|
||||
{N_("/Playback/-"), NULL, NULL, 0, "<Separator>"},
|
||||
{N_("/Playback/Jump to Time"), "<control>J", mainwin_general_menu_callback, MAINWIN_GENERAL_JTT, "<Item>"},
|
||||
{N_("/Playback/Jump to File"), "J", mainwin_general_menu_callback, MAINWIN_GENERAL_JTF, "<Item>"},
|
||||
+ {N_("/Playback/-"), NULL, NULL, 0, "<Separator>"},
|
||||
+ {N_("/Playback/Set A-B"), "A", mainwin_general_menu_callback, MAINWIN_GENERAL_SETAB, "<Item>"},
|
||||
+ {N_("/Playback/Clear A-B"), "S", mainwin_general_menu_callback, MAINWIN_GENERAL_CLEARAB, "<Item>"},
|
||||
{N_("/Playback/Clear Queue"), "<shift>Q", mainwin_general_menu_callback, MAINWIN_GENERAL_CQUEUE, "<Item>"},
|
||||
{N_("/Visualization"), NULL, NULL, 0, "<Item>"},
|
||||
{N_("/-"), NULL, NULL, 0, "<Separator>"},
|
||||
@@ -2521,6 +2528,8 @@ void mainwin_eject_pushed(void)
|
||||
|
||||
void mainwin_play_pushed(void)
|
||||
{
|
||||
+ if (-1!=ab_position_a)
|
||||
+ input_seek(ab_position_a/1000);
|
||||
if (get_input_paused())
|
||||
{
|
||||
input_pause();
|
||||
@@ -3065,6 +3074,25 @@ void mainwin_general_menu_callback(gpoin
|
||||
case MAINWIN_GENERAL_EXIT:
|
||||
mainwin_quit_cb();
|
||||
break;
|
||||
+ case MAINWIN_GENERAL_SETAB:
|
||||
+ if (playlist_get_current_length() != -1)
|
||||
+ if (-1==ab_position_a) {
|
||||
+ ab_position_a = input_get_time();
|
||||
+ ab_position_b = -1;
|
||||
+ } else if (-1==ab_position_b) {
|
||||
+ int time=input_get_time();
|
||||
+ if (time>ab_position_a) ab_position_b=time;
|
||||
+ } else {
|
||||
+ ab_position_a = input_get_time();
|
||||
+ ab_position_b = -1;
|
||||
+ }
|
||||
+ break;
|
||||
+ case MAINWIN_GENERAL_CLEARAB:
|
||||
+ if (playlist_get_current_length() != -1) {
|
||||
+ ab_position_a = -1;
|
||||
+ ab_position_b = -1;
|
||||
+ }
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3374,6 +3402,7 @@ static void mainwin_create_widgets(void)
|
||||
textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font);
|
||||
mainwin_rate_text = create_textbox(&mainwin_wlist, mainwin_bg, mainwin_gc, 111, 43, 15, 0, SKIN_TEXT);
|
||||
mainwin_freq_text = create_textbox(&mainwin_wlist, mainwin_bg, mainwin_gc, 156, 43, 10, 0, SKIN_TEXT);
|
||||
+ mainwin_ab_text = create_textbox(&mainwin_wlist, mainwin_bg, mainwin_gc, 195, 43, 15, 0, SKIN_TEXT);
|
||||
|
||||
mainwin_menurow = create_menurow(&mainwin_wlist, mainwin_bg, mainwin_gc, 10, 22, 304, 0, 304, 44, mainwin_mr_change, mainwin_mr_release, SKIN_TITLEBAR);
|
||||
mainwin_menurow->mr_doublesize_selected = cfg.doublesize;
|
||||
@@ -3601,6 +3630,19 @@ gint idle_func(gpointer data)
|
||||
}
|
||||
else
|
||||
{
|
||||
+ if ( -1!=ab_position_a ) {
|
||||
+ if ( -1!=ab_position_b ) {
|
||||
+ textbox_set_text(mainwin_ab_text, "A-B");
|
||||
+ if ( time>ab_position_b ) {
|
||||
+ input_seek(ab_position_a/1000);
|
||||
+ }
|
||||
+ } else {
|
||||
+ textbox_set_text(mainwin_ab_text, "A- ");
|
||||
+ }
|
||||
+ } else {
|
||||
+ textbox_set_text(mainwin_ab_text, " ");
|
||||
+ }
|
||||
+
|
||||
length = playlist_get_current_length();
|
||||
playlistwin_set_time(time, length, cfg.timer_mode);
|
||||
input_update_vis(time);
|
||||
@@ -3697,6 +3739,8 @@ gint idle_func(gpointer data)
|
||||
{
|
||||
GDK_THREADS_ENTER();
|
||||
vis_playback_stop();
|
||||
+ if (-1!=ab_position_a) ab_position_a=-1;
|
||||
+ if (-1!=ab_position_b) ab_position_b=-1;
|
||||
GDK_THREADS_LEAVE();
|
||||
}
|
||||
|
||||
--- xmms-1.2.11/README.ab.ab 2007-11-18 20:57:04.000000000 +0100
|
||||
+++ xmms-1.2.11/README.ab 2007-11-18 20:57:04.000000000 +0100
|
||||
@@ -0,0 +1,21 @@
|
||||
+The A-B feature
|
||||
+---------------
|
||||
+
|
||||
+The A-B feature by Rodrigo Martins de Matos Ventura was found here:
|
||||
+http://lists.xmms.org/pipermail/xmms-devel/2002-January/002282.html
|
||||
+And was rediffed by Oden Eriksson Tue 18 Nov 2003.
|
||||
+
|
||||
+Here's Rodrigos explaination what it is about:
|
||||
+
|
||||
+"I just did a minor patch to CVS version of xmms, in order to
|
||||
+add a small but very useful (at least to me) feature: A-B
|
||||
+repetition. My old CD player has it, and it is extremely useful,
|
||||
+namely for transcribing music.
|
||||
+
|
||||
+The idea is simple: anytime during play, you press the "A" key
|
||||
+(marks A point), the music keeps playing, when you press the "A" key
|
||||
+again (marks B point), it loops endlessly between the two marked
|
||||
+points, until the "S" key is pressed (clear), or a new A point is
|
||||
+marked. Morover, whenever a A-B range is defined, the "play"
|
||||
+button/menu jumps straight to the A position."
|
||||
+
|
||||
19
xmms-1.2.11-alsalib.patch
Normal file
19
xmms-1.2.11-alsalib.patch
Normal file
@ -0,0 +1,19 @@
|
||||
--- xmms-1.2.11-20071117cvs/configure 2008-09-02 19:22:09.000000000 +0100
|
||||
+++ xmms-1.2.11-20071117cvs/configure-new 2008-09-02 21:02:33.000000000 +0100
|
||||
@@ -30090,8 +30090,6 @@
|
||||
#define HAVE_LIBASOUND 1
|
||||
_ACEOF
|
||||
|
||||
- LIBS="-lasound $LIBS"
|
||||
-
|
||||
else
|
||||
|
||||
alsa_found=no
|
||||
@@ -30104,7 +30102,6 @@
|
||||
have_alsa=yes
|
||||
LIBS=`echo $LIBS | sed 's/-lasound//g'`
|
||||
LIBS=`echo $LIBS | sed 's/ //'`
|
||||
- LIBS="-lasound $LIBS"
|
||||
fi
|
||||
if test "x$alsa_found" = "xno" ; then
|
||||
have_alsa=no
|
||||
77
xmms-1.2.11-arts.patch
Normal file
77
xmms-1.2.11-arts.patch
Normal file
@ -0,0 +1,77 @@
|
||||
--- xmms-1.2.11-20071117cvs/xmms/main.c 2008-09-02 19:08:34.000000000 +0100
|
||||
+++ xmms-1.2.11-20071117cvs/xmms/main-new.c 2008-09-02 19:16:29.000000000 +0100
|
||||
@@ -307,6 +307,40 @@
|
||||
sizeof(mainwin_general_menu_entries) /
|
||||
sizeof(mainwin_general_menu_entries[0]);
|
||||
|
||||
+#include <kde/artsc/artsc.h>
|
||||
+#include <dlfcn.h>
|
||||
+
|
||||
+/* dlopen libarts, for seeing if we should use this as the default plugin. */
|
||||
+static int arts_running(void) {
|
||||
+ void *arts_handle;
|
||||
+ int (*a_init)(void);
|
||||
+ void (*a_close)(void);
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ arts_handle = dlopen("libartsc.so.0", RTLD_NOW);
|
||||
+ if (!arts_handle)
|
||||
+ return 0;
|
||||
+
|
||||
+ a_init = dlsym(arts_handle, "arts_init");
|
||||
+ a_close = dlsym(arts_handle, "arts_free");
|
||||
+ if (!a_init || !a_close) {
|
||||
+ dlclose(arts_handle);
|
||||
+ return 0;
|
||||
+ }
|
||||
+ signal(SIGPIPE, SIG_DFL);
|
||||
+ if ((*a_init)() == 0) {
|
||||
+ ret = 1;
|
||||
+ /* there are problems with library unloading in conjunction with X11, */
|
||||
+ /* (Arts::X11GlobalComm), so we don't unload stuff here */
|
||||
+ /* (*a_close)(); */
|
||||
+ }
|
||||
+ signal(SIGPIPE, SIG_IGN);
|
||||
+ dlclose(arts_handle);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
static void make_xmms_dir(void)
|
||||
{
|
||||
gchar *filename;
|
||||
@@ -503,6 +537,19 @@
|
||||
cfg.skin = g_strdup("/usr/share/xmms/Skins/Bluecurve-xmms.zip");
|
||||
if (cfg.outputplugin == NULL)
|
||||
{
|
||||
+ /* If aRts is running and the plugin is there, use that... */
|
||||
+ if (arts_running())
|
||||
+ {
|
||||
+ cfg.outputplugin = g_strdup_printf("%s/%s/libarts.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||
+ if (access(cfg.outputplugin, X_OK))
|
||||
+ {
|
||||
+ g_free(cfg.outputplugin);
|
||||
+ cfg.outputplugin = NULL;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ if (cfg.outputplugin == NULL)
|
||||
+ {
|
||||
#ifdef HAVE_OSS
|
||||
cfg.outputplugin = g_strdup_printf("%s/%s/libALSA.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||
#elif defined(sun)
|
||||
@@ -515,6 +562,13 @@
|
||||
cfg.outputplugin = g_strdup("");
|
||||
#endif
|
||||
}
|
||||
+ /* Migrate users of the previous arts plugin */
|
||||
+ if (!strcmp(g_basename(cfg.outputplugin),"libartsout.so")) {
|
||||
+ if (access(cfg.outputplugin,X_OK)) {
|
||||
+ g_free(cfg.outputplugin);
|
||||
+ cfg.outputplugin = g_strdup_printf("%s/%s/libarts.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||
+ }
|
||||
+ }
|
||||
if (cfg.eqpreset_default_file == NULL)
|
||||
cfg.eqpreset_default_file = g_strdup("dir_default.preset");
|
||||
if (cfg.eqpreset_extension == NULL)
|
||||
24
xmms-1.2.11-dso.patch
Normal file
24
xmms-1.2.11-dso.patch
Normal file
@ -0,0 +1,24 @@
|
||||
--- xmms-1.2.11-20071117cvs/xmms/Makefile.am 2003-12-01 22:45:23.000000000 +0000
|
||||
+++ xmms-1.2.11-20071117cvs/xmms/Makefile-new.am 2010-02-20 23:23:26.000000000 +0000
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
xmms_LDFLAGS = -export-dynamic
|
||||
xmms_LDADD = @GTK_LIBS@ @PTHREAD_LIBS@ @SM_LIBS@ @VM_LIBS@ \
|
||||
-@POSIX_LIBS@ $(top_builddir)/libxmms/libxmms.la @LTLIBINTL@
|
||||
+@POSIX_LIBS@ $(top_builddir)/libxmms/libxmms.la @LTLIBINTL@ \
|
||||
+-ldl
|
||||
|
||||
INCLUDES = @GTK_CFLAGS@ @XMMS_DEFINES@ @ARCH_DEFINES@ \
|
||||
-I$(top_builddir)/intl -I$(top_srcdir)
|
||||
--- xmms-1.2.11-20071117cvs/xmms/Makefile.in 2007-11-17 22:45:34.000000000 +0000
|
||||
+++ xmms-1.2.11-20071117cvs/xmms/Makefile-new.in 2010-02-20 23:24:28.000000000 +0000
|
||||
@@ -307,7 +307,8 @@
|
||||
xmmsincludedir = $(includedir)/xmms
|
||||
xmms_LDFLAGS = -export-dynamic
|
||||
xmms_LDADD = @GTK_LIBS@ @PTHREAD_LIBS@ @SM_LIBS@ @VM_LIBS@ \
|
||||
-@POSIX_LIBS@ $(top_builddir)/libxmms/libxmms.la @LTLIBINTL@
|
||||
+@POSIX_LIBS@ $(top_builddir)/libxmms/libxmms.la @LTLIBINTL@ \
|
||||
+-ldl
|
||||
|
||||
INCLUDES = @GTK_CFLAGS@ @XMMS_DEFINES@ @ARCH_DEFINES@ \
|
||||
-I$(top_builddir)/intl -I$(top_srcdir)
|
||||
142
xmms-1.2.11-is_quitting.patch
Normal file
142
xmms-1.2.11-is_quitting.patch
Normal file
@ -0,0 +1,142 @@
|
||||
diff -Naupr xmms-1.2.11.orig/xmms/input.c xmms-1.2.11/xmms/input.c
|
||||
--- xmms-1.2.11.orig/xmms/input.c 2005-05-15 02:01:21.000000000 +0200
|
||||
+++ xmms-1.2.11/xmms/input.c 2009-09-14 22:17:57.756115021 +0200
|
||||
@@ -286,6 +286,14 @@ void input_seek(int time)
|
||||
}
|
||||
}
|
||||
|
||||
+gboolean input_stopped_for_restart = FALSE; /* crossfade */
|
||||
+void input_stop_for_restart() /* crossfade */
|
||||
+{
|
||||
+ input_stopped_for_restart = TRUE;
|
||||
+ input_stop();
|
||||
+ input_stopped_for_restart = FALSE;
|
||||
+}
|
||||
+
|
||||
void input_stop(void)
|
||||
{
|
||||
if (ip_data->playing && get_current_input_plugin())
|
||||
diff -Naupr xmms-1.2.11.orig/xmms/input.h xmms-1.2.11/xmms/input.h
|
||||
--- xmms-1.2.11.orig/xmms/input.h 2000-02-16 22:05:57.000000000 +0100
|
||||
+++ xmms-1.2.11/xmms/input.h 2009-09-14 22:17:57.757114619 +0200
|
||||
@@ -34,6 +34,7 @@ InputVisType input_get_vis_type();
|
||||
gboolean input_check_file(gchar * filename);
|
||||
void input_play(char *filename);
|
||||
void input_stop(void);
|
||||
+void input_stop_for_restart(void);
|
||||
void input_pause(void);
|
||||
int input_get_time(void);
|
||||
void input_set_eq(int on, float preamp, float *bands);
|
||||
diff -Naupr xmms-1.2.11.orig/xmms/main.c xmms-1.2.11/xmms/main.c
|
||||
--- xmms-1.2.11.orig/xmms/main.c 2006-07-16 15:40:04.000000000 +0200
|
||||
+++ xmms-1.2.11/xmms/main.c 2009-09-14 22:17:57.759114418 +0200
|
||||
@@ -888,8 +888,10 @@ void mainwin_shade_toggle(void)
|
||||
mainwin_set_shade(!cfg.player_shaded);
|
||||
}
|
||||
|
||||
+gboolean is_quitting = FALSE; /* crossfade */
|
||||
void mainwin_quit_cb(void)
|
||||
{
|
||||
+ is_quitting = TRUE; /* crossfade */
|
||||
input_stop();
|
||||
gtk_widget_hide(equalizerwin);
|
||||
gtk_widget_hide(playlistwin);
|
||||
@@ -1540,7 +1542,8 @@ static void mainwin_jump_to_file_real_cb
|
||||
int *pos;
|
||||
|
||||
if (get_input_playing())
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
+
|
||||
pos = gtk_clist_get_row_data(clist, GPOINTER_TO_INT(clist->selection->data));
|
||||
playlist_set_position(*pos);
|
||||
playlist_play();
|
||||
diff -Naupr xmms-1.2.11.orig/xmms/playlist.c xmms-1.2.11/xmms/playlist.c
|
||||
--- xmms-1.2.11.orig/xmms/playlist.c 2007-11-16 22:51:30.000000000 +0100
|
||||
+++ xmms-1.2.11/xmms/playlist.c 2009-09-14 22:17:57.763114547 +0200
|
||||
@@ -78,9 +78,10 @@ void playlist_clear(void)
|
||||
{
|
||||
GList *node;
|
||||
PlaylistEntry *entry;
|
||||
-
|
||||
+
|
||||
+ /* always assume that there is another song comming up */
|
||||
if (get_input_playing())
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
|
||||
PL_LOCK();
|
||||
if (playlist)
|
||||
@@ -142,7 +143,7 @@ void playlist_delete_node(GList *node, g
|
||||
if (get_input_playing())
|
||||
{
|
||||
PL_UNLOCK();
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
PL_LOCK();
|
||||
*restart_playing = TRUE;
|
||||
}
|
||||
@@ -583,7 +584,7 @@ void playlist_play(void)
|
||||
}
|
||||
|
||||
if (get_input_playing())
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
|
||||
vis_clear_data(mainwin_vis);
|
||||
vis_clear_data(playlistwin_vis);
|
||||
@@ -681,7 +682,7 @@ void playlist_next(void)
|
||||
{
|
||||
/* We need to stop before changing playlist_position */
|
||||
PL_UNLOCK();
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
PL_LOCK();
|
||||
restart_playing = TRUE;
|
||||
}
|
||||
@@ -736,7 +737,7 @@ void playlist_prev(void)
|
||||
{
|
||||
/* We need to stop before changing playlist_position */
|
||||
PL_UNLOCK();
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
PL_LOCK();
|
||||
restart_playing = TRUE;
|
||||
}
|
||||
@@ -924,7 +925,7 @@ void playlist_set_position(int pos)
|
||||
{
|
||||
/* We need to stop before changing playlist_position */
|
||||
PL_UNLOCK();
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
PL_LOCK();
|
||||
restart_playing = TRUE;
|
||||
}
|
||||
@@ -951,11 +952,25 @@ void playlist_set_position(int pos)
|
||||
void playlist_eof_reached(void)
|
||||
{
|
||||
GList *plist_pos_list;
|
||||
-
|
||||
- input_stop();
|
||||
+ gboolean stop_for_restart = TRUE;
|
||||
|
||||
PL_LOCK();
|
||||
+
|
||||
+ /*
|
||||
+ * First, determine if we are going to play another song after
|
||||
+ * this one and call input_stop() / input_stop_for_restart()
|
||||
+ * accordingly.
|
||||
+ */
|
||||
plist_pos_list = find_playlist_position_list();
|
||||
+ if (!queued_list && !g_list_next(plist_pos_list) && !cfg.repeat)
|
||||
+ stop_for_restart = FALSE;
|
||||
+
|
||||
+ PL_UNLOCK();
|
||||
+ if (stop_for_restart)
|
||||
+ input_stop_for_restart();
|
||||
+ else
|
||||
+ input_stop();
|
||||
+ PL_LOCK();
|
||||
|
||||
if (cfg.no_playlist_advance)
|
||||
{
|
||||
19
xmms-1.2.11-mikmod-fix.patch
Normal file
19
xmms-1.2.11-mikmod-fix.patch
Normal file
@ -0,0 +1,19 @@
|
||||
diff -up xmms-1.2.11-20071117cvs/Input/mikmod/drv_xmms.c.fix xmms-1.2.11-20071117cvs/Input/mikmod/drv_xmms.c
|
||||
--- xmms-1.2.11-20071117cvs/Input/mikmod/drv_xmms.c.fix 2014-02-11 10:33:47.944425895 -0500
|
||||
+++ xmms-1.2.11-20071117cvs/Input/mikmod/drv_xmms.c 2014-02-11 10:34:39.000359857 -0500
|
||||
@@ -124,7 +124,15 @@ MDRIVER drv_xmms =
|
||||
"xmms output driver v1.0",
|
||||
0, 255,
|
||||
#if (LIBMIKMOD_VERSION > 0x030106)
|
||||
+/* Alias string */
|
||||
"xmms",
|
||||
+#endif
|
||||
+#if (LIBMIKMOD_VERSION >= 0x030200)
|
||||
+/* CmdLineHelp string */
|
||||
+ NULL,
|
||||
+#endif
|
||||
+#if (LIBMIKMOD_VERSION > 0x030106)
|
||||
+/* CommandLine proc */
|
||||
NULL,
|
||||
#endif
|
||||
xmms_IsThere,
|
||||
BIN
xmms-1.2.11-mpg123.tar.bz2
Normal file
BIN
xmms-1.2.11-mpg123.tar.bz2
Normal file
Binary file not shown.
129
xmms-1.2.11-multilib.patch
Normal file
129
xmms-1.2.11-multilib.patch
Normal file
@ -0,0 +1,129 @@
|
||||
diff -up xmms-1.2.11-20071117cvs/configure.multidevel xmms-1.2.11-20071117cvs/configure
|
||||
--- xmms-1.2.11-20071117cvs/configure.multidevel 2016-11-18 10:19:19.416318744 -0500
|
||||
+++ xmms-1.2.11-20071117cvs/configure 2016-11-18 10:21:42.901379471 -0500
|
||||
@@ -33510,7 +33510,7 @@ subdirs="$subdirs libxmms"
|
||||
|
||||
|
||||
|
||||
- ac_config_files="$ac_config_files Makefile xmms.1 wmxmms.1 xmms.spec xmms-config xmms/Makefile xmms/defskin/Makefile Output/Makefile Output/OSS/Makefile Output/esd/Makefile Output/disk_writer/Makefile Output/solaris/Makefile Output/sun/Makefile Output/alsa/Makefile Input/Makefile Input/wav/Makefile Input/mpg123/Makefile Input/mikmod/Makefile Input/cdaudio/Makefile Input/tonegen/Makefile Input/vorbis/Makefile Effect/Makefile Effect/voice/Makefile Effect/echo_plugin/Makefile Effect/stereo_plugin/Makefile General/Makefile General/ir/Makefile General/joystick/Makefile General/song_change/Makefile Visualization/Makefile Visualization/blur_scope/Makefile Visualization/sanalyzer/Makefile Visualization/opengl_spectrum/Makefile wmxmms/Makefile po/Makefile.in intl/Makefile"
|
||||
+ ac_config_files="$ac_config_files Makefile xmms.1 wmxmms.1 xmms.spec xmms-config xmms.pc xmms/Makefile xmms/defskin/Makefile Output/Makefile Output/OSS/Makefile Output/esd/Makefile Output/disk_writer/Makefile Output/solaris/Makefile Output/sun/Makefile Output/alsa/Makefile Input/Makefile Input/wav/Makefile Input/mpg123/Makefile Input/mikmod/Makefile Input/cdaudio/Makefile Input/tonegen/Makefile Input/vorbis/Makefile Effect/Makefile Effect/voice/Makefile Effect/echo_plugin/Makefile Effect/stereo_plugin/Makefile General/Makefile General/ir/Makefile General/joystick/Makefile General/song_change/Makefile Visualization/Makefile Visualization/blur_scope/Makefile Visualization/sanalyzer/Makefile Visualization/opengl_spectrum/Makefile wmxmms/Makefile po/Makefile.in intl/Makefile"
|
||||
ac_config_commands="$ac_config_commands default"
|
||||
cat >confcache <<\_ACEOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
@@ -34178,6 +34178,7 @@ do
|
||||
"wmxmms.1" ) CONFIG_FILES="$CONFIG_FILES wmxmms.1" ;;
|
||||
"xmms.spec" ) CONFIG_FILES="$CONFIG_FILES xmms.spec" ;;
|
||||
"xmms-config" ) CONFIG_FILES="$CONFIG_FILES xmms-config" ;;
|
||||
+ "xmms.pc" ) CONFIG_FILES="$CONFIG_FILES xmms.pc" ;;
|
||||
"xmms/Makefile" ) CONFIG_FILES="$CONFIG_FILES xmms/Makefile" ;;
|
||||
"xmms/defskin/Makefile" ) CONFIG_FILES="$CONFIG_FILES xmms/defskin/Makefile" ;;
|
||||
"Output/Makefile" ) CONFIG_FILES="$CONFIG_FILES Output/Makefile" ;;
|
||||
diff -up xmms-1.2.11-20071117cvs/xmms-config.in.multidevel xmms-1.2.11-20071117cvs/xmms-config.in
|
||||
--- xmms-1.2.11-20071117cvs/xmms-config.in.multidevel 2001-04-05 20:35:49.000000000 -0400
|
||||
+++ xmms-1.2.11-20071117cvs/xmms-config.in 2016-11-18 10:19:19.433318634 -0500
|
||||
@@ -18,24 +18,6 @@ exec_prefix_set=no
|
||||
data_dir="@datadir@/@PACKAGE@"
|
||||
|
||||
version="@VERSION@"
|
||||
-include_dir="@includedir@"
|
||||
-xmms_include_dir="@includedir@/@PACKAGE@"
|
||||
-lib_dir="@libdir@"
|
||||
-
|
||||
-if ( (gtk-config --version) > /dev/null 2>&1) then
|
||||
- gtk_libs=`gtk-config --libs`
|
||||
- gtk_cflags=`gtk-config --cflags`
|
||||
-else
|
||||
- gtk_libs="@GTK_LIBS@"
|
||||
- gtk_cflags="@GTK_CFLAGS@"
|
||||
-fi
|
||||
-
|
||||
-plugin_dir="@plugindir@"
|
||||
-visualization_plugin_dir="@plugindir@/@VISUALIZATION_PLUGIN_DIR@"
|
||||
-input_plugin_dir="@plugindir@/@INPUT_PLUGIN_DIR@"
|
||||
-output_plugin_dir="@plugindir@/@OUTPUT_PLUGIN_DIR@"
|
||||
-effect_plugin_dir="@plugindir@/@EFFECT_PLUGIN_DIR@"
|
||||
-general_plugin_dir="@plugindir@/@GENERAL_PLUGIN_DIR@"
|
||||
|
||||
usage()
|
||||
{
|
||||
@@ -146,24 +128,12 @@ if test "$echo_exec_prefix" = "yes"; the
|
||||
echo $exec_prefix
|
||||
fi
|
||||
|
||||
-if test "$include_dir" != "/usr/include"; then
|
||||
- cflags="-I$include_dir -I$xmms_include_dir $gtk_cflags"
|
||||
-else
|
||||
- cflags="-I$xmms_include_dir $gtk_cflags"
|
||||
-fi
|
||||
-
|
||||
-if test "$lib_dir" != "/usr/lib"; then
|
||||
- libs="-L$lib_dir $gtk_libs -lxmms"
|
||||
-else
|
||||
- libs="$gtk_libs -lxmms"
|
||||
-fi
|
||||
-
|
||||
if test "$echo_cflags" = "yes"; then
|
||||
- echo $cflags
|
||||
+ pkg-config xmms --cflags
|
||||
fi
|
||||
|
||||
if test "$echo_libs" = "yes"; then
|
||||
- echo $libs
|
||||
+ pkg-config xmms --libs
|
||||
fi
|
||||
|
||||
if test "$echo_data_dir" = "yes"; then
|
||||
@@ -171,25 +141,25 @@ if test "$echo_data_dir" = "yes"; then
|
||||
fi
|
||||
|
||||
if test "$echo_plugin_dir" = "yes"; then
|
||||
- echo $plugin_dir
|
||||
+ pkg-config xmms --variable=plugin_dir
|
||||
fi
|
||||
|
||||
if test "$echo_visualization_plugin_dir" = "yes"; then
|
||||
- echo $visualization_plugin_dir
|
||||
+ pkg-config xmms --variable=visualization_plugin_dir
|
||||
fi
|
||||
|
||||
if test "$echo_input_plugin_dir" = "yes"; then
|
||||
- echo $input_plugin_dir
|
||||
+ pkg-config xmms --variable=input_plugin_dir
|
||||
fi
|
||||
|
||||
if test "$echo_output_plugin_dir" = "yes"; then
|
||||
- echo $output_plugin_dir
|
||||
+ pkg-config xmms --variable=output_plugin_dir
|
||||
fi
|
||||
|
||||
if test "$echo_general_plugin_dir" = "yes"; then
|
||||
- echo $general_plugin_dir
|
||||
+ pkg-config xmms --variable=general_plugin_dir
|
||||
fi
|
||||
|
||||
if test "$echo_effect_plugin_dir" = "yes"; then
|
||||
- echo $effect_plugin_dir
|
||||
+ pkg-config xmms --variable=effect_plugin_dir
|
||||
fi
|
||||
diff -up xmms-1.2.11-20071117cvs/xmms.pc.in.multidevel xmms-1.2.11-20071117cvs/xmms.pc.in
|
||||
--- xmms-1.2.11-20071117cvs/xmms.pc.in.multidevel 2016-11-18 10:19:19.434318627 -0500
|
||||
+++ xmms-1.2.11-20071117cvs/xmms.pc.in 2016-11-18 10:19:19.434318627 -0500
|
||||
@@ -0,0 +1,18 @@
|
||||
+prefix=@prefix@
|
||||
+exec_prefix=@exec_prefix@
|
||||
+libdir=@libdir@
|
||||
+includedir=@includedir@
|
||||
+data_dir=@datadir@
|
||||
+plugin_dir=@plugindir@
|
||||
+visualization_plugin_dir=${plugin_dir}/@VISUALIZATION_PLUGIN_DIR@
|
||||
+input_plugin_dir=${plugin_dir}/@INPUT_PLUGIN_DIR@
|
||||
+output_plugin_dir=${plugin_dir}/@OUTPUT_PLUGIN_DIR@
|
||||
+effect_plugin_dir=${plugin_dir}/@EFFECT_PLUGIN_DIR@
|
||||
+general_plugin_dir=${plugin_dir}/@GENERAL_PLUGIN_DIR@
|
||||
+
|
||||
+Name: XMMS
|
||||
+Description: The X MultiMedia System, a media player
|
||||
+Version: @VERSION@
|
||||
+Requires: gtk+
|
||||
+Libs: -L${libdir} -lxmms
|
||||
+Cflags: -I${includedir} -I${includedir}/@PACKAGE@
|
||||
32
xmms-1.2.6-audio.patch
Normal file
32
xmms-1.2.6-audio.patch
Normal file
@ -0,0 +1,32 @@
|
||||
--- xmms-1.2.4/xmms/main.c.audio Mon Nov 20 10:45:10 2000
|
||||
+++ xmms-1.2.4/xmms/main.c Tue Nov 28 19:39:51 2000
|
||||
@@ -469,7 +469,7 @@
|
||||
if (cfg.outputplugin == NULL)
|
||||
{
|
||||
#ifdef HAVE_OSS
|
||||
- cfg.outputplugin = g_strdup_printf("%s/%s/libOSS.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||
+ cfg.outputplugin = g_strdup_printf("%s/%s/libALSA.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||
#elif defined(sun)
|
||||
cfg.outputplugin = g_strdup_printf("%s/%s/libSolaris.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||
#else
|
||||
--- xmms-1.2.4/Output/OSS/audio.c.audio Fri Jul 28 20:19:41 2000
|
||||
+++ xmms-1.2.4/Output/OSS/audio.c Tue Nov 28 19:36:19 2000
|
||||
@@ -592,7 +592,7 @@
|
||||
else
|
||||
device_name = g_strdup(DEV_DSP);
|
||||
}
|
||||
- fd = open(device_name, O_WRONLY);
|
||||
+ fd = open(device_name, O_WRONLY|O_NONBLOCK);
|
||||
if (fd == -1)
|
||||
{
|
||||
g_warning("oss_open(): Failed to open audio device (%s): %s",
|
||||
@@ -600,7 +600,8 @@
|
||||
g_free(device_name);
|
||||
return 0;
|
||||
}
|
||||
-
|
||||
+ fcntl(fd,F_SETFL,fcntl(fd,F_GETFL) &~ O_NONBLOCK);
|
||||
+
|
||||
input.format.xmms = fmt;
|
||||
input.frequency = rate;
|
||||
input.channels = nch;
|
||||
11
xmms-1.2.6-lazy.patch
Normal file
11
xmms-1.2.6-lazy.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- xmms-1.2.6/xmms/pluginenum.c.lazy Tue Jan 15 17:14:24 2002
|
||||
+++ xmms-1.2.6/xmms/pluginenum.c Tue Jan 15 17:14:33 2002
|
||||
@@ -229,7 +229,7 @@
|
||||
*/
|
||||
return shl_load(filename, BIND_DEFERRED, 0);
|
||||
#else
|
||||
- return dlopen(filename, RTLD_NOW);
|
||||
+ return dlopen(filename, RTLD_LAZY);
|
||||
#endif
|
||||
}
|
||||
|
||||
11
xmms-1.2.8-default-skin.patch
Normal file
11
xmms-1.2.8-default-skin.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- xmms-1.2.8/xmms/main.c.foo 2003-09-08 15:07:13.000000000 -0400
|
||||
+++ xmms-1.2.8/xmms/main.c 2003-09-08 15:07:55.000000000 -0400
|
||||
@@ -495,6 +495,8 @@
|
||||
cfg.mainwin_font = g_strdup("-adobe-helvetica-medium-r-*-*-8-*");
|
||||
if (cfg.gentitle_format == NULL)
|
||||
cfg.gentitle_format = g_strdup("%p - %t");
|
||||
+ if (cfg.skin == NULL && !cfgfile && !access("/usr/share/xmms/Skins/Bluecurve-xmms.zip",R_OK))
|
||||
+ cfg.skin = g_strdup("/usr/share/xmms/Skins/Bluecurve-xmms.zip");
|
||||
if (cfg.outputplugin == NULL)
|
||||
{
|
||||
#ifdef HAVE_OSS
|
||||
72
xmms-alsa-fix-loop.patch
Normal file
72
xmms-alsa-fix-loop.patch
Normal file
@ -0,0 +1,72 @@
|
||||
diff -up xmms-1.2.11-20071117cvs/Output/alsa/audio.c.fix-loop xmms-1.2.11-20071117cvs/Output/alsa/audio.c
|
||||
--- xmms-1.2.11-20071117cvs/Output/alsa/audio.c.fix-loop 2006-07-25 17:45:08.000000000 -0400
|
||||
+++ xmms-1.2.11-20071117cvs/Output/alsa/audio.c 2011-07-15 16:05:55.805328775 -0400
|
||||
@@ -807,7 +807,7 @@ static void *alsa_loop(void *arg)
|
||||
unsigned short *revents;
|
||||
|
||||
if (npfds <= 0)
|
||||
- goto _error;
|
||||
+ goto _cleanup;
|
||||
pfds = alloca(sizeof(*pfds) * npfds);
|
||||
revents = alloca(sizeof(*revents) * npfds);
|
||||
while (going && alsa_pcm)
|
||||
@@ -828,16 +828,34 @@ static void *alsa_loop(void *arg)
|
||||
int i;
|
||||
snd_pcm_poll_descriptors_revents(alsa_pcm, pfds,
|
||||
npfds, revents);
|
||||
- for (i = 0; i < npfds; i++)
|
||||
+ for (i = 0; i < npfds; i++)
|
||||
+ {
|
||||
if (revents[i] & POLLOUT)
|
||||
{
|
||||
+ debug("calling alsa_write_out_thread_data()");
|
||||
alsa_write_out_thread_data();
|
||||
+ debug("done with alsa_write_out_thread_data, break!");
|
||||
break;
|
||||
- }
|
||||
+ }
|
||||
+ debug("Still in the for loop");
|
||||
+ }
|
||||
+ debug("Out of the for loop, but still in the if poll.");
|
||||
}
|
||||
+ debug("Still in the not-paused not-prebuffer conditional");
|
||||
}
|
||||
else
|
||||
- xmms_usleep(10000);
|
||||
+ {
|
||||
+ if (paused)
|
||||
+ debug("Sorry, I'm paused. Taking a little nap.");
|
||||
+ if (prebuffer)
|
||||
+ debug("Buffering like Real Player.");
|
||||
+ if (paused || prebuffer) {
|
||||
+ xmms_usleep(10000);
|
||||
+ } else {
|
||||
+ debug("All done!");
|
||||
+ goto _cleanup;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
if (pause_request != paused)
|
||||
alsa_do_pause(pause_request);
|
||||
@@ -850,11 +868,12 @@ static void *alsa_loop(void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
- _error:
|
||||
+ _cleanup:
|
||||
alsa_close_pcm();
|
||||
g_free(thread_buffer);
|
||||
thread_buffer = NULL;
|
||||
pthread_exit(NULL);
|
||||
+ return;
|
||||
}
|
||||
|
||||
/* open callback */
|
||||
@@ -901,6 +920,7 @@ int alsa_open(AFormat fmt, int rate, int
|
||||
flush_request = -1;
|
||||
|
||||
pthread_create(&audio_thread, NULL, alsa_loop, NULL);
|
||||
+ debug("Do we get here?");
|
||||
return 1;
|
||||
}
|
||||
|
||||
11
xmms-cd-mountpoint.patch
Normal file
11
xmms-cd-mountpoint.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- xmms-1.2.11-20071117cvs/Input/cdaudio/cdaudio.c~ 2004-01-28 01:09:39.000000000 +0200
|
||||
+++ xmms-1.2.11-20071117cvs/Input/cdaudio/cdaudio.c 2005-04-30 18:39:04.000000000 +0300
|
||||
@@ -78,7 +78,7 @@
|
||||
# define CDDA_DIRECTORY "/cdrom/cdrom0"
|
||||
# endif
|
||||
# else
|
||||
-# define CDDA_DIRECTORY "/mnt/cdrom"
|
||||
+# define CDDA_DIRECTORY "/media/cdrecorder"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
11
xmms-play.patch
Normal file
11
xmms-play.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- xmms-1.2.11-20071117cvs/xmms/xmms.desktop 2002-02-11 23:15:56.000000000 +0000
|
||||
+++ xmms-1.2.11-20071117cvs/xmms/xmms.desktop-new 2009-09-02 14:19:57.000000000 +0100
|
||||
@@ -14,7 +14,7 @@
|
||||
comment[tr]=X Multimedya Sistem
|
||||
comment[zh_TW]=X ¦h´CÅé¨t²Î
|
||||
Encoding=Legacy-Mixed
|
||||
-Exec=xmms
|
||||
+Exec=xmms -e -p %F
|
||||
Icon=xmms_mini.xpm
|
||||
MimeType=audio/x-scpls;audio/x-mpegurl;audio/mpegurl;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/x-wav;application/x-ogg
|
||||
Terminal=0
|
||||
147
xmms.desktop
Normal file
147
xmms.desktop
Normal file
@ -0,0 +1,147 @@
|
||||
[Desktop Entry]
|
||||
Name=XMMS
|
||||
Comment=Play Ogg Vorbis and other audio files
|
||||
Comment[af]=Speel Ogg Vorbis en ander klanklêers
|
||||
Comment[am]=Ogg Vorbisን እና ሌሎች የድምጽ ፋይሎችን አጫውት
|
||||
Comment[ar]=تشغيل Ogg فوربس و ملفات أخري
|
||||
Comment[as]=Ogg Vorbis আৰু অন্যান্য শ্ৰৱণ নথি-পত্ৰ বজাওক
|
||||
Comment[be]=Прайграе Ogg Vorbis і іншыя аўдыё файлы
|
||||
Comment[bg]=Просвирване на Ogg Vorbis и други музикални файлове
|
||||
Comment[bn]=Ogg Vorvis এবং অন্যান্য অডিও ফাইলগুলো চালাও
|
||||
Comment[bn_IN]=Ogg Vorvis এবং অন্যান্য অডিও ফাইল বাজান
|
||||
Comment[ca]=Reproduïu fitxers Ogg Vorbis i d'altres formats de so
|
||||
Comment[cs]=Přehrát zvukové soubory Ogg Vorbis a další
|
||||
Comment[cy]=Gwrando ar Ogg Vorbis a ffeiliau sain eraill
|
||||
Comment[da]=Afspil Ogg Vorbis og andre lydfiler
|
||||
Comment[de]=Ogg Vorbis und andere Audio-Dateien wiedergeben
|
||||
Comment[el]=Αναπαραγωγή Ogg Vorbis και άλλων αρχείων ήχου
|
||||
Comment[en_GB]=Play Ogg Vorbis and other audio files
|
||||
Comment[es]=Reproducir Ogg Vorbis y otros ficheros de audio
|
||||
Comment[et]=Erinevate helifailide esitamine
|
||||
Comment[fa]=پخش اُگوُربیس و پروندههای صوتی دیگر
|
||||
Comment[fi]=Soita mm. Ogg Vorbis -äänitiedostoja
|
||||
Comment[fr]=Lire les Ogg Vorbis et autres fichiers audio
|
||||
Comment[gl]=Reproduza Ogg Vorbis e outros ficheiros de audio
|
||||
Comment[gu]=ઓગ વોરબીસ અને બીજી ઓડિયો ફાઈલો વગાડો
|
||||
Comment[he]=נגן קבצי Ogg Vorbis וקבצי קול נוספים
|
||||
Comment[hi]=Ogg Vorbis और अन्य श्रव्य फाइल चलाएँ
|
||||
Comment[hr]=Pokretanje Ogg Vorbis i ostalih datoteka zvuka
|
||||
Comment[hu]=Ogg Vorbis és más hangfájlok lejátszása
|
||||
Comment[hy]=Նվագել Ogg Vorbis և այլ տիպի ձայնային ֆայլեր
|
||||
Comment[id]=Mainkan Ogg Vorbis dan berkas audio lainnya
|
||||
Comment[ilo]=Patugtogen ti Ogg Vorbis ken sabsabali pay nga intar ti paguni
|
||||
Comment[is]=Spila Ogg Vorbis og fleiri tónlistaskrár
|
||||
Comment[it]=Riproduce Ogg Vorbis e altri file audio
|
||||
Comment[ja]=Ogg Vorbis及び他のオーディオファイルを再生
|
||||
Comment[ka]=Ogg Vorbis და სხვა აუდიოფაილების დაკვრა
|
||||
Comment[kn]=Ogg Vorbis ಇತ್ಯಾದಿ ಧ್ವನಿಕಡತಗಳನ್ನು ಚಾಲಿಸಿ
|
||||
Comment[ko]=Ogg Vorbis와 그외 오디오 파일 재생
|
||||
Comment[lt]=Groja Ogg Vorbis ir kitas audio bylas
|
||||
Comment[lv]=Spēlēt Ogg Vorbis un citas audio datnes
|
||||
Comment[mk]=Пушта Ogg Vorbis и други аудио датотеки
|
||||
Comment[ml]=Ogg Vorbisും മറ്റ് ഓഡിയോ ഫൈലുകളും പ്രവര്ത്തിപ്പിക്കുക
|
||||
Comment[mr]=Ogg Vorbis आणि इतर ध्वनी फाइल्स वाजवा
|
||||
Comment[ms]=Main fail audio Ogg Vorbis dan lain-lain
|
||||
Comment[nb]=Spill av Ogg Vorbis og andre lydfiler
|
||||
Comment[nl]=Ogg Vorbis en andere audiobestanden afspelen
|
||||
Comment[no]=Spill av Ogg Vorbis og andre lydfiler
|
||||
Comment[nso]=Bapala Ogg Vorbis le difaele tše dingwe tšeo di nago le modumo
|
||||
Comment[or]=ଓଗ୍ ଭରବିଶ କିମ୍ବା ଅନ୍ଯାନ୍ଯ ଅଡିଓ ପାଇଲ ମାନଙ୍କୁ ଚଲାନ୍ତୁ
|
||||
Comment[pa]=Ogg Vorbis ਅਤੇ ਹੋਰ ਸੰਗੀਤ ਫਾਇਲਾਂ ਚਲਾਓ
|
||||
Comment[pl]=Odtwarzanie Ogg Vorbis i innych plików dźwiękowych
|
||||
Comment[pt]=Toque ficheiros Ogg Vorbis e outros formatos de áudio
|
||||
Comment[pt_BR]=Toque Ogg Vorbis e outros arquivos de áudio
|
||||
Comment[ro]=Redă fişiere audio precum Ogg Vorbis
|
||||
Comment[ru]=Воспроизводит файлы Ogg Vorbis и другие звуковые файлы
|
||||
Comment[si]=Ogg Vorbis සහ අනෙකුත් ශව්ය ගොනු වාදනය කරන්න
|
||||
Comment[sk]=Hrať Ogg Vorbis a ostatné zvukové súbory
|
||||
Comment[sl]=Predvaja Ogg Vorbis in druge zvočne datoteke
|
||||
Comment[sr]=Пуштање Ogg Vorbis и осталих аудио датотека
|
||||
Comment[sr@latin]=Puštanje Ogg Vorbis i ostalih audio datoteka
|
||||
Comment[sv]=Spela Ogg Vorbis-filer och andra ljudfiler
|
||||
Comment[ta]=Ogg Vorbis மற்றும் மற்ற கேட்பொலி கோப்புகளை இயக்கவும்
|
||||
Comment[te]=Ogg Vorbis మరియూ ఇతర శ్రవణ ఫైళ్లని వాడు
|
||||
Comment[th]=เล่นแฟ้ม Ogg Vorbis และแฟ้มเสียงอื่นๆ
|
||||
Comment[tr]=Ogg Vorbis ve diğer işitsel dosyaları çalar
|
||||
Comment[uk]=Відтворення файлів Ogg Vorbis та інших звукових файлів
|
||||
Comment[ur]=اور دو سری آ ڈ یو فا ٔیلز چلا یں Ogg Vorbis
|
||||
Comment[vi]=Chơi tập tin nhạc Ogg Vorbis và các tập tin khác
|
||||
Comment[zh_CN]=播放 Ogg Vorbis 及其它音频文件
|
||||
Comment[zh_TW]=播放 Ogg Vorbis 以及其他音效檔案
|
||||
Comment[zu]=Dlala i- Ogg Vorbis kanye namafayela okuzwa
|
||||
Exec=xmms -e -p %F
|
||||
Icon=xmms
|
||||
MimeType=audio/x-mp3;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-wav;audio/x-mpegurl;audio/mpegurl;audio/x-scpls;application/x-ogg;application/ogg;
|
||||
GenericName=Audio Player
|
||||
GenericName[af]=Klankspeler
|
||||
GenericName[am]=የድምጽ ማጫወቻ
|
||||
GenericName[ar]=مُشغِّل الصّوتيّات
|
||||
GenericName[as]=শ্ৰৱণ ক্ৰীড়ক
|
||||
GenericName[be]=Аўдыё прайгравач
|
||||
GenericName[bg]=Музикален плейър
|
||||
GenericName[bn]=অডিও প্লেয়ার
|
||||
GenericName[bn_IN]=অডিও প্লেয়ার
|
||||
GenericName[ca]=Reproductor de so
|
||||
GenericName[cs]=Přehrávač zvuku
|
||||
GenericName[cy]=Chwaraewr Sain
|
||||
GenericName[da]=Lydafspiller
|
||||
GenericName[de]=Audio-Player
|
||||
GenericName[el]=Αναπαραγωγέας Audio
|
||||
GenericName[en_GB]=Audio Player
|
||||
GenericName[es]=Reproductor de audio
|
||||
GenericName[et]=Audio mängijad
|
||||
GenericName[fa]=پخشکنندهٔ صدا
|
||||
GenericName[fi]=Äänisoitin
|
||||
GenericName[fr]=Lecteur audio
|
||||
GenericName[gl]=Reproductor de audio
|
||||
GenericName[gu]=ઓડિયો વગાડનાર
|
||||
GenericName[he]=נגן צלילים
|
||||
GenericName[hi]=श्रव्य चालक
|
||||
GenericName[hr]=Svirač zvuka
|
||||
GenericName[hu]=Hanglejátszó
|
||||
GenericName[hy]=Ձայնարկիչ
|
||||
GenericName[id]=Audio Player
|
||||
GenericName[ilo]=Pagpatokar iti Uni
|
||||
GenericName[is]=Hljóðspilari
|
||||
GenericName[it]=Lettore audio
|
||||
GenericName[ja]=オーディオプレーヤー
|
||||
GenericName[ka]=აუდიოდამკვრელი
|
||||
GenericName[kn]=ಧ್ವನಿ ನಿರೂಪಕ
|
||||
GenericName[ko]=오디오 재생기
|
||||
GenericName[lt]=Audio Grotuvas
|
||||
GenericName[lv]=Audio atskaņotājs
|
||||
GenericName[mk]=Аудио пуштач
|
||||
GenericName[ml]=ഓഡിയോ പ്ലെയര്
|
||||
GenericName[mr]=ध्वनीवादक
|
||||
GenericName[ms]=Pemain Audio
|
||||
GenericName[nb]=Lydavspiller
|
||||
GenericName[nl]=Geluidsspeler
|
||||
GenericName[no]=Lydavspiller
|
||||
GenericName[nso]=Sebapadi se nago le Modumo
|
||||
GenericName[or]=ଅଡିଓ ଚାଳକ
|
||||
GenericName[pa]=ਆਡੀਓ ਪਲੇਅਰ
|
||||
GenericName[pl]=Odtwarzacz dźwięku
|
||||
GenericName[pt]=Reprodutor Áudio
|
||||
GenericName[pt_BR]=Reprodutor de Áudio
|
||||
GenericName[ro]=Player audio
|
||||
GenericName[ru]=Звуковой проигрыватель
|
||||
GenericName[si]=ශ්රව්ය වාදකය
|
||||
GenericName[sk]=Prehrávač zvuku
|
||||
GenericName[sl]=Predvajalnik zvoka
|
||||
GenericName[sr]=Аудио програм
|
||||
GenericName[sr@latin]=Audio program
|
||||
GenericName[sv]=Ljudspelare
|
||||
GenericName[ta]=கேட்பொலி இயக்கி
|
||||
GenericName[te]=Audio Player
|
||||
GenericName[th]=ตัวเล่นแฟ้มเสียง
|
||||
GenericName[tr]=Sesçalar
|
||||
GenericName[uk]=Програвач звуку
|
||||
GenericName[ur]=Player آ ڈ یو
|
||||
GenericName[vi]=Bộ chơi nhạc
|
||||
GenericName[zh_CN]=音频播放器
|
||||
GenericName[zh_TW]=音效播放器
|
||||
GenericName[zu]=Umdlali Ozwakalayo
|
||||
Terminal=false
|
||||
Type=Application
|
||||
MapNotify=false
|
||||
Categories=AudioVideo;
|
||||
8
xmms.sh
Normal file
8
xmms.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
# https://bugzilla.redhat.com/213172
|
||||
if [ -z "$XLIB_SKIP_ARGB_VISUALS" ] ; then
|
||||
exec env XLIB_SKIP_ARGB_VISUALS=1 /usr/libexec/xmms "$@"
|
||||
else
|
||||
exec /usr/libexec/xmms "$@"
|
||||
fi
|
||||
102
xmms.spec
Normal file
102
xmms.spec
Normal file
@ -0,0 +1,102 @@
|
||||
Name: xmms
|
||||
Epoch: 1
|
||||
Version: 1.2.11
|
||||
Release: 36.20071117cvs
|
||||
License: GPLv2+
|
||||
Summary: XMMS is a legacy GTK+1 music player modeled after Winamp
|
||||
URL: http://legacy.xmms2.org/
|
||||
Source0: xmms-%{version}-20071117cvs.patched.tar.bz2
|
||||
Source1: xmms.sh
|
||||
Source2: xmms.xpm
|
||||
Source3: xmms-1.2.11-mpg123.tar.bz2
|
||||
Source4: xmms.desktop
|
||||
Provides: xmms-esd = 1:%{version}-%{release} xmms-gui bundled(libmpg123) xmms-mp3 = %{version}-%{release} xmms-libs = 1:%{version}-%{release}
|
||||
Obsoletes: xmms-esd < 1:18.20071117cvs xmms-mp3 < 1.2.11-8 xmms-libs < 1:%{version}-%{release}
|
||||
BuildRequires: gtk+-devel alsa-lib-devel libogg-devel libvorbis-devel mikmod-devel gettext-devel
|
||||
BuildRequires: zlib-devel libGL-devel libXt-devel libSM-devel libXxf86vm-devel desktop-file-utils
|
||||
Requires: unzip libcanberra-gtk2 gtk2
|
||||
Requires(post): desktop-file-utils
|
||||
Requires(postun): desktop-file-utils
|
||||
|
||||
Patch0001: xmms-1.2.6-audio.patch
|
||||
Patch0002: xmms-1.2.6-lazy.patch
|
||||
Patch0003: xmms-1.2.8-default-skin.patch
|
||||
Patch0004: xmms-1.2.11-alsalib.patch
|
||||
Patch0005: xmms-cd-mountpoint.patch
|
||||
Patch0006: xmms-1.2.11-multilib.patch
|
||||
Patch0007: xmms-1.2.11-is_quitting.patch
|
||||
Patch0008: xmms-1.2.10-configfile-safe-write.patch
|
||||
Patch0009: xmms-1.2.10-reposition.patch
|
||||
Patch0010: xmms-play.patch
|
||||
Patch0011: xmms-1.2.11-dso.patch
|
||||
Patch0012: xmms-1.2.10-ubuntu-CVE-2007-0653.patch
|
||||
Patch0013: xmms-alsa-fix-loop.patch
|
||||
Patch0014: xmms-1.2.11-mikmod-fix.patch
|
||||
Patch0015: xmms-1.2.11-a-b.patch
|
||||
|
||||
%description
|
||||
XMMS is a legacy GTK+1 music player similar to Winamp's. XMMS supports
|
||||
playlists and streaming content and has a configurable interface.
|
||||
|
||||
%package devel
|
||||
Summary: Files required for XMMS plug-in development
|
||||
Requires: gtk+-devel pkgconfig
|
||||
|
||||
%description devel
|
||||
Files needed for building plug-ins for XMMS.
|
||||
|
||||
%package help
|
||||
Summary: Help document for XMMS
|
||||
Buildarch: noarch
|
||||
|
||||
%description help
|
||||
Help document for XMMS.
|
||||
|
||||
%prep
|
||||
%autosetup -n xmms-%{version}-20071117cvs -a3 -p1
|
||||
sed -i -e 's|"/lib /usr/lib"|"/%{_lib} %{_libdir}"|' configure
|
||||
%build
|
||||
%configure --disable-dependency-tracking --enable-kanji --enable-texthack --enable-ipv6 --with-pic --disable-esd
|
||||
%make_build
|
||||
%install
|
||||
%make_install
|
||||
install -dm 755 %{buildroot}%{_datadir}/xmms/Skins
|
||||
%delete_la_and_a
|
||||
mv %{buildroot}/%{_datadir}/locale/sr@Latn %{buildroot}/%{_datadir}/locale/sr@latin
|
||||
for bin in xmms wmxmms ; do
|
||||
install -Dpm 755 %{buildroot}%{_bindir}/$bin %{buildroot}%{_libexecdir}/$bin
|
||||
sed -e "s|/usr/libexec/xmms|%{_libexecdir}/$bin|" %{SOURCE1} > %{buildroot}%{_bindir}/$bin
|
||||
chmod 755 %{buildroot}%{_bindir}/$bin
|
||||
done
|
||||
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE4}
|
||||
install -Dpm 644 %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/xmms.xpm
|
||||
install -Dpm 644 xmms.pc %{buildroot}%{_libdir}/pkgconfig/xmms.pc
|
||||
%find_lang xmms
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
|
||||
%files -f xmms.lang
|
||||
%doc COPYING AUTHORS ChangeLog FAQ NEWS TODO README README.ab
|
||||
%{_bindir}/{xmms,wmxmms}
|
||||
%{_libexecdir}/{xmms,wmxmms}
|
||||
%{_datadir}/applications/xmms.desktop
|
||||
%{_datadir}/icons/hicolor/*x*/apps/xmms.xpm
|
||||
%{_datadir}/xmms
|
||||
%{_libdir}/libxmms.so.*
|
||||
%{_libdir}/xmms/{Effect,General,Input,Output,Visualization}
|
||||
|
||||
%files devel
|
||||
%{_bindir}/xmms-config
|
||||
%{_includedir}/xmms/
|
||||
%{_libdir}/libxmms.so
|
||||
%{_datadir}/aclocal/xmms.m4
|
||||
%{_libdir}/pkgconfig/xmms.pc
|
||||
|
||||
%files help
|
||||
%{_mandir}/man1/*xmms.1*
|
||||
|
||||
%changelog
|
||||
* Fri Nov 29 2019 Ling Yang <lingyang2@huawei.com> - 1:1.2.11-36.20071117cvs
|
||||
- Package init
|
||||
Loading…
x
Reference in New Issue
Block a user