diff -urP xmms-sid-0.8.0beta15/BMP-SID bmp-sid-0.8.0beta15.current/BMP-SID
--- xmms-sid-0.8.0beta15/BMP-SID	1970-01-01 01:00:00.000000000 +0100
+++ bmp-sid-0.8.0beta15.current/BMP-SID	2005-11-24 23:22:22.000000000 +0100
@@ -0,0 +1,23 @@
+
+BMP-SID port written by Giacomo Lozito aka 'city_hunter'
+--------------------------------------------------------
+
+To compile BMP-SID (plugin for Beep Media Player), simply
+give --enable-bmpsid at configure time.
+
+rev.0.02
+
+  - modified patches to adapt them to xmms-sid-0.8.0beta15
+
+
+rev.0.01
+
+  - modified Makefile.am and configure.in, added --enable-bmpsid option
+
+  when --enable-bmpsid is true...
+
+  - made code link to GTK+2 libraries
+  - adapted dialog boxes creation for GTK+2
+  - replaced gtk_text widgets with gtk_text_view and gtk_text_buffer for GTK+2
+  - converted some displayable string to utf8 for GTK+2
+  - made source code use bmp headers instead of xmms ones
diff -urP xmms-sid-0.8.0beta15/src/xmms-sid.c bmp-sid-0.8.0beta15.current/src/xmms-sid.c
--- xmms-sid-0.8.0beta15/src/xmms-sid.c	2005-11-09 01:50:56.000000000 +0100
+++ bmp-sid-0.8.0beta15.current/src/xmms-sid.c	2005-11-24 22:43:40.000000000 +0100
@@ -29,8 +29,13 @@
 
 #include <stdarg.h>
 
-#include <xmms/plugin.h>
-#include <xmms/util.h>
+#ifdef BUILD_FOR_BMP
+ #include <bmp/plugin.h>
+ #include <bmp/util.h>
+#else
+ #include <xmms/plugin.h>
+ #include <xmms/util.h>
+#endif
 
 #include <gdk/gdkkeysyms.h>
 #include <gtk/gtk.h>
@@ -743,7 +748,12 @@
 	}
 
 	/* Create the pop-up window */
-	xs_subctrl = gtk_window_new(GTK_WINDOW_DIALOG);
+	#ifdef BUILD_FOR_BMP
+	  xs_subctrl = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+	  gtk_window_set_type_hint (GTK_WINDOW(xs_subctrl), GDK_WINDOW_TYPE_HINT_DIALOG);
+	#else
+	  xs_subctrl = gtk_window_new (GTK_WINDOW_DIALOG);
+	#endif
 	gtk_widget_set_name(xs_subctrl, "xs_subctrl");
 	gtk_object_set_data(GTK_OBJECT(xs_subctrl), "xs_subctrl", xs_subctrl);
 
diff -urP xmms-sid-0.8.0beta15/src/xmms-sid.h bmp-sid-0.8.0beta15.current/src/xmms-sid.h
--- xmms-sid-0.8.0beta15/src/xmms-sid.h	2005-11-09 15:47:41.000000000 +0100
+++ bmp-sid-0.8.0beta15.current/src/xmms-sid.h	2005-11-24 22:46:24.000000000 +0100
@@ -40,7 +40,11 @@
 extern "C" {
 #endif
 
-#include <xmms/plugin.h>
+#ifdef BUILD_FOR_BMP
+ #include <bmp/plugin.h>
+#else
+ #include <xmms/plugin.h>
+#endif
 
 /*
  * Some constants and defines
@@ -99,7 +103,11 @@
 
 
 #define XS_CONFIG_IDENT		"XMMS-SID"	/* Configuration file identifier */
-#define XS_CONFIG_FILE		"/.xmms/xmms-sid"	/* Use this configfile if autocyrpe fails */
+#ifdef BUILD_FOR_BMP
+ #define XS_CONFIG_FILE		"/.bmp/xmms-sid"	/* Use this configfile if autocyrpe fails */
+#else
+ #define XS_CONFIG_FILE		"/.xmms/xmms-sid"	/* Use this configfile if autocyrpe fails */
+#endif
 
 #define XS_MIN_OVERSAMPLE	(2)		/* Minimum oversampling factor */
 #define XS_MAX_OVERSAMPLE	(8)		/* Maximum oversampling factor */
diff -urP xmms-sid-0.8.0beta15/src/xs_about.c bmp-sid-0.8.0beta15.current/src/xs_about.c
--- xmms-sid-0.8.0beta15/src/xs_about.c	2005-11-08 05:02:27.000000000 +0100
+++ bmp-sid-0.8.0beta15.current/src/xs_about.c	2005-11-24 22:55:17.000000000 +0100
@@ -57,7 +57,12 @@
 	}
 
 	/* No, create one ... */
