mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
removed extra/xmms
This commit is contained in:
parent
2022f26944
commit
da852b2230
14 changed files with 0 additions and 853 deletions
|
@ -1,84 +0,0 @@
|
|||
# $Id: PKGBUILD 134338 2011-08-02 23:29:16Z eric $
|
||||
# Maintainer: Eric Bélanger <eric@archlinux.org>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - added --disable-simd, which builds for MMX instructions
|
||||
|
||||
pkgname=xmms
|
||||
pkgver=1.2.11
|
||||
pkgrel=7
|
||||
pkgdesc="The X MultiMedia System - a multimedia player"
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://legacy.xmms2.org/"
|
||||
license=('GPL')
|
||||
depends=('gtk' 'libxxf86vm' 'libsm' 'zlib' 'desktop-file-utils')
|
||||
makedepends=('mesa' 'libmikmod' 'libvorbis' 'alsa-lib' 'libgl')
|
||||
optdepends=('libmikmod: for the MikMod input plugin' \
|
||||
'libvorbis: for the Ogg Vorbis input plugin' \
|
||||
'alsa-lib: for the alsa output plugin' \
|
||||
'libgl: for the OpenGL Spectrum analyser visualization plugin')
|
||||
install=xmms.install
|
||||
source=(http://legacy.xmms2.org/${pkgname}-${pkgver}.tar.bz2 \
|
||||
xmms-menu.patch xmms-1.2.10-crossfade-0.3.9.patch xmms-fix.diff \
|
||||
xmms-1.2.11-CVE-2007-0653.0654.patch xmms-1.2.11-fix-http-title-mpg123.patch \
|
||||
xmms-1.2.11-3dse.patch xmms-1.2.10-recode-id3.patch xmms-1.2.11-fix-mikmod-driver.patch \
|
||||
xmms-1.2.10-fonts.patch xmms.16.png xmms.32.png xmms.48.png)
|
||||
sha1sums=('9d1eae4baab25fd35c9ddfb49321ca60222f672d'
|
||||
'27fb6e21bd6db923a425a8df8bd07a2a93867ddb'
|
||||
'ff5c172752c8bee708d9a9ecd53864cc95a4bcc5'
|
||||
'c227284955f2cc16f027dade670155c0f0fbc4ff'
|
||||
'4ef47c34b27b6c868d4301b7a078b257c8604471'
|
||||
'0c060385561ea2a4b1c7ad3bd35d3646ae9554f5'
|
||||
'6f6db13c780ba4cbddb8613f0abd2db2823f3021'
|
||||
'2a3b1bf17054b6bd8b1e5937de5c0ad49af8dc92'
|
||||
'155e11b344af1ba594b4e339640bcca37c8909af'
|
||||
'31abd37c9c57bd13b2088eb11a1e54e5aa312bf3'
|
||||
'0089d11aa3bce67f3496592d68ee65837406e220'
|
||||
'f24071ae484d9b55e61dba076801fa8e7976ff2f'
|
||||
'485c67cb8c8d4678bb3b0b280d2e233b14153b22')
|
||||
|
||||
prepare() {
|
||||
cd ${pkgname}-${pkgver}
|
||||
# Fix xmms.desktop
|
||||
patch -p0 < ../xmms-menu.patch
|
||||
# Patch for hang with xmms-crossfade
|
||||
patch -p1 < ../xmms-1.2.10-crossfade-0.3.9.patch
|
||||
# fix xmms not able to be shown double size,at least needed for x86_64
|
||||
patch -p1 < ../xmms-fix.diff
|
||||
# Several patches from Mandriva
|
||||
patch -p1 < ../xmms-1.2.11-fix-http-title-mpg123.patch
|
||||
patch -p0 < ../xmms-1.2.10-recode-id3.patch
|
||||
patch -p1 < ../xmms-1.2.11-3dse.patch
|
||||
patch -p1 < ../xmms-1.2.10-fonts.patch
|
||||
patch -p1 < ../xmms-1.2.11-CVE-2007-0653.0654.patch
|
||||
patch -p1 < ../xmms-1.2.11-fix-mikmod-driver.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd ${pkgname}-${pkgver}
|
||||
if [ "$CARCH" == "x86_64" ]; then
|
||||
SIMDOPT="--disable-simd"
|
||||
elif [ "$CARCH" == "i686" ]; then
|
||||
SIMDOPT="--enable-simd"
|
||||
else
|
||||
SIMDOPT="--disable-simd"
|
||||
fi
|
||||
./configure --prefix=/usr --mandir=/usr/share/man $SIMDOPT
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd ${pkgname}-${pkgver}
|
||||
make DESTDIR="${pkgdir}" install
|
||||
|
||||
install -D -m644 xmms/xmms.desktop "${pkgdir}/usr/share/applications/xmms.desktop"
|
||||
install -D -m644 xmms/xmms_mini.xpm "${pkgdir}/usr/share/pixmaps/xmms_mini.xpm"
|
||||
install -D -m644 ../xmms.16.png "${pkgdir}/usr/share/pixmaps/xmms16.png"
|
||||
install -D -m644 ../xmms.32.png "${pkgdir}/usr/share/pixmaps/xmms32.png"
|
||||
install -D -m644 ../xmms.48.png "${pkgdir}/usr/share/pixmaps/xmms48.png"
|
||||
ln -s /usr/share/pixmaps/xmms48.png "${pkgdir}/usr/share/pixmaps/xmms.png"
|
||||
|
||||
# don't want wmxmms
|
||||
rm -rf "${pkgdir}/usr/bin/wmxmms" "${pkgdir}/usr/share/xmms"
|
||||
rm -f "${pkgdir}"/usr/share/man/man1/{gnomexmms.1,wmxmms.1}
|
||||
}
|
|
@ -1,101 +0,0 @@
|
|||
diff -ur xmms-1.2.10/xmms/input.c xmms-1.2.10.patched/xmms/input.c
|
||||
--- xmms-1.2.10/xmms/input.c 2003-08-08 19:10:44.000000000 +0200
|
||||
+++ xmms-1.2.10.patched/xmms/input.c 2005-11-25 00:12:36.000000000 +0100
|
||||
@@ -285,6 +285,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
+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 -ur xmms-1.2.10/xmms/input.h xmms-1.2.10.patched/xmms/input.h
|
||||
--- xmms-1.2.10/xmms/input.h 2000-02-16 22:05:57.000000000 +0100
|
||||
+++ xmms-1.2.10.patched/xmms/input.h 2005-11-25 00:12:36.000000000 +0100
|
||||
@@ -34,6 +34,7 @@
|
||||
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 -ur xmms-1.2.10/xmms/main.c xmms-1.2.10.patched/xmms/main.c
|
||||
--- xmms-1.2.10/xmms/main.c 2004-02-23 21:31:43.000000000 +0100
|
||||
+++ xmms-1.2.10.patched/xmms/main.c 2005-11-25 00:12:36.000000000 +0100
|
||||
@@ -881,8 +881,10 @@
|
||||
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);
|
||||
@@ -1523,7 +1525,8 @@
|
||||
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 -ur xmms-1.2.10/xmms/playlist.c xmms-1.2.10.patched/xmms/playlist.c
|
||||
--- xmms-1.2.10/xmms/playlist.c 2004-02-23 21:31:43.000000000 +0100
|
||||
+++ xmms-1.2.10.patched/xmms/playlist.c 2005-11-25 00:12:36.000000000 +0100
|
||||
@@ -124,7 +124,7 @@
|
||||
if (get_input_playing())
|
||||
{
|
||||
PL_UNLOCK();
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
PL_LOCK();
|
||||
*restart_playing = TRUE;
|
||||
}
|
||||
@@ -570,7 +570,7 @@
|
||||
}
|
||||
|
||||
if (get_input_playing())
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
|
||||
vis_clear_data(mainwin_vis);
|
||||
vis_clear_data(playlistwin_vis);
|
||||
@@ -668,7 +668,7 @@
|
||||
{
|
||||
/* We need to stop before changing playlist_position */
|
||||
PL_UNLOCK();
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
PL_LOCK();
|
||||
restart_playing = TRUE;
|
||||
}
|
||||
@@ -723,7 +723,7 @@
|
||||
{
|
||||
/* We need to stop before changing playlist_position */
|
||||
PL_UNLOCK();
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
PL_LOCK();
|
||||
restart_playing = TRUE;
|
||||
}
|
||||
@@ -852,7 +852,7 @@
|
||||
{
|
||||
/* We need to stop before changing playlist_position */
|
||||
PL_UNLOCK();
|
||||
- input_stop();
|
||||
+ input_stop_for_restart();
|
||||
PL_LOCK();
|
||||
restart_playing = TRUE;
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
--- xmms-1.2.10/xmms/main.c.fonts 2004-08-10 22:16:06.000000000 +0200
|
||||
+++ xmms-1.2.10/xmms/main.c 2004-08-12 11:49:17.905598843 +0200
|
||||
@@ -351,7 +351,8 @@
|
||||
cfg.no_playlist_advance = FALSE;
|
||||
cfg.smooth_title_scroll = TRUE;
|
||||
cfg.random_skin_on_play = FALSE;
|
||||
- cfg.mainwin_use_xfont = FALSE;
|
||||
+ cfg.mainwin_use_xfont = TRUE;
|
||||
+ cfg.use_fontsets = TRUE;
|
||||
cfg.use_pl_metadata = TRUE;
|
||||
|
||||
cfg.playlist_x = 295;
|
||||
@@ -499,9 +500,9 @@
|
||||
cfg.mainwin_font = NULL;
|
||||
}
|
||||
if (cfg.playlist_font == NULL)
|
||||
- cfg.playlist_font = g_strdup("-adobe-helvetica-bold-r-*-*-10-*");
|
||||
+ cfg.playlist_font = g_strdup("-*-helvetica-bold-r-*-*-10-*,*");
|
||||
if (cfg.mainwin_font == NULL)
|
||||
- cfg.mainwin_font = g_strdup("-adobe-helvetica-medium-r-*-*-8-*");
|
||||
+ cfg.mainwin_font = g_strdup("-*-helvetica-medium-r-*-*-8-*,*");
|
||||
if (cfg.gentitle_format == NULL)
|
||||
cfg.gentitle_format = g_strdup("%p - %t");
|
||||
if (cfg.outputplugin == NULL)
|
|
@ -1,11 +0,0 @@
|
|||
--- xmms/playlist.c.orig 2005-03-05 17:26:11.685992552 +0200
|
||||
+++ xmms/playlist.c 2005-03-05 17:28:01.524294592 +0200
|
||||
@@ -1341,7 +1341,7 @@
|
||||
|
||||
filename = g_strdup(entry->filename);
|
||||
|
||||
- if (entry->title == NULL && entry->length == -1)
|
||||
+ if (entry->title == NULL)
|
||||
{
|
||||
if (playlist_get_info_entry(entry)&&(entry->title)) {
|
||||
title = xmms_charset_recode_id3(entry->title,0,NULL);
|
|
@ -1,503 +0,0 @@
|
|||
--- xmms-1.2.11/Output/OSS/OSS.h.3dse 2003-06-11 20:44:17.000000000 +0200
|
||||
+++ xmms-1.2.11/Output/OSS/OSS.h 2007-11-18 20:51:57.000000000 +0100
|
||||
@@ -48,6 +48,11 @@
|
||||
# define IS_BIG_ENDIAN FALSE
|
||||
#endif
|
||||
|
||||
+#define AWE_3DSE 0x90
|
||||
+#define MIXER_BASE_DEFAULT 0x220
|
||||
+#define MIXER_REG_OFFSET 4
|
||||
+#define MIXER_DATA_OFFSET 5
|
||||
+
|
||||
extern OutputPlugin op;
|
||||
|
||||
typedef struct
|
||||
@@ -59,6 +64,8 @@ typedef struct
|
||||
gboolean use_master;
|
||||
gboolean use_alt_audio_device, use_alt_mixer_device;
|
||||
gchar *alt_audio_device, *alt_mixer_device;
|
||||
+ gint stereo;
|
||||
+ gboolean hardware_access;
|
||||
}
|
||||
OSSConfig;
|
||||
|
||||
@@ -82,6 +89,12 @@ int oss_get_output_time(void);
|
||||
int oss_get_written_time(void);
|
||||
void oss_set_audio_params(void);
|
||||
|
||||
+int oss_set_3dse(int stat);
|
||||
+int oss_get_3dse(void);
|
||||
+void oss_hw_set_3dse(int stat);
|
||||
+int oss_hw_get_3dse(void);
|
||||
+int initHardwareAccess ();
|
||||
+
|
||||
void oss_free_convert_buffer(void);
|
||||
int (*oss_get_convert_func(int output, int input))(void **, int);
|
||||
int (*oss_get_stereo_convert_func(int output, int input))(void **, int, int);
|
||||
--- xmms-1.2.11/Output/OSS/configure.c.3dse 2005-05-15 02:01:20.000000000 +0200
|
||||
+++ xmms-1.2.11/Output/OSS/configure.c 2007-11-18 20:51:57.000000000 +0100
|
||||
@@ -24,6 +24,10 @@ static GtkWidget *mixer_usemaster_check,
|
||||
static GtkWidget *adevice_use_alt_check, *audio_alt_device_entry;
|
||||
static GtkWidget *mdevice_use_alt_check, *mixer_alt_device_entry;
|
||||
static gint audio_device, mixer_device;
|
||||
+static GtkWidget *stereo_check_button, *stereo_frame, *stereo_box;
|
||||
+static GtkWidget *stereo_label, *stereo_align_button, *stereo_align_label;
|
||||
+static GtkWidget *save3dse_check_button, *stereo_table, *hw_check_button;
|
||||
+
|
||||
|
||||
static void configure_win_ok_cb(GtkWidget * w, gpointer data)
|
||||
{
|
||||
@@ -69,6 +73,8 @@ static void configure_win_ok_cb(GtkWidge
|
||||
xmms_cfg_write_string(cfgfile, "OSS", "alt_audio_device", oss_cfg.alt_audio_device);
|
||||
xmms_cfg_write_boolean(cfgfile, "OSS", "use_alt_mixer_device", oss_cfg.use_alt_mixer_device);
|
||||
xmms_cfg_write_string(cfgfile, "OSS", "alt_mixer_device", oss_cfg.alt_mixer_device);
|
||||
+ xmms_cfg_write_int(cfgfile, "OSS", "stereo", oss_cfg.stereo);
|
||||
+ xmms_cfg_write_boolean(cfgfile, "OSS", "hardware", oss_cfg.hardware_access);
|
||||
xmms_cfg_write_default_file(cfgfile);
|
||||
xmms_cfg_free(cfgfile);
|
||||
|
||||
@@ -85,6 +91,98 @@ static void configure_win_mixer_dev_cb(G
|
||||
mixer_device = device;
|
||||
}
|
||||
|
||||
+static void stereo_check_button_cb(GtkWidget * widget, gpointer data)
|
||||
+{
|
||||
+ if (GTK_TOGGLE_BUTTON(widget)->active)
|
||||
+ {
|
||||
+ if (oss_cfg.stereo != -1)
|
||||
+ oss_cfg.stereo = 1;
|
||||
+ if (oss_cfg.hardware_access)
|
||||
+ oss_hw_set_3dse(1);
|
||||
+ else
|
||||
+ oss_set_3dse(1);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if (oss_cfg.stereo != -1)
|
||||
+ oss_cfg.stereo = 0;
|
||||
+ if (oss_cfg.hardware_access)
|
||||
+ oss_hw_set_3dse(0);
|
||||
+ else
|
||||
+ oss_set_3dse(0);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void save3dse_check_button_cb(GtkWidget * widget, gpointer data)
|
||||
+{
|
||||
+ if (GTK_TOGGLE_BUTTON(widget)->active)
|
||||
+ {
|
||||
+ if (GTK_TOGGLE_BUTTON(data)->active)
|
||||
+ oss_cfg.stereo = 1;
|
||||
+ else
|
||||
+ oss_cfg.stereo = 0;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ oss_cfg.stereo = -1;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void warning_dialog(void)
|
||||
+{
|
||||
+ GtkWidget *dialog_window, *button, *label;
|
||||
+ dialog_window = gtk_dialog_new();
|
||||
+ gtk_window_set_title(GTK_WINDOW(dialog_window),
|
||||
+ "WARNING: DIRECT ACCESS");
|
||||
+ gtk_window_set_policy(GTK_WINDOW(dialog_window), FALSE, FALSE, TRUE);
|
||||
+ gtk_window_set_position(GTK_WINDOW(dialog_window), GTK_WIN_POS_MOUSE);
|
||||
+ button = gtk_button_new_with_label("Dismiss");
|
||||
+ gtk_signal_connect_object(GTK_OBJECT(button), "clicked",
|
||||
+ GTK_SIGNAL_FUNC(gtk_widget_destroy), (gpointer)dialog_window);
|
||||
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->action_area),
|
||||
+ button, TRUE, FALSE, 0);
|
||||
+ gtk_widget_show(button);
|
||||
+ label = gtk_label_new(
|
||||
+ "Direct hardware access can cause damage to your sound card.\n"
|
||||
+ "Only use this option when you are using OSS drivers that\n"
|
||||
+ "doesn't support the SND_MIXER_3DSE ioctl.\n"
|
||||
+ "USE THIS OPTION AT YOUR OWN RISK !!!\n"
|
||||
+ "You can use the environment variable \"BLASTER\" to manual\n"
|
||||
+ "set the port of the mixer of your sound card. Only use this\n"
|
||||
+ "option when you really know the mixer address. The default\n"
|
||||
+ "value is 0x220. Example:\n"
|
||||
+ " BLASTER=M230 ; export BLASTER\n"
|
||||
+ "SETTING THE WRONG BLASTER ENVIRONMENT CAN\n"
|
||||
+ "CAUSE YOUR SYSTEM TO CRASH AND CAN CAUSE\n"
|
||||
+ "PERMANENT DAMAGE !!!");
|
||||
+ gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
|
||||
+ gtk_misc_set_padding(GTK_MISC(label), 10, 10);
|
||||
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->vbox),
|
||||
+ label, TRUE, TRUE, 0);
|
||||
+ gtk_widget_show(label);
|
||||
+ gtk_grab_add(dialog_window);
|
||||
+ GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
|
||||
+ gtk_widget_grab_default(button);
|
||||
+ gtk_widget_show(dialog_window);
|
||||
+}
|
||||
+
|
||||
+static void hw_check_button_cb(GtkWidget * widget, gpointer data)
|
||||
+{
|
||||
+ if (GTK_TOGGLE_BUTTON(widget)->active)
|
||||
+ {
|
||||
+ if (oss_cfg.hardware_access == 0)
|
||||
+ warning_dialog();
|
||||
+ oss_cfg.hardware_access = 1;
|
||||
+ initHardwareAccess ();
|
||||
+ gtk_widget_set_sensitive(stereo_check_button, TRUE);
|
||||
+ gtk_widget_set_sensitive(save3dse_check_button, TRUE);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ oss_cfg.hardware_access = 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static void audio_device_toggled(GtkToggleButton * widget, gpointer data)
|
||||
{
|
||||
gboolean use_alt_audio_device = gtk_toggle_button_get_active(widget);
|
||||
@@ -148,10 +246,38 @@ static void scan_devices(gchar * type, G
|
||||
}
|
||||
else
|
||||
{
|
||||
- item = gtk_menu_item_new_with_label(_("Default"));
|
||||
- gtk_signal_connect(GTK_OBJECT(item), "activate", sigfunc, (gpointer) 0);
|
||||
- gtk_widget_show(item);
|
||||
- gtk_menu_append(GTK_MENU(menu), item);
|
||||
+#ifdef SOUND_MIXER_INFO
|
||||
+ int i, fd;
|
||||
+ gchar *dev_name;
|
||||
+ mixer_info info;
|
||||
+ for (i = 0; i < 10; i++) {
|
||||
+ if (i)
|
||||
+ dev_name = g_strdup_printf ("/dev/mixer%d", i);
|
||||
+ else
|
||||
+ dev_name = g_strdup_printf ("/dev/mixer");
|
||||
+ if ((fd = open (dev_name, O_RDONLY)) != -1) {
|
||||
+ if (ioctl (fd, SOUND_MIXER_INFO, &info) != -1) {
|
||||
+ if (!index)
|
||||
+ temp = g_strdup_printf ("Default (%s)", info.name);
|
||||
+ else
|
||||
+ temp = g_strdup_printf ("%s", info.name);
|
||||
+ item = gtk_menu_item_new_with_label (temp);
|
||||
+ g_free (temp);
|
||||
+ gtk_signal_connect(GTK_OBJECT(item), "activate", sigfunc, (gpointer) index++);
|
||||
+ gtk_widget_show(item);
|
||||
+ gtk_menu_append(GTK_MENU(menu), item);
|
||||
+ }
|
||||
+ close(fd);
|
||||
+ }
|
||||
+ g_free(dev_name);
|
||||
+ }
|
||||
+#endif
|
||||
+ if (!index) {
|
||||
+ item = gtk_menu_item_new_with_label(_("Default"));
|
||||
+ gtk_signal_connect(GTK_OBJECT(item), "activate", sigfunc, (gpointer) 0);
|
||||
+ gtk_widget_show(item);
|
||||
+ gtk_menu_append(GTK_MENU(menu), item);
|
||||
+ }
|
||||
}
|
||||
gtk_option_menu_set_menu(GTK_OPTION_MENU(option_menu), menu);
|
||||
}
|
||||
@@ -300,6 +426,69 @@ void oss_configure(void)
|
||||
gtk_table_attach_defaults(GTK_TABLE(mixer_table), mixer_usemaster_check, 0, 1, 0, 1);
|
||||
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), mixer_frame, gtk_label_new(_("Mixer")));
|
||||
|
||||
+ stereo_frame = gtk_frame_new("3D Stereo Enhancement:");
|
||||
+ gtk_container_set_border_width(GTK_CONTAINER(stereo_frame), 5);
|
||||
+ gtk_widget_show(stereo_frame);
|
||||
+ stereo_box = gtk_vbox_new(FALSE, 0);
|
||||
+ gtk_widget_show(stereo_box);
|
||||
+ stereo_table = gtk_table_new(3, 1, FALSE);
|
||||
+ gtk_widget_show(stereo_table);
|
||||
+ stereo_check_button = gtk_check_button_new_with_label("3D Stereo Enhancement");
|
||||
+ gtk_signal_connect(GTK_OBJECT(stereo_check_button), "toggled",
|
||||
+ GTK_SIGNAL_FUNC(stereo_check_button_cb), NULL);
|
||||
+ save3dse_check_button = gtk_check_button_new_with_label("Save 3DSE setting");
|
||||
+ gtk_signal_connect(GTK_OBJECT(save3dse_check_button), "toggled",
|
||||
+ GTK_SIGNAL_FUNC(save3dse_check_button_cb), stereo_check_button);
|
||||
+ hw_check_button = gtk_check_button_new_with_label("Direct hardware access");
|
||||
+ gtk_signal_connect(GTK_OBJECT(hw_check_button), "toggled",
|
||||
+ GTK_SIGNAL_FUNC(hw_check_button_cb), hw_check_button);
|
||||
+ if (oss_cfg.stereo != -1)
|
||||
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(save3dse_check_button), TRUE);
|
||||
+ if (oss_cfg.hardware_access)
|
||||
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(hw_check_button), TRUE);
|
||||
+ if (getuid () != 0 || geteuid () != 0)
|
||||
+ gtk_widget_set_sensitive(hw_check_button, FALSE);
|
||||
+ switch(oss_get_3dse())
|
||||
+ {
|
||||
+ case 1:
|
||||
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stereo_check_button), TRUE);
|
||||
+ case 0:
|
||||
+ gtk_widget_set_sensitive(hw_check_button, FALSE);
|
||||
+ oss_cfg.hardware_access = FALSE;
|
||||
+ break;
|
||||
+ case -1:
|
||||
+ if (!oss_cfg.hardware_access)
|
||||
+ {
|
||||
+ gtk_widget_set_sensitive(stereo_check_button, FALSE);
|
||||
+ gtk_widget_set_sensitive(save3dse_check_button, FALSE);
|
||||
+ }
|
||||
+ else
|
||||
+ if(oss_hw_get_3dse())
|
||||
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stereo_check_button), TRUE);
|
||||
+ break;
|
||||
+ }
|
||||
+ gtk_table_attach_defaults(GTK_TABLE(stereo_table), stereo_check_button, 0, 1, 0, 1);
|
||||
+ gtk_widget_show(stereo_check_button);
|
||||
+ gtk_table_attach_defaults(GTK_TABLE(stereo_table), save3dse_check_button, 0, 1, 1, 2);
|
||||
+ gtk_widget_show(save3dse_check_button);
|
||||
+ gtk_table_attach_defaults(GTK_TABLE(stereo_table), hw_check_button, 0, 1, 2, 3);
|
||||
+ gtk_widget_show(hw_check_button);
|
||||
+ stereo_align_button = gtk_alignment_new(0.2, 0.5, 0, 0);
|
||||
+ gtk_container_add(GTK_CONTAINER(stereo_align_button), stereo_table);
|
||||
+ gtk_widget_show(stereo_align_button);
|
||||
+ stereo_label = gtk_label_new("Please note that not all sound cards support this feature.\n"
|
||||
+ "Supported: SoundBlaster 16, ViBRA, AWE32/64.");
|
||||
+ gtk_label_set_justify(GTK_LABEL(stereo_label), GTK_JUSTIFY_LEFT);
|
||||
+ gtk_misc_set_padding(GTK_MISC(stereo_label), 5, 5);
|
||||
+ gtk_widget_show(stereo_label);
|
||||
+ stereo_align_label = gtk_alignment_new(0, 0, 0, 0);
|
||||
+ gtk_container_add(GTK_CONTAINER(stereo_align_label), stereo_label);
|
||||
+ gtk_widget_show(stereo_align_label);
|
||||
+ gtk_box_pack_end(GTK_BOX(stereo_box), stereo_align_label, FALSE, FALSE, 0);
|
||||
+ gtk_box_pack_end(GTK_BOX(stereo_box), stereo_align_button, TRUE, FALSE, 0);
|
||||
+ gtk_container_add(GTK_CONTAINER(stereo_frame), stereo_box);
|
||||
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), stereo_frame, gtk_label_new("3DSE"));
|
||||
+
|
||||
bbox = gtk_hbutton_box_new();
|
||||
gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
|
||||
gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
|
||||
@@ -317,4 +506,5 @@ void oss_configure(void)
|
||||
gtk_box_pack_start(GTK_BOX(bbox), cancel, TRUE, TRUE, 0);
|
||||
|
||||
gtk_widget_show_all(configure_win);
|
||||
+ gtk_notebook_set_page(GTK_NOTEBOOK(notebook), 0);
|
||||
}
|
||||
--- xmms-1.2.11/Output/OSS/init.c.3dse 2001-03-08 06:49:47.000000000 +0100
|
||||
+++ xmms-1.2.11/Output/OSS/init.c 2007-11-18 20:51:57.000000000 +0100
|
||||
@@ -33,6 +33,8 @@ void oss_init(void)
|
||||
oss_cfg.use_alt_audio_device = FALSE;
|
||||
oss_cfg.alt_audio_device = NULL;
|
||||
oss_cfg.use_master=0;
|
||||
+ oss_cfg.stereo = -1; /* = 3dse setting not saved */
|
||||
+ oss_cfg.hardware_access = FALSE;
|
||||
|
||||
if ((cfgfile = xmms_cfg_open_default_file()))
|
||||
{
|
||||
@@ -45,6 +47,32 @@ void oss_init(void)
|
||||
xmms_cfg_read_string(cfgfile, "OSS", "alt_audio_device", &oss_cfg.alt_audio_device);
|
||||
xmms_cfg_read_boolean(cfgfile, "OSS", "use_alt_mixer_device", &oss_cfg.use_alt_mixer_device);
|
||||
xmms_cfg_read_string(cfgfile, "OSS", "alt_mixer_device", &oss_cfg.alt_mixer_device);
|
||||
+ xmms_cfg_read_int(cfgfile, "OSS", "stereo", &oss_cfg.stereo);
|
||||
+ xmms_cfg_read_boolean(cfgfile, "OSS", "hardware", &oss_cfg.hardware_access);
|
||||
xmms_cfg_free(cfgfile);
|
||||
}
|
||||
+ if (oss_cfg.hardware_access)
|
||||
+ if (initHardwareAccess() == -1)
|
||||
+ oss_cfg.hardware_access = FALSE;
|
||||
+
|
||||
+ if (oss_cfg.hardware_access)
|
||||
+ switch(oss_cfg.stereo)
|
||||
+ {
|
||||
+ case 0:
|
||||
+ oss_hw_set_3dse(0);
|
||||
+ break;
|
||||
+ case 1:
|
||||
+ oss_hw_set_3dse(1);
|
||||
+ break;
|
||||
+ }
|
||||
+ else
|
||||
+ switch(oss_cfg.stereo)
|
||||
+ {
|
||||
+ case 0:
|
||||
+ oss_set_3dse(0);
|
||||
+ break;
|
||||
+ case 1:
|
||||
+ oss_set_3dse(1);
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
--- xmms-1.2.11/Output/OSS/mixer.c.3dse 2001-06-16 15:30:35.000000000 +0200
|
||||
+++ xmms-1.2.11/Output/OSS/mixer.c 2007-11-18 20:51:57.000000000 +0100
|
||||
@@ -32,6 +32,10 @@ static char* get_mixer_device(void)
|
||||
return name;
|
||||
}
|
||||
|
||||
+#include <sys/io.h>
|
||||
+
|
||||
+static int mixer_reg = 0, mixer_data = 0;
|
||||
+
|
||||
void oss_get_volume(int *l, int *r)
|
||||
{
|
||||
int fd, v, cmd, devs;
|
||||
@@ -64,6 +68,156 @@ void oss_get_volume(int *l, int *r)
|
||||
}
|
||||
}
|
||||
|
||||
+int oss_set_3dse(int stat)
|
||||
+{
|
||||
+ int fd;
|
||||
+ gchar *devname;
|
||||
+
|
||||
+ if ((stat != 0) && (stat != 1))
|
||||
+ return -1;
|
||||
+
|
||||
+ if (oss_cfg.mixer_device > 0)
|
||||
+ devname = g_strdup_printf("/dev/mixer%d", oss_cfg.mixer_device);
|
||||
+ else
|
||||
+ devname = g_strdup("/dev/mixer");
|
||||
+ fd = open(devname, O_RDONLY);
|
||||
+ g_free(devname);
|
||||
+
|
||||
+ if (fd != -1)
|
||||
+ {
|
||||
+ if (ioctl(fd, SOUND_MIXER_3DSE, &stat) < 0)
|
||||
+ {
|
||||
+ close(fd);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ close(fd);
|
||||
+ return stat;
|
||||
+ }
|
||||
+ }
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+int oss_get_3dse(void)
|
||||
+{
|
||||
+ int fd, test_stat;
|
||||
+ gchar *devname;
|
||||
+
|
||||
+ if (oss_cfg.mixer_device > 0)
|
||||
+ devname = g_strdup_printf("/dev/mixer%d", oss_cfg.mixer_device);
|
||||
+ else
|
||||
+ devname = g_strdup("/dev/mixer");
|
||||
+ fd = open(devname, O_RDONLY);
|
||||
+ g_free(devname);
|
||||
+
|
||||
+ if (fd != -1)
|
||||
+ {
|
||||
+ test_stat = 2; /* code 2 will request status */
|
||||
+ if (ioctl(fd, SOUND_MIXER_3DSE, &test_stat) < 0)
|
||||
+ {
|
||||
+ close(fd);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ close(fd);
|
||||
+ return test_stat;
|
||||
+ }
|
||||
+ }
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+static void check_legal_mixer ()
|
||||
+{
|
||||
+ if (!mixer_reg || !mixer_data)
|
||||
+ {
|
||||
+ fprintf(stderr, "Illegal mixer settings...\n");
|
||||
+ exit(1);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void oss_hw_set_3dse(int stat)
|
||||
+{
|
||||
+ unsigned char b;
|
||||
+ check_legal_mixer ();
|
||||
+ switch(stat)
|
||||
+ {
|
||||
+ case 1:
|
||||
+ outb(AWE_3DSE, mixer_reg);
|
||||
+ b = inb(mixer_data);
|
||||
+ b |= 1;
|
||||
+ outb(b, mixer_data);
|
||||
+ break;
|
||||
+ case 0:
|
||||
+ outb(AWE_3DSE, mixer_reg);
|
||||
+ b = inb(mixer_data);
|
||||
+ b &= 0xff - 1;
|
||||
+ outb(b, mixer_data);
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+int oss_hw_get_3dse(void)
|
||||
+{
|
||||
+ unsigned char b;
|
||||
+ check_legal_mixer ();
|
||||
+ outb(AWE_3DSE, mixer_reg);
|
||||
+ b = inb(mixer_data);
|
||||
+ return (b & 1);
|
||||
+}
|
||||
+
|
||||
+int initHardwareAccess ()
|
||||
+{
|
||||
+ char *blasterEnv, *Aptr, *Mptr;
|
||||
+ int tmp, mixer_base = 0;
|
||||
+
|
||||
+ if ((blasterEnv = getenv ("BLASTER")))
|
||||
+ {
|
||||
+ Aptr = blasterEnv;
|
||||
+ while ((Aptr = strchr(Aptr, 'A')))
|
||||
+ if ((tmp = strtol(++Aptr, &Aptr, 16)))
|
||||
+ mixer_base = tmp;
|
||||
+ Mptr = blasterEnv;
|
||||
+ while ((Mptr = strchr(Mptr, 'M')))
|
||||
+ if ((tmp = strtol(++Mptr, &Mptr, 16)))
|
||||
+ mixer_base = tmp;
|
||||
+ }
|
||||
+ if (!mixer_base)
|
||||
+ {
|
||||
+ mixer_base = MIXER_BASE_DEFAULT;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ switch (mixer_base)
|
||||
+ {
|
||||
+ case 0x210:
|
||||
+ case 0x220:
|
||||
+ case 0x230:
|
||||
+ case 0x240:
|
||||
+ case 0x250:
|
||||
+ case 0x260:
|
||||
+ case 0x280:
|
||||
+ break;
|
||||
+ default:
|
||||
+ fprintf (stderr, "Illegal mixer base.\n");
|
||||
+ exit (1);
|
||||
+ }
|
||||
+ }
|
||||
+ mixer_reg = mixer_base + MIXER_REG_OFFSET;
|
||||
+ mixer_data = mixer_base + MIXER_DATA_OFFSET;
|
||||
+ if (getuid () == 0 && geteuid () == 0)
|
||||
+ {
|
||||
+ ioperm (mixer_reg, 1, 1);
|
||||
+ ioperm (mixer_data, 1, 1);
|
||||
+ return 0;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ return -1;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void oss_set_volume(int l, int r)
|
||||
{
|
||||
int fd, v, cmd, devs;
|
||||
--- xmms-1.2.11/Output/OSS/soundcard.h.3dse 2003-06-11 23:01:12.000000000 +0200
|
||||
+++ xmms-1.2.11/Output/OSS/soundcard.h 2007-11-18 20:51:57.000000000 +0100
|
||||
@@ -1151,8 +1151,8 @@ typedef unsigned char mixer_record[128];
|
||||
/*
|
||||
* Two ioctls for special souncard function (OSS/Free only)
|
||||
*/
|
||||
-#define SOUND_MIXER_AGC _SIOWR('M', 103, int)
|
||||
-#define SOUND_MIXER_3DSE _SIOWR('M', 104, int)
|
||||
+#define SOUND_MIXER_AGC __SIOWR('M', 103, int)
|
||||
+#define SOUND_MIXER_3DSE __SIOWR('M', 104, int)
|
||||
/*
|
||||
* The SOUND_MIXER_PRIVATE# commands can be redefined by low level drivers.
|
||||
* These features can be used when accessing device specific features.
|
|
@ -1,43 +0,0 @@
|
|||
--- xmms-1.2.11/xmms/bmp.c.CVE-2007-0653.0654 2006-07-16 15:40:04.000000000 +0200
|
||||
+++ xmms-1.2.11/xmms/bmp.c 2007-11-18 21:23:11.000000000 +0100
|
||||
@@ -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);
|
|
@ -1,10 +0,0 @@
|
|||
--- xmms-1.2.11/Input/mpg123/common.c~ 2007-11-18 20:37:41.000000000 +0100
|
||||
+++ xmms-1.2.11/Input/mpg123/common.c 2007-11-18 20:40:10.000000000 +0100
|
||||
@@ -274,6 +274,7 @@ static gboolean read_id3v2_tag(unsigned
|
||||
char *songname = mpg123_title;
|
||||
mpg123_title =
|
||||
mpg123_format_song_title(tag, mpg123_filename);
|
||||
+ if (filept)
|
||||
mpg123_ip.set_info(mpg123_title, mpg123_length,
|
||||
mpg123_bitrate * 1000,
|
||||
mpg123_frequency, mpg123_stereo);
|
|
@ -1,20 +0,0 @@
|
|||
--- a/Input/mikmod/drv_xmms.c 2003-05-19 23:22:06.000000000 +0200
|
||||
+++ b/Input/mikmod/drv_xmms.c 2012-11-16 18:52:41.264644767 +0100
|
||||
@@ -117,6 +117,10 @@
|
||||
return VC_Init();
|
||||
}
|
||||
|
||||
+static void xmms_CommandLine(CHAR * commandLine)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
MDRIVER drv_xmms =
|
||||
{
|
||||
NULL,
|
||||
@@ -126,5 +130,6 @@
|
||||
"xmms",
|
||||
NULL,
|
||||
#endif
|
||||
+ xmms_CommandLine, // Was missing
|
||||
xmms_IsThere,
|
||||
VC_SampleLoad,
|
|
@ -1,11 +0,0 @@
|
|||
--- xmms-1.2.10+cvs20060429/xmms/util.c.orig 2006-11-05 12:29:59.000000000 +0800
|
||||
+++ xmms-1.2.10+cvs20060429/xmms/util.c 2006-11-05 12:30:01.000000000 +0800
|
||||
@@ -175,7 +175,7 @@ GdkImage *create_dblsize_image(GdkImage
|
||||
* This needs to be optimized
|
||||
*/
|
||||
|
||||
- dblimg = gdk_image_new(GDK_IMAGE_NORMAL, gdk_visual_get_best(), img->width << 1, img->height << 1);
|
||||
+ dblimg = gdk_image_new(GDK_IMAGE_NORMAL, gdk_visual_get_best_with_depth(img->depth), img->width << 1, img->height << 1);
|
||||
if (dblimg->bpp == 1)
|
||||
{
|
||||
register guint8 *srcptr, *ptr, *ptr2, pix;
|
|
@ -1,35 +0,0 @@
|
|||
--- xmms/xmms.desktop 2002-02-11 23:15:56.000000000 +0000
|
||||
+++ xmms.desktop 2006-02-25 14:21:03.000000000 +0000
|
||||
@@ -1,21 +1,16 @@
|
||||
[Desktop Entry]
|
||||
Name=XMMS
|
||||
Comment=X Multimedia System
|
||||
-comment[az]=X Multimedya Sistemi
|
||||
-comment[ca]=Sistema Multimèdia per a X
|
||||
-comment[cs]=Multimediální pøehrávaè
|
||||
-comment[es]=Sistema Multimedia para X
|
||||
-comment[gl]=Sistema Multimedia para X
|
||||
-comment[hr]=X Multimedijski Sustav
|
||||
-comment[nn]=X Multimedia-system
|
||||
-comment[pt_BR]=X Multimedia System
|
||||
-comment[ro]=X MultiMedia Sistem
|
||||
-comment[th]=ÃкºÁÑŵÔÁÕà´Õº¹ X
|
||||
-comment[tr]=X Multimedya Sistem
|
||||
-comment[zh_TW]=X ¦h´CÅé¨t²Î
|
||||
-Encoding=Legacy-Mixed
|
||||
+Comment[es]=Sistema Multimedia para X
|
||||
+Comment[gl]=Sistema Multimedia para X
|
||||
+Comment[hr]=X Multimedijski Sustav
|
||||
+Comment[pt_BR]=X Multimedia System
|
||||
+Comment[ro]=X MultiMedia Sistem
|
||||
+Comment[tr]=X Multimedya Sistem
|
||||
+Encoding=UTF-8
|
||||
Exec=xmms
|
||||
-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
|
||||
+Icon=xmms
|
||||
Type=Application
|
||||
+Categories=Application;AudioVideo;
|
||||
+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=false
|
Binary file not shown.
Before Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
Before Width: | Height: | Size: 3.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 5.8 KiB |
|
@ -1,11 +0,0 @@
|
|||
post_install() {
|
||||
update-desktop-database -q
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install
|
||||
}
|
||||
|
||||
post_remove() {
|
||||
post_install
|
||||
}
|
Loading…
Reference in a new issue