|
|
|
@@ -0,0 +1,196 @@
|
|
|
|
|
diff -Naur xmmsmplayer-0.5_old/xmmsmplayer/common.c xmmsmplayer-0.5_new/xmmsmplayer/common.c
|
|
|
|
|
--- xmmsmplayer-0.5_old/xmmsmplayer/common.c 2003-05-20 15:21:16.000000000 +0100
|
|
|
|
|
+++ xmmsmplayer-0.5_new/xmmsmplayer/common.c 2005-02-25 14:58:46.191127339 +0000
|
|
|
|
|
@@ -14,6 +14,7 @@
|
|
|
|
|
xmms_cfg_read_boolean(cfg,"xmms-mplayer","idx",&(new_cfg->idx));
|
|
|
|
|
xmms_cfg_read_boolean(cfg,"xmms-mplayer","onewin",&(new_cfg->onewin));
|
|
|
|
|
xmms_cfg_read_boolean(cfg,"xmms-mplayer","xmmsaudio",&(new_cfg->xmmsaudio));
|
|
|
|
|
+ xmms_cfg_read_string(cfg,"xmms-mplayer","exts",&(new_cfg->exts));
|
|
|
|
|
xmms_cfg_read_string(cfg,"xmms-mplayer","extra",&(new_cfg->extra));
|
|
|
|
|
return new_cfg;
|
|
|
|
|
}
|
|
|
|
|
diff -Naur xmmsmplayer-0.5_old/xmmsmplayer/interface.c xmmsmplayer-0.5_new/xmmsmplayer/interface.c
|
|
|
|
|
--- xmmsmplayer-0.5_old/xmmsmplayer/interface.c 2004-03-30 15:24:18.000000000 +0100
|
|
|
|
|
+++ xmmsmplayer-0.5_new/xmmsmplayer/interface.c 2005-02-25 15:00:38.498443708 +0000
|
|
|
|
|
@@ -32,6 +32,7 @@
|
|
|
|
|
static GtkWidget *ao_esd;
|
|
|
|
|
static GtkWidget *ao_alsa;
|
|
|
|
|
static GtkWidget *ao_sdl;
|
|
|
|
|
+static GtkWidget *entry_exts;
|
|
|
|
|
static GtkWidget *entry_extra_opts;
|
|
|
|
|
|
|
|
|
|
static GtkWidget *mplayer_configure_win = NULL;
|
|
|
|
|
@@ -80,6 +81,7 @@
|
|
|
|
|
new_cfg.xmmsaudio=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_xmmsaudio));
|
|
|
|
|
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_xmmsaudio)))
|
|
|
|
|
new_cfg.ao=MPLAYER_AO_XMMS;
|
|
|
|
|
+ new_cfg.exts=gtk_entry_get_text(GTK_ENTRY(entry_exts));
|
|
|
|
|
new_cfg.extra=gtk_entry_get_text(GTK_ENTRY(entry_extra_opts));
|
|
|
|
|
|
|
|
|
|
cfg = xmms_cfg_open_default_file();
|
|
|
|
|
@@ -90,9 +92,12 @@
|
|
|
|
|
xmms_cfg_write_boolean(cfg,"xmms-mplayer","idx",new_cfg.idx);
|
|
|
|
|
xmms_cfg_write_boolean(cfg,"xmms-mplayer","onewin",new_cfg.onewin);
|
|
|
|
|
xmms_cfg_write_boolean(cfg,"xmms-mplayer","xmmsaudio",new_cfg.xmmsaudio);
|
|
|
|
|
+ xmms_cfg_write_string(cfg,"xmms-mplayer","exts",new_cfg.exts);
|
|
|
|
|
xmms_cfg_write_string(cfg,"xmms-mplayer","extra",new_cfg.extra);
|
|
|
|
|
xmms_cfg_write_default_file(cfg);
|
|
|
|
|
xmms_cfg_free(cfg);
|
|
|
|
|
+
|
|
|
|
|
+ mplayer_update_cfg();
|
|
|
|
|
|
|
|
|
|
gtk_widget_destroy(mplayer_configure_win);
|
|
|
|
|
mplayer_configure_win=NULL;
|
|
|
|
|
@@ -119,6 +124,7 @@
|
|
|
|
|
GtkWidget *label_other;
|
|
|
|
|
GtkWidget *scrolledwindow5;
|
|
|
|
|
GtkWidget *layout5;
|
|
|
|
|
+ GtkWidget *label_exts;
|
|
|
|
|
GtkWidget *label_extra_des;
|
|
|
|
|
GtkWidget *label_extra;
|
|
|
|
|
GtkWidget *btn_ok;
|
|
|
|
|
@@ -389,12 +395,30 @@
|
|
|
|
|
GTK_ADJUSTMENT (GTK_LAYOUT (layout5)->hadjustment)->step_increment = 10;
|
|
|
|
|
GTK_ADJUSTMENT (GTK_LAYOUT (layout5)->vadjustment)->step_increment = 10;
|
|
|
|
|
|
|
|
|
|
+ entry_exts = gtk_entry_new ();
|
|
|
|
|
+ gtk_widget_ref (entry_exts);
|
|
|
|
|
+ gtk_object_set_data_full (GTK_OBJECT (window1), "entry_exts", entry_exts,
|
|
|
|
|
+ (GtkDestroyNotify) gtk_widget_unref);
|
|
|
|
|
+ gtk_widget_show (entry_exts);
|
|
|
|
|
+ gtk_layout_put (GTK_LAYOUT (layout5), entry_exts, 40, 128);
|
|
|
|
|
+ gtk_widget_set_usize (entry_exts, 392, 24);
|
|
|
|
|
+
|
|
|
|
|
+ label_exts = gtk_label_new ("Specify the file types that you DON'T want\nthe plugin to play here. These must be\nseparated by spaces. Don't include the dots.");
|
|
|
|
|
+ gtk_widget_ref (label_exts);
|
|
|
|
|
+ gtk_object_set_data_full (GTK_OBJECT (window1), "label_exts", label_exts,
|
|
|
|
|
+ (GtkDestroyNotify) gtk_widget_unref);
|
|
|
|
|
+ gtk_widget_show (label_exts);
|
|
|
|
|
+ gtk_layout_put (GTK_LAYOUT (layout5), label_exts, 40, 48);
|
|
|
|
|
+ gtk_widget_set_usize (label_exts, 392, 64);
|
|
|
|
|
+ gtk_label_set_justify (GTK_LABEL (label_exts), GTK_JUSTIFY_LEFT);
|
|
|
|
|
+ gtk_misc_set_alignment (GTK_MISC (label_exts), 0.18, 1);
|
|
|
|
|
+
|
|
|
|
|
entry_extra_opts = gtk_entry_new ();
|
|
|
|
|
gtk_widget_ref (entry_extra_opts);
|
|
|
|
|
gtk_object_set_data_full (GTK_OBJECT (window1), "entry_extra_opts", entry_extra_opts,
|
|
|
|
|
(GtkDestroyNotify) gtk_widget_unref);
|
|
|
|
|
gtk_widget_show (entry_extra_opts);
|
|
|
|
|
- gtk_layout_put (GTK_LAYOUT (layout5), entry_extra_opts, 40, 192);
|
|
|
|
|
+ gtk_layout_put (GTK_LAYOUT (layout5), entry_extra_opts, 40, 224);
|
|
|
|
|
gtk_widget_set_usize (entry_extra_opts, 392, 24);
|
|
|
|
|
|
|
|
|
|
label_extra_des = gtk_label_new ("Extra options for mplayer can be added here.\nParsing is done based on spaces.\nQuotes and escapes are not recognised yet.");
|
|
|
|
|
@@ -403,7 +427,7 @@
|
|
|
|
|
(GtkDestroyNotify) gtk_widget_unref);
|
|
|
|
|
gtk_widget_show (label_extra_des);
|
|
|
|
|
gtk_layout_put (GTK_LAYOUT (layout5), label_extra_des, 40, 48);
|
|
|
|
|
- gtk_widget_set_usize (label_extra_des, 392, 128);
|
|
|
|
|
+ gtk_widget_set_usize (label_extra_des, 392, 160);
|
|
|
|
|
gtk_label_set_justify (GTK_LABEL (label_extra_des), GTK_JUSTIFY_LEFT);
|
|
|
|
|
gtk_misc_set_alignment (GTK_MISC (label_extra_des), 0.18, 1);
|
|
|
|
|
|
|
|
|
|
@@ -494,5 +518,6 @@
|
|
|
|
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ao_alsa), TRUE);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
+ gtk_entry_set_text(GTK_ENTRY(entry_exts),cfg->exts);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(entry_extra_opts),cfg->extra);
|
|
|
|
|
}
|
|
|
|
|
diff -Naur xmmsmplayer-0.5_old/xmmsmplayer/xmmsmplayer.c xmmsmplayer-0.5_new/xmmsmplayer/xmmsmplayer.c
|
|
|
|
|
--- xmmsmplayer-0.5_old/xmmsmplayer/xmmsmplayer.c 2003-09-28 22:18:51.000000000 +0100
|
|
|
|
|
+++ xmmsmplayer-0.5_new/xmmsmplayer/xmmsmplayer.c 2005-02-25 15:00:15.243312470 +0000
|
|
|
|
|
@@ -76,32 +76,41 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void mplayer_init(){
|
|
|
|
|
- /*Add read configure!! */
|
|
|
|
|
+ mplayer_update_cfg();
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
|
|
- /*mplayer_playing=0;*/
|
|
|
|
|
+void mplayer_update_cfg(){
|
|
|
|
|
+ mplayer_debugf("debug- reading configfile\n");
|
|
|
|
|
+ if (mplayer_current_cfg){
|
|
|
|
|
+ g_free(mplayer_current_cfg->exts);
|
|
|
|
|
+ g_free(mplayer_current_cfg->extra);
|
|
|
|
|
+ g_free(mplayer_current_cfg);
|
|
|
|
|
+ }
|
|
|
|
|
+ mplayer_current_cfg=mplayer_read_cfg();
|
|
|
|
|
}
|
|
|
|
|
+
|
|
|
|
|
int mplayer_is_our_file(char *filename){
|
|
|
|
|
gchar *ext;
|
|
|
|
|
ext = strrchr(filename, '.');
|
|
|
|
|
- if (ext){
|
|
|
|
|
- if((!strcasecmp(ext, ".mpg")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".mpeg")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".divx")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".qt")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".mov")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".mp2")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".mpa")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".dat")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".rm")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".swf")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".wma")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".wmv")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".wmp")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".asf")) ||
|
|
|
|
|
- (!strcasecmp(ext, ".avi"))
|
|
|
|
|
- ) return TRUE;
|
|
|
|
|
+ ext++;
|
|
|
|
|
+
|
|
|
|
|
+ char *tok;
|
|
|
|
|
+ char *exts = strdup(mplayer_current_cfg->exts);
|
|
|
|
|
+
|
|
|
|
|
+ strcpy(exts, mplayer_current_cfg->exts);
|
|
|
|
|
+ tok = strtok(exts, " ");
|
|
|
|
|
+
|
|
|
|
|
+ while (tok != NULL){
|
|
|
|
|
+ if (!strcasecmp(ext, tok)) {
|
|
|
|
|
+ free(exts);
|
|
|
|
|
+ return FALSE;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ tok = strtok(NULL, " ");
|
|
|
|
|
}
|
|
|
|
|
- return FALSE;
|
|
|
|
|
+
|
|
|
|
|
+ free(exts);
|
|
|
|
|
+ return TRUE;
|
|
|
|
|
}
|
|
|
|
|
void mplayer_play_file(char *filename){
|
|
|
|
|
pthread_attr_t tattr;
|
|
|
|
|
@@ -130,12 +139,6 @@
|
|
|
|
|
mplayer_current_info->rate,
|
|
|
|
|
mplayer_current_info->nch);
|
|
|
|
|
mplayer_debugf("debug-play-sent-info\n");
|
|
|
|
|
- mplayer_debugf("debug- reading configfile\n");
|
|
|
|
|
- if (mplayer_current_cfg){
|
|
|
|
|
- g_free(mplayer_current_cfg->extra);
|
|
|
|
|
- g_free(mplayer_current_cfg);
|
|
|
|
|
- }
|
|
|
|
|
- mplayer_current_cfg=mplayer_read_cfg();
|
|
|
|
|
if(mplayer_current_cfg->onewin &&(!mplayer_video)){
|
|
|
|
|
/* mplayer_video=gtk_window_new(GTK_WINDOW_DIALOG);
|
|
|
|
|
gtk_widget_set_usize(GTK_WIDGET(mplayer_video), 320, 240);
|
|
|
|
|
diff -Naur xmmsmplayer-0.5_old/xmmsmplayer/xmmsmplayer.h xmmsmplayer-0.5_new/xmmsmplayer/xmmsmplayer.h
|
|
|
|
|
--- xmmsmplayer-0.5_old/xmmsmplayer/xmmsmplayer.h 2003-05-30 23:19:11.000000000 +0100
|
|
|
|
|
+++ xmmsmplayer-0.5_new/xmmsmplayer/xmmsmplayer.h 2005-02-25 15:02:15.049381334 +0000
|
|
|
|
|
@@ -60,6 +60,7 @@
|
|
|
|
|
struct mplayer_cfg{
|
|
|
|
|
gint vo,ao;
|
|
|
|
|
gboolean zoom,framedrop,idx,onewin,xmmsaudio;
|
|
|
|
|
+ gchar *exts;
|
|
|
|
|
gchar *extra;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -79,6 +80,7 @@
|
|
|
|
|
gint mplayer_get_time();
|
|
|
|
|
void mplayer_get_song_info(char * filename, char ** title, int * length);
|
|
|
|
|
void mplayer_init();
|
|
|
|
|
+void mplayer_update_cfg();
|
|
|
|
|
InputPlugin *get_iplugin_info(void);
|
|
|
|
|
|
|
|
|
|
void on_button_ok_clicked (GtkButton *button, gpointer user_data);
|