-	xs_aboutwin = gtk_window_new(GTK_WINDOW_DIALOG);
+	#ifdef BUILD_FOR_BMP
+	  xs_aboutwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+	  gtk_window_set_type_hint (GTK_WINDOW(xs_aboutwin), GDK_WINDOW_TYPE_HINT_DIALOG);
+	#else
+	  xs_aboutwin = gtk_window_new (GTK_WINDOW_DIALOG);
+	#endif
 	gtk_widget_set_name(xs_aboutwin, "xs_aboutwin");
 	gtk_object_set_data(GTK_OBJECT(xs_aboutwin), "xs_aboutwin", xs_aboutwin);
 	gtk_window_set_title(GTK_WINDOW(xs_aboutwin), "About " PACKAGE_STRING);
@@ -108,7 +113,11 @@
 	gtk_container_set_border_width(GTK_CONTAINER(about_scrwin), 8);
 	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(about_scrwin), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
 
-	about_text = gtk_text_new(NULL, NULL);
+	#ifdef BUILD_FOR_BMP
+	  about_text = gtk_text_view_new();
+	#else
+	  about_text = gtk_text_new (NULL, NULL);
+	#endif
 	gtk_widget_set_name(about_text, "about_text");
 	gtk_widget_ref(about_text);
 	gtk_object_set_data_full(GTK_OBJECT(xs_aboutwin), "about_text", about_text,
@@ -116,7 +125,11 @@
 	gtk_widget_show(about_text);
 	gtk_container_add(GTK_CONTAINER(about_scrwin), about_text);
 	gtk_widget_set_usize(about_text, -2, 100);
-	gtk_text_insert(GTK_TEXT(about_text), NULL, NULL, NULL,
+	#ifdef BUILD_FOR_BMP
+	  gtk_text_buffer_set_text( GTK_TEXT_BUFFER(gtk_text_view_get_buffer(GTK_TEXT_VIEW(about_text))), g_locale_to_utf8(
+	#else
+	  gtk_text_insert (GTK_TEXT (about_text), NULL, NULL, NULL,
+	#endif
 			"\n"
 			"(C) Copyright 1999-2005\n"
 			"\tTecnic Software productions (TNSP)\n"
@@ -128,9 +141,12 @@
 			"libSIDPlay2 and reSID created by\n"
 			"\tSimon White, Dag Lem,\n" "\tMichael Schwendt and rest.\n" "\n"
 #endif
-			"Original XMMS-SID (v0.4) by\n" "\tWillem Monsuwe\n" "\n", -1);
-
-	gtk_text_insert(GTK_TEXT(about_text), NULL, NULL, NULL,
+#ifdef BUILD_FOR_BMP
+			"BMP-SID port written by\n"
+			"\tGiacomo Lozito aka 'city_hunter'\n"
+			"\n"
+#endif
+			"Original XMMS-SID (v0.4) by\n" "\tWillem Monsuwe\n" "\n"
 			"Greetings fly out to ...\n"
 			"\tEveryone at #Linux.Fi, #Fireball,\n"
 			"\t#TNSP and #c-64 of IRCNet, #xmms\n"
@@ -139,12 +155,15 @@
 			"\tDekadence, PWP, Byterapers,\n"
 			"\tmfx, Unique, Fairlight, iSO,\n"
 			"\tWrath Designs, Padua, Extend,\n"
-			"\tPHn, Creators, Cosine, tAAt,\n" "\tViruz, Crest and Skalaria.\n" "\n", -1);
-
-	gtk_text_insert(GTK_TEXT(about_text), NULL, NULL, NULL,
+			"\tPHn, Creators, Cosine, tAAt,\n" "\tViruz, Crest and Skalaria.\n" "\n"
 			"Special thanks\n"
 			"\tGerfried 'Alfie' Fuchs\n"
-			"\tAndreas 'mrsid' Varga\n" "\tAll the betatesters.\n" "\tAll the users!\n", -1);
+			"\tAndreas 'mrsid' Varga\n" "\tAll the betatesters.\n" "\tAll the users!\n",
+#ifdef BUILD_FOR_BMP
+			-1, NULL, NULL, NULL), -1);
+#else
+			-1);
+#endif
 
 	alignment6 = gtk_alignment_new(0.5, 0.5, 0.18, 1);
 	gtk_widget_set_name(alignment6, "alignment6");
diff -urP xmms-sid-0.8.0beta15/src/xs_config.c bmp-sid-0.8.0beta15.current/src/xs_config.c
--- xmms-sid-0.8.0beta15/src/xs_config.c	2005-11-09 20:24:15.000000000 +0100
+++ bmp-sid-0.8.0beta15.current/src/xs_config.c	2005-11-24 22:56:35.000000000 +0100
@@ -21,7 +21,11 @@
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 #include "xs_config.h"
-#include <xmms/configfile.h>
+#ifdef BUILD_FOR_BMP
+ #include <bmp/configfile.h>
+#else
+ #include <xmms/configfile.h>
+#endif
 #include <stdio.h>
 #include "xs_glade.h"
 #include "xs_interface.h"
diff -urP xmms-sid-0.8.0beta15/src/xs_fileinfo.c bmp-sid-0.8.0beta15.current/src/xs_fileinfo.c
--- xmms-sid-0.8.0beta15/src/xs_fileinfo.c	2005-11-07 10:50:44.000000000 +0100
+++ bmp-sid-0.8.0beta15.current/src/xs_fileinfo.c	2005-11-24 23:05:06.000000000 +0100
@@ -127,9 +127,12 @@
 
 	/* Freeze text-widget and delete the old text */
 	tmpText = LUW("fileinfo_sub_info");
-	gtk_text_freeze(GTK_TEXT(tmpText));
-	gtk_text_set_point(GTK_TEXT(tmpText), 0);
-	gtk_text_forward_delete(GTK_TEXT(tmpText), gtk_text_get_length(GTK_TEXT(tmpText)));
+	#ifdef BUILD_FOR_BMP
+	#else
+	  gtk_text_freeze(GTK_TEXT(tmpText));
+	  gtk_text_set_point(GTK_TEXT(tmpText), 0);
+	  gtk_text_forward_delete(GTK_TEXT(tmpText), gtk_text_get_length(GTK_TEXT(tmpText)));
+	#endif
 
 	if (xs_fileinfostil) {
 		/* Get subtune number */
@@ -143,7 +146,14 @@
 
 		/* Put in the new text, if available */
 		if (tmpNode->pInfo) {
-			gtk_text_insert(GTK_TEXT(tmpText), NULL, NULL, NULL, tmpNode->pInfo, strlen(tmpNode->pInfo));
+			#ifdef BUILD_FOR_BMP
+			  gsize pInfo_utf8_size;
+			  gchar *pInfo_utf8 = g_locale_to_utf8( tmpNode->pInfo , strlen(tmpNode->pInfo) , NULL , &pInfo_utf8_size , NULL );
+			  gtk_text_buffer_set_text( GTK_TEXT_BUFFER(gtk_text_view_get_buffer(GTK_TEXT_VIEW(tmpText))),
+			    pInfo_utf8, pInfo_utf8_size);
+			#else
+			  gtk_text_insert (GTK_TEXT (tmpText), NULL, NULL, NULL, tmpNode->pInfo, strlen(tmpNode->pInfo));
+			#endif
 		}
 	} else {
 		/* We don't have any information */
@@ -152,11 +162,19 @@
 	}
 
 	/* Get and set subtune information */
-	gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_sub_name")), subName ? subName : "");
-	gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_sub_author")), subAuthor ? subAuthor : "");
+	#ifdef BUILD_FOR_BMP
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_sub_name")), subName ? g_locale_to_utf8(subName,strlen(subName),NULL,NULL,NULL) : "");
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_sub_author")), subAuthor ? g_locale_to_utf8(subAuthor,strlen(subAuthor),NULL,NULL,NULL) : "");
+	#else
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_sub_name")), subName ? subName : "");
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_sub_author")), subAuthor ? subAuthor : "");
+	#endif
 
 	/* Un-freeze the widget */
-	gtk_text_thaw(GTK_TEXT(tmpText));
+	#ifdef BUILD_FOR_BMP
+	#else
+	  gtk_text_thaw(GTK_TEXT(tmpText));
+	#endif
 }
 
 
