[PATCH] Play AudioCD menu item

"Kazantsev Anatoly" <[email protected]> Fri, 28 Jan 2005 06:10:49 +0300
Newsgroups gmane.comp.multimedia.xmms.devel
Message-ID <[email protected]>
Hi!

I added new item to main pop-up menu - it's a "Play AudioCD" item.
And moved "Play File", "Play Directory", "Play Location" and "Play 
AudioCD"
to submenu - "Play"

_______________________________________________
xmms-devel mailing list
[email protected]
http://lists.xmms.org/mailman/listinfo/xmms-devel
play_audiocd_item.patch (text/x-patch, 2.6 KB)
diff -urN xmms-1.2.10-20050113cvs/xmms/main.c xmms-1.2.10-20050113cvs.cdplayitem/xmms/main.c
--- xmms-1.2.10-20050113cvs/xmms/main.c	2005-01-25 20:14:48.000000000 +0000
+++ xmms-1.2.10-20050113cvs.cdplayitem/xmms/main.c	2005-01-25 20:20:51.000000000 +0000
@@ -254,7 +254,7 @@
 enum
 {
 	MAINWIN_GENERAL_ABOUT, MAINWIN_GENERAL_PLAYFILE, MAINWIN_GENERAL_PLAYDIRECTORY,
-	MAINWIN_GENERAL_PLAYLOCATION, MAINWIN_GENERAL_FILEINFO,
+	MAINWIN_GENERAL_PLAYLOCATION, MAINWIN_GENERAL_PLAYAUDIOCD, MAINWIN_GENERAL_FILEINFO,
 	MAINWIN_GENERAL_SHOWMWIN, MAINWIN_GENERAL_SHOWPLWIN,
 	MAINWIN_GENERAL_SHOWEQWIN, MAINWIN_GENERAL_PREV, MAINWIN_GENERAL_PLAY,
 	MAINWIN_GENERAL_PAUSE, MAINWIN_GENERAL_STOP, MAINWIN_GENERAL_NEXT,
@@ -270,9 +270,11 @@
 {
 	{N_("/About XMMS"), NULL, mainwin_general_menu_callback, MAINWIN_GENERAL_ABOUT, "<Item>"},
 	{N_("/-"), NULL, NULL, 0, "<Separator>"},
-	{N_("/Play File"), "L", mainwin_general_menu_callback, MAINWIN_GENERAL_PLAYFILE, "<Item>"},
-	{N_("/Play Directory"), "<shift>L", mainwin_general_menu_callback, MAINWIN_GENERAL_PLAYDIRECTORY, "<Item>"},	
-	{N_("/Play Location"), "<control>L", mainwin_general_menu_callback, MAINWIN_GENERAL_PLAYLOCATION, "<Item>"},
+	{N_("/Play"), NULL, NULL, 0, "<Branch>"},
+	{N_("/Play/Play File"), "L", mainwin_general_menu_callback, MAINWIN_GENERAL_PLAYFILE, "<Item>"},
+	{N_("/Play/Play Directory"), "<shift>L", mainwin_general_menu_callback, MAINWIN_GENERAL_PLAYDIRECTORY, "<Item>"},	
+	{N_("/Play/Play Location"), "<control>L", mainwin_general_menu_callback, MAINWIN_GENERAL_PLAYLOCATION, "<Item>"},
+	{N_("/Play/Play AudioCD"), "<control>C", mainwin_general_menu_callback, MAINWIN_GENERAL_PLAYAUDIOCD, "<Item>"},
 	{N_("/View File Info"), "<control>3" , mainwin_general_menu_callback, MAINWIN_GENERAL_FILEINFO, "<Item>"},
 	{N_("/-"), NULL, NULL, 0, "<Separator>"},
 	{N_("/Main Window"), "<alt>W", mainwin_general_menu_callback, MAINWIN_GENERAL_SHOWMWIN, "<ToggleItem>"},
@@ -2518,6 +2520,20 @@
 	}
 }
 
+#ifndef CDDA_DIRECTORY
+# ifdef HAVE_SYS_CDIO_H
+#  ifdef __FreeBSD__
+#   define CDDA_DIRECTORY "/cdrom"
+#  elif defined __OpenBSD__
+#   define CDDA_DIRECTORY "/cdrom"
+#  else
+#   define CDDA_DIRECTORY "/cdrom/cdrom0"
+#  endif
+# else
+#   define CDDA_DIRECTORY "/mnt/cdrom"
+# endif
+#endif
+
 void mainwin_general_menu_callback(gpointer cb_data, guint action, GtkWidget * w)
 {
 	switch (action)
@@ -2534,6 +2550,9 @@
 	case MAINWIN_GENERAL_PLAYLOCATION:
 		mainwin_show_add_url_window();
 		break;
+	case MAINWIN_GENERAL_PLAYAUDIOCD:
+		mainwin_add_dir_handler(CDDA_DIRECTORY);
+		break;
 	case MAINWIN_GENERAL_FILEINFO:
 		playlist_fileinfo_current();
 		break;