Re: [Rhythmbox-devel] No-burner support



Could you put this in bugzilla as a feature request?

Secondly, it seems to me that it would be more useful if it looked
at HAL and turned it off if the computer did not have have cd
burning capabilities.

sri


On Thu, Jun 08, 2006 at 03:33:00PM +0200, Tom Parker wrote:
> I'd been wondering for a while whether I could disable the CD-burning 
> support in Rhythmbox entirely, as I never use it (my system doesn't even 
> have a burner). As it turns out I couldn't, so I've written a patch to 
> support this. Default behaviour is as current, but with the 
> --disable-nautilus-burn flag given to configure, CD burning is switched 
> off entirely. As well as the patch enclosed here, you'll also need the 
> rhythmbox-ui.xml.in and sifter.pl (used to generate rhythmbox-ui.xml 
> from the .in with or without burner menu/popup options).
> 
> WFM, applies against current CVS Head. Hopefully of some interest to 
> other people.
> 
> Tom Parker
> -- 
> palfrey tevp net - http://tevp.net
> Illegitimus non carborundum

> Index: Makefile.am
> ===================================================================
> RCS file: /cvs/gnome/rhythmbox/Makefile.am,v
> retrieving revision 1.51
> diff -u -p -r1.51 Makefile.am
> --- Makefile.am	12 May 2006 16:04:44 -0000	1.51
> +++ Makefile.am	8 Jun 2006 13:19:21 -0000
> @@ -5,7 +5,7 @@ AUTOMAKE_OPTIONS = 1.7
>  DISTCHECK_CONFIGURE_FLAGS = --disable-schemas-install --enable-gtk-doc --disable-scrollkeeper
>  distuninstallcheck_listfiles = find . -type f -print | grep -v '^\./var/scrollkeeper'
>  
> -SUBDIRS = macros lib metadata player rhythmdb widgets sources iradio podcast \
> +SUBDIRS = macros lib metadata $(PLAYER_MODULE) rhythmdb widgets sources iradio podcast \
>  	daapsharing backends plugins bindings shell data po help tests doc
>  
>  EXTRA_DIST = 			\
> Index: configure.ac
> ===================================================================
> RCS file: /cvs/gnome/rhythmbox/configure.ac,v
> retrieving revision 1.245
> diff -u -p -r1.245 configure.ac
> --- configure.ac	8 Jun 2006 06:31:10 -0000	1.245
> +++ configure.ac	8 Jun 2006 13:19:22 -0000
> @@ -559,22 +559,34 @@ AM_CONDITIONAL(HAVE_LINUX_CDROM, test "x
>  
>  NCB_DRIVE_DOOR_VERSION=2.11.3
>  dnl CD burner support
> -PKG_CHECK_MODULES(LIBNAUTILUS_BURN, [libnautilus-burn >= $NCB_MIN_REQS], have_cd_burner=yes, have_cd_burner=no)
> -if test "x$have_cd_burner" = xno; then
> -   AC_MSG_ERROR([libnautilus-burn not found or too cold])	   
> -fi
> -AC_CHECK_LIB(nautilus-burn, nautilus_burn_drive_door_is_open,
> -    [AC_DEFINE([HAVE_BURN_DRIVE_DOOR], 1, [Have nautilus-burn function to check drive door state])],
> -    ,[$LIBNAUTILUS_BURN_LIBS $LIBNAUTILUS_BURN_CFLAGS])
> -AC_CHECK_LIB(nautilus-burn, nautilus_burn_drive_unref,
> -    [AC_DEFINE([HAVE_BURN_DRIVE_UNREF], 1, [Have nautilus-burn 2.13 drive unref function])],
> -    ,[$LIBNAUTILUS_BURN_LIBS $LIBNAUTILUS_BURN_CFLAGS])
> -AC_CHECK_LIB(nautilus-burn, nautilus_burn_drive_new_from_path,
> -    [AC_DEFINE([HAVE_BURN_DRIVE_NEW_FROM_PATH], 1, [Have nautilus-burn 2.13 drive new_from_path function])],
> -    ,[$LIBNAUTILUS_BURN_LIBS $LIBNAUTILUS_BURN_CFLAGS])
> -AC_CHECK_LIB(nautilus-burn, nautilus_burn_drive_get_write_speeds,
> -    [AC_DEFINE([HAVE_BURN_DRIVE_GET_WRITE_SPEEDS], 1, [Have nautilus-burn 2.13 drive get_write_speeds])],
> -    ,[$LIBNAUTILUS_BURN_LIBS $LIBNAUTILUS_BURN_CFLAGS])
> +AC_ARG_ENABLE(nautilus-burn,
> +	      AC_HELP_STRING([--disable-nautilus-burn],
> +			     [Disable cd burner support in rhythmbox]))
> +if test x"$enable_nautilus_burn" != xno; then
> +	PKG_CHECK_MODULES(LIBNAUTILUS_BURN, [libnautilus-burn >= $NCB_MIN_REQS], have_cd_burner=yes, have_cd_burner=no)
> +	if test "x$have_cd_burner" = xyes; then
> +		AC_CHECK_LIB(nautilus-burn, nautilus_burn_drive_door_is_open,
> +			[AC_DEFINE([HAVE_BURN_DRIVE_DOOR], 1, [Have nautilus-burn function to check drive door state])],
> +			,[$LIBNAUTILUS_BURN_LIBS $LIBNAUTILUS_BURN_CFLAGS])
> +		AC_CHECK_LIB(nautilus-burn, nautilus_burn_drive_unref,
> +			[AC_DEFINE([HAVE_BURN_DRIVE_UNREF], 1, [Have nautilus-burn 2.13 drive unref function])],
> +			,[$LIBNAUTILUS_BURN_LIBS $LIBNAUTILUS_BURN_CFLAGS])
> +		AC_CHECK_LIB(nautilus-burn, nautilus_burn_drive_new_from_path,
> +			[AC_DEFINE([HAVE_BURN_DRIVE_NEW_FROM_PATH], 1, [Have nautilus-burn 2.13 drive new_from_path function])],
> +			,[$LIBNAUTILUS_BURN_LIBS $LIBNAUTILUS_BURN_CFLAGS])
> +		AC_CHECK_LIB(nautilus-burn, nautilus_burn_drive_get_write_speeds,
> +			[AC_DEFINE([HAVE_BURN_DRIVE_GET_WRITE_SPEEDS], 1, [Have nautilus-burn 2.13 drive get_write_speeds])],
> +			,[$LIBNAUTILUS_BURN_LIBS $LIBNAUTILUS_BURN_CFLAGS])
> +		AC_DEFINE(HAVE_NAUTILUS_BURN, 1, [defined if you have nautilus-burn])
> +		PLAYER_MODULE=player
> +	else	
> +		AC_MSG_ERROR([libnautilus-burn not found or too cold])	   
> +	fi
> +else
> +	PLAYER_MODULE=
> +fi	
> +AC_SUBST(PLAYER_MODULE)
> +AM_CONDITIONAL(HAVE_NAUTILUS_BURN, test "x$enable_nautilus_burn" != "xno")
>  
>  AC_SUBST(CFLAGS)
>  AC_SUBST(LDFLAGS)
> 
> @@ -944,7 +955,11 @@ fi
>  if test x"${with_rhythmdb_debug}" != x0; then
>  	AC_MSG_NOTICE([** RhythmDB sanity checking enabled (may be slow!)])
>  fi
> -
> +if test x"$enable_nautilus_burn" = xyes; then
> +        AC_MSG_NOTICE([** CD burning is enabled])
> +else
> +	AC_MSG_NOTICE([   CD burning is disabled])
> +fi
>  
>  if test x"$enable_tag_writing" = xyes; then
>          AC_MSG_NOTICE([** Tag writing is enabled - USE AT YOUR OWN RISK])
> Index: data/ui/Makefile.am
> ===================================================================
> RCS file: /cvs/gnome/rhythmbox/data/ui/Makefile.am,v
> retrieving revision 1.17
> diff -u -p -r1.17 Makefile.am
> --- data/ui/Makefile.am	25 May 2006 07:20:46 -0000	1.17
> +++ data/ui/Makefile.am	8 Jun 2006 13:19:22 -0000
> @@ -3,5 +3,9 @@
>  uixmldir = $(pkgdatadir)
>  uixml_DATA = rhythmbox-ui.xml ipod-ui.xml daap-ui.xml generic-player-ui.xml
>  
> -EXTRA_DIST = rhythmbox-ui.xml ipod-ui.xml daap-ui.xml generic-player-ui.xml
> +EXTRA_DIST = rhythmbox-ui.xml.in ipod-ui.xml daap-ui.xml generic-player-ui.xml
>  
> +export
> +
> +rhythmbox-ui.xml: rhythmbox-ui.xml.in Makefile sifter.pl
> +	./sifter.pl $< $@
> Index: player/rb-recorder-gst.c
> ===================================================================
> RCS file: /cvs/gnome/rhythmbox/player/rb-recorder-gst.c,v
> retrieving revision 1.26
> diff -u -p -r1.26 rb-recorder-gst.c
> --- player/rb-recorder-gst.c	2 Jun 2006 05:58:18 -0000	1.26
> +++ player/rb-recorder-gst.c	8 Jun 2006 13:19:22 -0000
> @@ -100,7 +100,8 @@ struct _RBRecorderPrivate {
>          double      progress;
>          GList      *tracks;
>  
> +#ifdef HAVE_NAUTILUS_BURN
>          NautilusBurnDrive    *drive;
>          NautilusBurnRecorder *recorder;
>  
>          gboolean    playing;
> 
> Index: shell/Makefile.am
> ===================================================================
> RCS file: /cvs/gnome/rhythmbox/shell/Makefile.am,v
> retrieving revision 1.83
> diff -u -p -r1.83 Makefile.am
> --- shell/Makefile.am	14 May 2006 00:00:55 -0000	1.83
> +++ shell/Makefile.am	8 Jun 2006 13:19:22 -0000
> @@ -100,13 +100,16 @@ rhythmbox_LDADD =					\
>  	$(top_builddir)/sources/libsourcesimpl.la	\
>  	$(top_builddir)/iradio/librbiradio.la	        \
>  	$(top_builddir)/podcast/librbpodcast.la	        \
> -	$(top_builddir)/player/librbplayer.la		\
>  	$(top_builddir)/metadata/librbmetadata.la	\
>  	$(top_builddir)/widgets/librbwidgets.la         \
>  	$(top_builddir)/rhythmdb/librhythmdb.la         \
>  	$(top_builddir)/backends/librbbackends.la	\
>  	$(top_builddir)/plugins/librbplugins.la		\
>  	$(top_builddir)/lib/librb.la
> +
> +if HAVE_NAUTILUS_BURN
> +rhythmbox_LDADD += $(top_builddir)/player/librbplayer.la
> +endif
>  
>  if USE_DAAP
>  INCLUDES += -I$(top_srcdir)/daapsharing
> Index: shell/main.c
> ===================================================================
> RCS file: /cvs/gnome/rhythmbox/shell/main.c,v
> retrieving revision 1.98
> diff -u -p -r1.98 main.c
> --- shell/main.c	30 May 2006 13:47:16 -0000	1.98
> +++ shell/main.c	8 Jun 2006 13:19:22 -0000
> @@ -73,6 +73,7 @@
>  #include <dbus/dbus-glib-lowlevel.h>
>  #endif
>  
> +#ifdef HAVE_NAUTILUS_BURN
>  #include <nautilus-burn-drive.h>
>  #ifndef NAUTILUS_BURN_CHECK_VERSION 	 
>  #define NAUTILUS_BURN_CHECK_VERSION(a,b,c) FALSE 	 
> @@ -81,6 +82,13 @@
>  #if NAUTILUS_BURN_CHECK_VERSION(2,15,3)
>  #include <nautilus-burn.h>
>  #endif
> +
> +#else // !HAVE_NAUTILUS_BURN
> +#ifndef NAUTILUS_BURN_CHECK_VERSION 	 
> +#define NAUTILUS_BURN_CHECK_VERSION(a,b,c) FALSE 	 
> +#endif
> +
> +#endif // HAVE_NAUTILUS_BURN
>  
>  static gboolean debug           = FALSE;
>  static char *debug_match        = NULL;
> Index: shell/rb-playlist-manager.c
> ===================================================================
> RCS file: /cvs/gnome/rhythmbox/shell/rb-playlist-manager.c,v
> retrieving revision 1.107
> diff -u -p -r1.107 rb-playlist-manager.c
> --- shell/rb-playlist-manager.c	7 Jun 2006 13:10:39 -0000	1.107
> +++ shell/rb-playlist-manager.c	8 Jun 2006 13:19:22 -0000
> @@ -70,8 +70,10 @@ static void rb_playlist_manager_cmd_load
>  						   RBPlaylistManager *mgr);
>  static void rb_playlist_manager_cmd_save_playlist (GtkAction *action,
>  						   RBPlaylistManager *mgr);
> +#ifdef HAVE_NAUTILUS_BURN
>  static void rb_playlist_manager_cmd_burn_playlist (GtkAction *action,
>  						   RBPlaylistManager *mgr);
> +#endif						   
>  static void rb_playlist_manager_cmd_new_playlist (GtkAction *action,
>  						  RBPlaylistManager *mgr);
>  static void rb_playlist_manager_cmd_new_automatic_playlist (GtkAction *action,
> @@ -144,9 +146,11 @@ static GtkActionEntry rb_playlist_manage
>  	{ "MusicPlaylistSavePlaylist", GTK_STOCK_SAVE_AS, N_("_Save to File..."), NULL,
>  	  N_("Save a playlist to a file"),
>  	  G_CALLBACK (rb_playlist_manager_cmd_save_playlist) },
> +#ifdef HAVE_NAUTILUS_BURN
>  	{ "MusicPlaylistBurnPlaylist", GTK_STOCK_CDROM, N_("_Create Audio CD..."), NULL,
>  	  N_("Create an audio CD from playlist"),
>  	  G_CALLBACK (rb_playlist_manager_cmd_burn_playlist) },
> +#endif  
>  	{ "MusicPlaylistRenamePlaylist", NULL, N_("_Rename"), NULL,
>  	  N_("Rename playlist"),
>  	  G_CALLBACK (rb_playlist_manager_cmd_rename_playlist) },
> @@ -314,12 +318,16 @@ static void
>  rb_playlist_manager_playlist_entries_changed (GtkTreeModel *model, RhythmDBEntry *entry, RBPlaylistManager *mgr)
>  {
>  	int num_tracks;
> +#ifdef HAVE_NAUTILUS_BURN
>  	GtkAction *action;
> +#endif	
>  
>  	num_tracks = gtk_tree_model_iter_n_children (model, NULL);
>  
> +#ifdef HAVE_NAUTILUS_BURN
>  	action = gtk_action_group_get_action (mgr->priv->actiongroup, "MusicPlaylistBurnPlaylist");
>  	gtk_action_set_sensitive (action, (num_tracks > 0));
> +#endif	
>  }
>  
>  static void
> @@ -391,6 +399,7 @@ rb_playlist_manager_set_source (RBPlayli
>  					      "MusicPlaylistRenamePlaylist");
>  	gtk_action_set_visible (action, can_rename);
>  
> +#ifdef HAVE_NAUTILUS_BURN
>  	action = gtk_action_group_get_action (mgr->priv->actiongroup,
>  					      "MusicPlaylistBurnPlaylist");
>  	if (playlist_active && rb_recorder_enabled ()) {
> @@ -413,6 +422,7 @@ rb_playlist_manager_set_source (RBPlayli
>  	} else {
>  		gtk_action_set_visible (action, FALSE);
>  	}
> +#endif	
>  }
>  
>  static void
> @@ -1401,12 +1411,14 @@ rb_playlist_manager_cmd_save_playlist (G
>  	g_object_unref (G_OBJECT (xml));
>  }
>  
> +#ifdef HAVE_NAUTILUS_BURN
>  static void
>  rb_playlist_manager_cmd_burn_playlist (GtkAction *action,
>  				       RBPlaylistManager *mgr)
>  {
>  	rb_playlist_source_burn_playlist (RB_PLAYLIST_SOURCE (mgr->priv->selected_source));
>  }
> +#endif
>  
>  /**
>   * rb_playlist_manager_get_playlists
> Index: shell/rb-removable-media-manager.c
> ===================================================================
> RCS file: /cvs/gnome/rhythmbox/shell/rb-removable-media-manager.c,v
> retrieving revision 1.28
> diff -u -p -r1.28 rb-removable-media-manager.c
> --- shell/rb-removable-media-manager.c	2 Jun 2006 22:27:46 -0000	1.28
> +++ shell/rb-removable-media-manager.c	8 Jun 2006 13:19:22 -0000
> @@ -27,6 +27,7 @@
>  #include <gtk/gtk.h>
>  
>  #include <libgnomevfs/gnome-vfs.h>
> +#ifdef HAVE_NAUTILUS_BURN
>  
>  #include <nautilus-burn-drive.h>
>  #ifndef NAUTILUS_BURN_CHECK_VERSION 	 
> @@ -37,6 +38,12 @@
>  #include <nautilus-burn.h>
>  #endif
>  
> +#else // !HAVE_NAUTILUS_BURN
> +#ifndef NAUTILUS_BURN_CHECK_VERSION 	 
> +#define NAUTILUS_BURN_CHECK_VERSION(a,b,c) FALSE 	 
> +#endif
> +#endif
> +
>  #include "rb-removable-media-manager.h"
>  #include "rb-library-source.h"
>  #include "rb-sourcelist.h"
> @@ -371,7 +379,9 @@ typedef struct
>  	gboolean removed;
>  	gboolean tray_opened;
>  	RBRemovableMediaManager *manager;
> +#ifdef HAVE_NAUTILUS_BURN
>  	NautilusBurnDrive *drive;
> +#endif	
>  } RbCdDriveInfo;
>  
>  #ifdef HAVE_BURN_DRIVE_DOOR
> @@ -406,6 +416,7 @@ gboolean poll_tray_opened (RbCdDriveInfo
>  }
>  #endif
>  
> +#ifdef HAVE_NAUTILUS_BURN
>  static
>  void end_cd_drive_monitor (RbCdDriveInfo *info, RBRemovableMediaManager *manager)
>  {
> @@ -466,8 +477,10 @@ get_nautilus_burn_drive_for_path (const 
>  	return path_drive;
>  #endif
>  }
> +#endif
>  #endif /* NAUTILUS_BURN < 2.15.3 */
>  
> +#ifdef HAVE_NAUTILUS_BURN
>  static char *
>  split_drive_from_cdda_uri (const char *uri)
>  {
> @@ -538,17 +551,20 @@ rb_removable_media_manager_playing_uri_c
>  	g_free (priv->playing_uri);
>  	priv->playing_uri = (uri) ? g_strdup (uri) : NULL;
>  }
> +#endif
>  
>  	
>  static gboolean
>  rb_removable_media_manager_load_media (RBRemovableMediaManager *manager)
>  {
> -	RBRemovableMediaManagerPrivate *priv = REMOVABLE_MEDIA_MANAGER_GET_PRIVATE (manager);
>  	GnomeVFSVolumeMonitor *monitor = gnome_vfs_get_volume_monitor ();
> +#ifdef HAVE_NAUTILUS_BURN
> +	RBRemovableMediaManagerPrivate *priv = REMOVABLE_MEDIA_MANAGER_GET_PRIVATE (manager);
>  #if !NAUTILUS_BURN_CHECK_VERSION(2,15,3)
>  	GList *drives;
>  #endif
>  	GObject *shell_player;
> +#endif	
>  
>  	/*
>  	 * Monitor new (un)mounted file systems to look for new media
> @@ -568,6 +584,7 @@ rb_removable_media_manager_load_media (R
>  			  G_CALLBACK (rb_removable_media_manager_volume_unmounted_cb), 
>  			  manager);
>  
> +#ifdef HAVE_NAUTILUS_BURN
>  	/*
>  	 * Monitor all cd drives for inserted audio cds
>  	 *
> @@ -586,6 +603,7 @@ rb_removable_media_manager_load_media (R
>  	g_signal_connect (shell_player, "playing-uri-changed",
>  			  G_CALLBACK (rb_removable_media_manager_playing_uri_changed_cb),
>  			  manager);
> +#endif			  
>  
>  	return FALSE;
>  }
> @@ -819,6 +837,7 @@ rb_removable_media_manager_unmount_volum
>  	rb_removable_media_manager_unmount_volume (manager, volume);
>  }
>  
> +#ifdef HAVE_NAUTILUS_BURN
>  #if !NAUTILUS_BURN_CHECK_VERSION(2,15,3)
>  static const char *
>  nautilus_burn_drive_get_device (NautilusBurnDrive *drive)
> @@ -828,6 +847,7 @@ nautilus_burn_drive_get_device (Nautilus
>  	return drive->device;
>  }
>  #endif
> +#endif
>  
>  void
>  rb_removable_media_manager_scan (RBRemovableMediaManager *manager)
> @@ -862,6 +882,7 @@ rb_removable_media_manager_scan (RBRemov
>  	}
>  	g_list_free (list);
>  
> +#ifdef HAVE_NAUTILUS_BURN
>  	/* scan cd drives */
>  #if NAUTILUS_BURN_CHECK_VERSION(2,15,3)
>  	list = nautilus_burn_drive_monitor_get_drives (nautilus_burn_get_drive_monitor ());
> @@ -878,6 +899,7 @@ rb_removable_media_manager_scan (RBRemov
>  		}
>  	}
>  	g_list_free (list);
> +#endif	
>  }
>  
>  
> Index: sources/Makefile.am
> ===================================================================
> RCS file: /cvs/gnome/rhythmbox/sources/Makefile.am,v
> retrieving revision 1.41
> diff -u -p -r1.41 Makefile.am
> --- sources/Makefile.am	27 May 2006 04:30:50 -0000	1.41
> +++ sources/Makefile.am	8 Jun 2006 13:19:22 -0000
> @@ -20,8 +20,6 @@ libsourcesimpl_la_SOURCES =		\
>  	rb-removable-media-source.h	\
>  	rb-audiocd-source.c		\
>  	rb-audiocd-source.h		\
> -	rb-playlist-source-recorder.c   \
> -	rb-playlist-source-recorder.h	\
>  	rb-playlist-source.c            \
>  	rb-playlist-source.h		\
>  	rb-playlist-xml.h		\
> @@ -70,6 +68,11 @@ if USE_DAAP
>  libsourcesimpl_la_SOURCES += $(daap_files)
>  endif
>  
> +if HAVE_NAUTILUS_BURN
> +libsourcesimpl_la_SOURCES += rb-playlist-source-recorder.c   \
> +	rb-playlist-source-recorder.h
> +endif
> +	
>  if USE_LIBSOUP
>  INCLUDES += $(SOUP_CFLAGS)
>  endif
> Index: sources/rb-playlist-source.c
> ===================================================================
> RCS file: /cvs/gnome/rhythmbox/sources/rb-playlist-source.c,v
> retrieving revision 1.118
> diff -u -p -r1.118 rb-playlist-source.c
> --- sources/rb-playlist-source.c	25 May 2006 07:20:48 -0000	1.118
> +++ sources/rb-playlist-source.c	8 Jun 2006 13:19:22 -0000
> @@ -500,6 +500,7 @@ rb_playlist_source_save_playlist (RBPlay
>  				 "%s", error->message);
>  }
>  
> +#ifdef HAVE_NAUTILUS_BURN
>  static gboolean
>  burn_playlist_iter_func (GtkTreeModel *model, GtkTreeIter *iter, char **uri, char **artist, char **title, gulong *duration)
>  {
> @@ -545,6 +546,7 @@ rb_playlist_source_burn_playlist (RBPlay
>  							  GTK_TREE_MODEL (source->priv->model),
>  							  burn_playlist_iter_func,
>  							  &error);
> +							  
>  	if (! res) {
>  		rb_error_dialog (GTK_WINDOW (parent),
>  				 _("Unable to create audio CD"),
> @@ -563,6 +565,7 @@ rb_playlist_source_burn_playlist (RBPlay
>  
>  	gtk_widget_show (recorder);
>  }
> +#endif
>  
>  /* Adapted from yelp-toc-pager.c */
>  static xmlChar *

> <ui>
>   <menubar name="MenuBar">
>     <menu name="MusicMenu" action="Music">  
>       <menuitem name="MusicImportFileMenu" action="MusicImportFile"/>
>       <menuitem name="MusicImportFolderMenu" action="MusicImportFolder"/>
>       <separator/>
>       <menuitem name="MusicImportCD" action="MusicImportCD"/>
>       <menuitem name="MusicScanMedia" action="MusicScanMedia"/>
>       <separator/>
>       <menu name="PlaylistMenu" action="Playlist">
> 	<menuitem name="MusicPlaylistNewPlaylistMenu" action="MusicPlaylistNewPlaylist"/>
> 	<menuitem name="MusicPlaylistNewAutomaticPlaylistMenu" action="MusicPlaylistNewAutomaticPlaylist"/>
> 	<menuitem name="MusicPlaylistLoadPlaylistMenu" action="MusicPlaylistLoadPlaylist"/>
> 	<menuitem name="MusicPlaylistSavePlaylistMenu" action="MusicPlaylistSavePlaylist"/>
> #HAVE_NAUTILUS_BURN 	<menuitem name="MusicPlaylistBurnPlaylistMenu" action="MusicPlaylistBurnPlaylist"/>
> 	<menuitem name="MusicPlaylistEditAutoPlaylistMenu" action="EditAutomaticPlaylist"/>
> 	<separator name="MusicPlaylistSeparator1"/>
> 	<menuitem name="MusicPlaylistDeletePlaylistMenu" action="MusicPlaylistDeletePlaylist"/>
>       </menu>
>       <menuitem name="MusicNewInternetRadioStationMenu" action="MusicNewInternetRadioStation"/>
>       <menuitem name="MusicNewPodcastMenu" action="MusicNewPodcast"/>
>       <separator/>
>       <menuitem name="MusicPropertiesMenu" action="MusicProperties"/>
>       <separator/>
>       <menuitem name="MusicClose" action="MusicClose"/>
>       <menuitem name="MusicQuit" action="MusicQuit"/>
>     </menu>
> 
>     <menu name="EditMenu" action="Edit">
>       <menuitem name="EditCutMenu" action="EditCut"/>
>       <menuitem name="EditCopyMenu" action="EditCopy"/>
>       <menuitem name="EditPasteMenu" action="EditPaste"/>
>       <menuitem name="EditDeleteMenu" action="EditDelete"/>
>       <separator/> 
>       <menuitem name="EditSelectAllMenu" action="EditSelectAll"/>
>       <menuitem name="EditSelectNoneMenu" action="EditSelectNone"/>
>       <separator/> 
>       <menuitem name="EditAddToQueueMenu" action="AddToQueue"/>
>       <menu name="EditPlaylistAddMenu" action="EditPlaylistAdd">
>         <menuitem name="EditPlaylistAddNew" action="EditPlaylistAddNew"/>
>         <separator/> 
>         <placeholder name="EditPlaylistAddPlaceholder"/>
>       </menu>
>       <separator/> 
>       <menuitem name="EditMovetoTrash" action="EditMovetoTrash"/>
>       <separator/>
>       <menuitem name="EditPluginsMenu" action="EditPlugins"/> 
>       <menuitem name="EditPreferencesMenu" action="EditPreferences"/> 
>     </menu>
> 
>     <menu name="ViewMenu" action="View">
>       <menuitem name="ViewSmallDisplayMenu" action="ViewSmallDisplay"/>
>       <menuitem name="ViewPartyModeMenu" action="ViewPartyMode"/>
>       <separator name="ViewSep1"/>
>       <menuitem name="ViewSidePaneMenu" action="ViewSidePane"/>
>       <menuitem name="ViewQueueAsSidebarMenu" action="ViewQueueAsSidebar"/>
>       <menuitem name="ViewBrowserMenu" action="ViewBrowser"/>
>       <menuitem name="ViewStatusbarMenu" action="ViewStatusbar"/>
>       <menuitem name="ViewToolbarMenu" action="ViewToolbar"/>
>       <separator name="ViewSep2"/>
>       <menuitem name="ViewAllMenu" action="ViewAll"/>
>       <separator name="ViewSep3"/>
>       <menuitem name="ViewJumpToPlayingMenu" action="ViewJumpToPlaying"/>
>     </menu>
> 
>     <menu name="ToolsMenu" action="Tools">
>       <placeholder name="ToolsOps_1" />
>       <separator/>
>       <placeholder name="ToolsOps_2" />
>       <separator/>
>       <placeholder name="ToolsOps_3" />
>       <separator/>
>       <placeholder name="ToolsOps_4" />
>       <separator/>
>       <placeholder name="ToolsOps_5" />
>     </menu>
> 
>     <menu name="ControlMenu" action="Control">
>       <menuitem name="ControlPlayMenu" action="ControlPlay"/>
>       <separator name="ControlSep1"/>
>       <menuitem name="ControlPreviousMenu" action="ControlPrevious"/>
>       <menuitem name="ControlNextMenu" action="ControlNext"/>
>       <separator name="ControlSep2"/>
>       <menuitem name="ControlVolumeUpMenu" action="ControlVolumeUp"/>
>       <menuitem name="ControlVolumeDownMenu" action="ControlVolumeDown"/>
>       <separator name="ControlSep3"/>
>       <menuitem name="ControlShuffleMenu" action="ControlShuffle"/>
>       <menuitem name="ControlRepeatMenu" action="ControlRepeat"/>
>     </menu>
> 
>     <menu name="HelpMenu" action="Help">
>       <menuitem name="HelpContentsMenu" action="HelpContents"/>
>       <menuitem name="HelpAboutMenu" action="HelpAbout"/>
>     </menu>
> 
>   </menubar>
> 
>   <toolbar name="ToolBar">
>     <toolitem name="Previous" action="ControlPrevious"/>
>     <toolitem name="Play" action="ControlPlay"/>
>     <toolitem name="Next" action="ControlNext"/>
>     <separator/>
>     <toolitem name="Repeat" action="ControlRepeat"/>
>     <toolitem name="Shuffle" action="ControlShuffle"/>
>     <separator/>
>     <toolitem name="Browse" action="ViewBrowser"/>
>     <separator/>
>   </toolbar>
> 
>   <toolbar name="SearchBar">
>   </toolbar>
> 
>   <popup name="RhythmboxTrayPopup">
>       <menuitem name="PlayTray" action="ControlPlay"/>
>       <separator/>
>       <menuitem name="PreviousTray" action="ControlPrevious"/>
>       <menuitem name="NextTray" action="ControlNext"/>
>       <separator/>
>       <menuitem name="ShowWindowTray" action="TrayShowWindow"/>
>       <menuitem name="ShowNotifications" action="TrayShowNotifications"/>
>       <separator/>
>       <menuitem name="QuitTray" action="MusicQuit"/>
>   </popup>
> 
>   <popup name="BrowserSourceViewPopup">
>     <menuitem name="AddToQueueLibraryPopup" action="AddToQueue"/>
>     <menu name="BrowserSourcePopupPlaylistAdd" action="EditPlaylistAdd">
>       <placeholder name="BrowserSourcePopupPlaylistAddPlaceholder"/>
>       <separator/> 
>       <menuitem name="BrowserSourcePopupPlaylistAddNew" action="EditPlaylistAddNew"/>
>     </menu>
>     <menuitem name="CopyLibraryPopup" action="EditCopy"/>
>     <separator/>
>     <menuitem name="DeleteLibraryPopup" action="EditDelete"/>
>     <menuitem name="MovetoTrashPopup" action="EditMovetoTrash"/>
>     <separator/>
>     <menuitem name="BrowseGenreLibraryPopup" action="BrowserSrcChooseGenre"/>
>     <menuitem name="BrowseArtistLibraryPopup" action="BrowserSrcChooseArtist"/>
>     <menuitem name="BrowseAlbumLibraryPopup" action="BrowserSrcChooseAlbum"/>
>     <separator/>
>     <menuitem name="PropertiesLibraryPopup" action="MusicProperties"/>
>   </popup>
> 
>   <popup name="ImportErrorsViewPopup">
>     <menuitem name="MovetoTrashPopup" action="EditMovetoTrash"/>
>   </popup>
> 
>   <popup name="PlaylistViewPopup">
>     <menuitem name="AddToQueuePlaylistPopup" action="AddToQueue"/>
>     <menu name="PlaylistPopupPlaylistAdd" action="EditPlaylistAdd">
>       <menuitem name="PlaylistPopupPlaylistAddNew" action="EditPlaylistAddNew"/>
>       <separator/> 
>       <placeholder name="PlaylistPopupPlaylistAddPlaceholder"/>
>     </menu>
>     <menuitem name="CopyPlaylistPopup" action="EditCopy"/>
>     <menuitem name="CutPlaylistPopup" action="EditCut"/>
>     <menuitem name="DeletePlaylistPopup" action="EditDelete"/>
>     <separator/>
>     <menuitem name="MovetoTrashPlaylistPopup" action="EditMovetoTrash"/>
>     <separator/>
>     <menuitem name="PropertiesPlaylistPopup" action="MusicProperties"/>
>   </popup>
> 
>   <popup name="QueuePlaylistViewPopup">
>     <menuitem name="DeletePlaylistPopup" action="EditDelete"/>
>     <separator/>
>     <menuitem name="PropertiesPlaylistPopup" action="MusicProperties"/>
>   </popup>
>   
>   <popup name="QueueSidebarViewPopup">
>     <menuitem name="DeletePlaylistPopup" action="QueueDelete"/>
>     <menuitem name="ClearPlaylistPopup" action="ClearQueue"/>
>     <separator/>
>     <menuitem name="PropertiesPlaylistPopup" action="QueueMusicProperties"/>
>   </popup>
> 
>   <popup name="QueueSourcePopup">
>     <menuitem name="ClearPlaylistPopup" action="ClearQueue"/>
> #HAVE_NAUTILUS_BURN    <separator/>
> #HAVE_NAUTILUS_BURN    <menuitem name="MusicPlaylistBurnPlaylistMenu" action="MusicPlaylistBurnPlaylist"/>
>   </popup>
> 
>   <popup name="SourceListPopup">
>     <menuitem name="SourceListPopupNewPlaylist" action="MusicPlaylistNewPlaylist"/>
>     <menuitem name="SourceListPopupNewAutomaticPlaylist" action="MusicPlaylistNewAutomaticPlaylist"/>
>   </popup>
> 
>   <popup name="LibrarySourcePopup">
>     <menuitem name="LibrarySrcPopupAddFile" action="MusicImportFile"/>
>     <menuitem name="LibrarySrcPopupAddFolder" action="MusicImportFolder"/>
>     <menuitem name="LibrarySrcPopupAddCD" action="MusicImportCD"/>
>   </popup>
> 
>   <popup name="IRadioSourcePopup">
>     <menuitem name="IRadioSrcPopupNewStation" action="MusicNewInternetRadioStation"/>
>   </popup>
> 
>   <popup name="IRadioViewPopup">
>     <menuitem name="DeleteIRadioPopup" action="EditDelete"/>
>     <separator/>
>     <menuitem name="PropertiesIRadioPopup" action="MusicProperties"/>
>   </popup>
>   <popup name="PodcastSourcePopup">
>     <menuitem name="PodcastSrcPopupNew" action="MusicNewPodcast"/>
>     <menuitem name="PodcastSrcPopupUpdateAllFeeds" action="PodcastUpdateAllFeeds"/>
>   </popup>
> 
>   <popup name="PodcastViewPopup">
>     <menuitem name="DownloadPodcastPopup" action="PodcastSrcDownloadPost"/>
>     <menuitem name="CancelDownloadPopup" action="PodcastSrcCancelDownload"/>
>     <menuitem name="DeletePodcastPopup" action="EditDelete"/>
>     <separator/>
>     <menuitem name="AddToQueuePodcastPopup" action="AddToQueue"/>
>     <separator/>
>     <menuitem name="PropertiesPodcastPopup" action="MusicProperties"/>
>   </popup>
> 
>   <popup name="PodcastFeedViewPopup">
>     <menuitem name="NewPodcastPopup" action="MusicNewPodcast"/>
>     <menuitem name="PodcastSrcPopupUpdateAllFeeds" action="PodcastUpdateAllFeeds"/>
>     <separator/>
>     <menuitem name="UpdateFeedPodcastPopup" action="PodcastFeedUpdate"/>
>     <menuitem name="DeleteFeedPodcastPopup" action="PodcastFeedDelete"/>
>     <separator/>
>     <menuitem name="PropertiesFeedPodcastPopup" action="PodcastFeedProperties"/>
>   </popup>
> 
>   <popup name="AudioCdSourcePopup">
>     <menuitem name="AudioCdSourcePopupCopyAllTracks" action="RemovableSourceCopyAllTracks"/>
>     <menuitem name="AudioCdSourcePopupEjectCd" action="RemovableSourceEject"/>
>   </popup>
> 
>   <popup name="PlaylistSourcePopup">
>     <menuitem name="RenameAutoPlaylistPopup" action="MusicPlaylistRenamePlaylist"/>
>     <separator/>
>     <menuitem name="QueuePlaylistPopup" action="QueuePlaylist"/>
>     <separator/>
>     <menuitem name="DeletePlaylistPopup" action="MusicPlaylistDeletePlaylist"/>
>   </popup>
> 
>   <popup name="AutoPlaylistSourcePopup">
>     <menuitem name="EditAutoPlaylistPopup" action="EditAutomaticPlaylist"/>
>     <menuitem name="RenameAutoPlaylistPopup" action="MusicPlaylistRenamePlaylist"/>
>     <separator/>
>     <menuitem name="QueuePlaylistPopup" action="QueuePlaylist"/>
> #HAVE_NAUTILUS_BURN    <menuitem name="MusicPlaylistBurnPlaylistMenu" action="MusicPlaylistBurnPlaylist"/>
>     <separator/>
>     <menuitem name="DeleteAutoPlaylistPopup" action="MusicPlaylistDeletePlaylist"/>
>   </popup>
> 
>   <popup name="MissingFilesViewPopup">
>     <menuitem name="DeleteMissingFilesPopup" action="EditDelete"/>
>     <menuitem name="PropertiesMissingFilesPopup" action="MusicProperties"/>
>   </popup>
> 
> </ui>


> _______________________________________________
> rhythmbox-devel mailing list
> rhythmbox-devel gnome org
> http://mail.gnome.org/mailman/listinfo/rhythmbox-devel


-- 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]