@@ -204,11 +222,17 @@
 
 
 	/* Set the generic song information */
-	gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_filename")), pcFilename);
-	gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_songname")), tmpInfo->sidName);
-	gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_composer")), tmpInfo->sidComposer);
-	gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_copyright")), tmpInfo->sidCopyright);
-
+	#ifdef BUILD_FOR_BMP
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_filename")), g_locale_to_utf8(pcFilename,strlen(pcFilename),NULL,NULL,NULL) );
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_songname")), g_locale_to_utf8(tmpInfo->sidName,strlen(tmpInfo->sidName),NULL,NULL,NULL) );
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_composer")), g_locale_to_utf8(tmpInfo->sidComposer,strlen(tmpInfo->sidComposer),NULL,NULL,NULL) );
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_copyright")), g_locale_to_utf8(tmpInfo->sidCopyright,strlen(tmpInfo->sidCopyright),NULL,NULL,NULL) );
+	#else
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_filename")), pcFilename);
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_songname")), tmpInfo->sidName);
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_composer")), tmpInfo->sidComposer);
+	  gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_copyright")), tmpInfo->sidCopyright);
+	#endif
 
 	/* Main tune - the pseudo tune */
 	tmpOptionMenu = LUW("fileinfo_sub_tune");
diff -urP xmms-sid-0.8.0beta15/src/xs_init.c bmp-sid-0.8.0beta15.current/src/xs_init.c
--- xmms-sid-0.8.0beta15/src/xs_init.c	2005-11-07 10:50:44.000000000 +0100
+++ bmp-sid-0.8.0beta15.current/src/xs_init.c	2005-11-24 23:08:24.000000000 +0100
@@ -28,7 +28,11 @@
 InputPlugin xs_plugin_ip = {
 	NULL,			/* FILLED BY XMMS */
 	NULL,			/* FILLED BY XMMS */
-	PACKAGE_STRING,		/* Plugin description */
+	#ifdef BUILD_FOR_BMP
+	 "BMP-SID Plugin",	/* Plugin description */
+	#else
+ 	 PACKAGE_STRING,	/* Plugin description */
+	#endif
 	xs_init,		/* Initialization */
 	xs_about,		/* Show aboutbox */
 	xs_configure,		/* Show/edit configuration */
diff -urP xmms-sid-0.8.0beta15/src/xs_interface.c bmp-sid-0.8.0beta15.current/src/xs_interface.c
--- xmms-sid-0.8.0beta15/src/xs_interface.c	2005-11-09 15:48:33.000000000 +0100
+++ bmp-sid-0.8.0beta15.current/src/xs_interface.c	2005-11-24 23:16:22.000000000 +0100
@@ -189,7 +189,12 @@
 
   tooltips = gtk_tooltips_new ();
 
-  xs_configwin = gtk_window_new (GTK_WINDOW_DIALOG);
+  #ifdef BUILD_FOR_BMP
+    xs_configwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+    gtk_window_set_type_hint (GTK_WINDOW(xs_configwin), GDK_WINDOW_TYPE_HINT_DIALOG);
+  #else
+    xs_configwin = gtk_window_new (GTK_WINDOW_DIALOG);
+  #endif
   gtk_widget_set_name (xs_configwin, "xs_configwin");
   gtk_object_set_data (GTK_OBJECT (xs_configwin), "xs_configwin", xs_configwin);
   gtk_window_set_title (GTK_WINDOW (xs_configwin), "XMMS-SID configuration");
@@ -1641,7 +1646,12 @@
   GtkWidget *fileinfo_sub_info;
   GtkWidget *button2;
 
-  xs_fileinfowin = gtk_window_new (GTK_WINDOW_DIALOG);
+  #ifdef BUILD_FOR_BMP
+    xs_fileinfowin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+    gtk_window_set_type_hint (GTK_WINDOW(xs_fileinfowin), GDK_WINDOW_TYPE_HINT_DIALOG);
+  #else
+    xs_fileinfowin = gtk_window_new (GTK_WINDOW_DIALOG);
+  #endif
   gtk_widget_set_name (xs_fileinfowin, "xs_fileinfowin");
   gtk_object_set_data (GTK_OBJECT (xs_fileinfowin), "xs_fileinfowin", xs_fileinfowin);
   gtk_widget_set_usize (xs_fileinfowin, 400, -2);
@@ -1926,7 +1936,11 @@
   gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 4);
   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
 
-  fileinfo_sub_info = gtk_text_new (NULL, NULL);
+  #ifdef BUILD_FOR_BMP
+    fileinfo_sub_info = gtk_text_view_new ();
+  #else
+    fileinfo_sub_info = gtk_text_new (NULL, NULL);
+  #endif
   gtk_widget_set_name (fileinfo_sub_info, "fileinfo_sub_info");
   gtk_widget_ref (fileinfo_sub_info);
   gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_sub_info", fileinfo_sub_info,
diff -urP xmms-sid-0.8.0beta15/src/xs_title.c bmp-sid-0.8.0beta15.current/src/xs_title.c
--- xmms-sid-0.8.0beta15/src/xs_title.c	2005-11-09 15:47:41.000000000 +0100
+++ bmp-sid-0.8.0beta15.current/src/xs_title.c	2005-11-24 23:19:24.000000000 +0100
@@ -23,7 +23,11 @@
 #include "xs_title.h"
 #include "xs_support.h"
 #include "xs_config.h"
-#include <xmms/titlestring.h>
+#ifdef BUILD_FOR_BMP
+ #include <bmp/titlestring.h>
+#else
+ #include <xmms/titlestring.h>
+#endif
 
 
 /*
