banshee r3174 - in trunk/banshee: . build src/Backends/Banshee.GStreamer/Banshee.GStreamer src/Core/Banshee.Services/Banshee.ServiceStack src/Core/Banshee.Services/Banshee.Sources src/Core/Banshee.ThickClient/Banshee.Gui src/Core/Banshee.ThickClient/Resources src/Core/Banshee.Widgets



Author: abock
Date: Fri Feb  8 21:25:43 2008
New Revision: 3174
URL: http://svn.gnome.org/viewvc/banshee?rev=3174&view=rev

Log:
2008-02-08  Aaron Bockover  <abock gnome org>

    This commit adds child source sorting on the library and gets rid of any
    remaining gobject/gtk warnings and other ugly debug spew

    * build/build.rules.mk: Copy .config files to the output directory if
    they exist in the source directory

    * configure.ac: Do not generate the .config for Banshee.Widgets

    * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
    If Volume is changed before the engine is initialized then store it
    temporarily and perform the actual set after initialization

    * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
    Use Log to print messages instead of Console.WriteLine

    * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Added child source
    sorting back

    * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
    * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
    Connect the UI and actions to allow child source sorting

    * src/Core/Banshee.Widgets/Banshee.Widgets.dll.config.in: Remove obsolete
    maps - the only one we need (and it's not even required) is for
    libgobject inside of the bacon volume widget



Removed:
   trunk/banshee/src/Core/Banshee.Widgets/Banshee.Widgets.dll.config.in
Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/build/build.rules.mk
   trunk/banshee/configure.ac
   trunk/banshee/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/Source.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml

Modified: trunk/banshee/build/build.rules.mk
==============================================================================
--- trunk/banshee/build/build.rules.mk	(original)
+++ trunk/banshee/build/build.rules.mk	Fri Feb  8 21:25:43 2008
@@ -25,6 +25,9 @@
 	@mkdir -p $(top_builddir)/bin
 	@echo -e "\033[1mCompiling $(notdir $@)...\033[0m"
 	@$(BUILD) -target:$(TARGET) -out:$@ $(LINK) $(RESOURCES_BUILD) $(SOURCES_BUILD)
+	@if [ -e $(notdir $  config) ]; then \
+		cp $(notdir $  config) $(top_builddir)/bin; \
+	fi;
 
 EXTRA_DIST = $(SOURCES_BUILD) $(RESOURCES_EXPANDED_FULL)
 

Modified: trunk/banshee/configure.ac
==============================================================================
--- trunk/banshee/configure.ac	(original)
+++ trunk/banshee/configure.ac	Fri Feb  8 21:25:43 2008
@@ -127,7 +127,6 @@
 src/Core/Banshee.Services/Makefile
 src/Core/Banshee.ThickClient/Makefile
 src/Core/Banshee.Widgets/Makefile
-src/Core/Banshee.Widgets/Banshee.Widgets.dll.config
 src/Core/Nereid/Makefile
 src/Core/Nereid/banshee2
 

Modified: trunk/banshee/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
==============================================================================
--- trunk/banshee/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs	(original)
+++ trunk/banshee/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs	Fri Feb  8 21:25:43 2008
@@ -64,6 +64,7 @@
         private GstTaggerTagFoundCallback tag_found_callback;
         
         private bool buffering_finished;
+        private short pending_volume = -1;
         
         public PlayerEngine ()
         {
@@ -109,6 +110,10 @@
             gst_playback_set_tag_found_callback (handle, tag_found_callback);
             
             OnStateChanged (PlayerEngineState.Initalized);
+            
+            if (pending_volume >= 0) {
+                Volume = (ushort)pending_volume;
+            }
         }
         
         public override void Dispose ()
@@ -270,17 +275,22 @@
         }
         
         public override ushort Volume {
-            get { return (ushort) gst_playback_get_volume (handle); }
+            get { return (ushort)gst_playback_get_volume (handle); }
             set { 
-                gst_playback_set_volume(handle, (int) value);
+                if ((IntPtr)handle == IntPtr.Zero) {
+                    pending_volume = (short)value;
+                    return;
+                }
+                
+                gst_playback_set_volume (handle, (int)value);
                 OnEventChanged (PlayerEngineEvent.Volume);
             }
         }
         
         public override uint Position {
-            get { return (uint) gst_playback_get_position(handle); }
+            get { return (uint)gst_playback_get_position(handle); }
             set { 
-                gst_playback_set_position(handle, (ulong) value);
+                gst_playback_set_position(handle, (ulong)value);
                 OnEventChanged (PlayerEngineEvent.Seek);
             }
         }
@@ -310,28 +320,24 @@
         }
         
         public int [] BandRange {
-            get
-            {
+            get {
                 int min = -1;
                 int max = -1;
                 
                 gst_equalizer_get_bandrange (handle, out min, out max);
                 
-                return new int[] { min, max };
+                return new int [] { min, max };
             }
         }
         
         public uint [] EqualizerFrequencies {
-            get
-            {
-                double[] freq = new double[10];
+            get {
+                double [] freq = new double[10];
                 gst_equalizer_get_frequencies (handle, out freq);
                 
-                uint[] ret = new uint[freq.Length];
-                
-                for (int i = 0; i < freq.Length; i++)
-                {
-                    ret[i] = (uint) freq[i];
+                uint [] ret = new uint[freq.Length];
+                for (int i = 0; i < freq.Length; i++) {
+                    ret[i] = (uint)freq[i];
                 }
                 
                 return ret;
@@ -353,89 +359,89 @@
             get { return decoder_capabilities; }
         }
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern IntPtr gst_playback_new ();
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_free (HandleRef engine);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_set_eos_callback (HandleRef engine, GstPlaybackEosCallback cb);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_set_error_callback (HandleRef engine, GstPlaybackErrorCallback cb);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_set_state_changed_callback (HandleRef engine, 
             GstPlaybackStateChangedCallback cb);
             
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_set_iterate_callback (HandleRef engine,
             GstPlaybackIterateCallback cb);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_set_buffering_callback (HandleRef engine,
             GstPlaybackBufferingCallback cb);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_set_tag_found_callback (HandleRef engine,
             GstTaggerTagFoundCallback cb);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_open (HandleRef engine, IntPtr uri);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_stop (HandleRef engine);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_pause (HandleRef engine);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_play (HandleRef engine);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_set_volume (HandleRef engine, int volume);
         
         [DllImport("libbanshee")]
         private static extern int gst_playback_get_volume (HandleRef engine);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern bool gst_playback_can_seek (HandleRef engine);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_set_position (HandleRef engine, ulong time_ms);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern ulong gst_playback_get_position (HandleRef engine);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern ulong gst_playback_get_duration (HandleRef engine);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern bool gst_playback_get_pipeline_elements (HandleRef engine, out IntPtr playbin,
             out IntPtr audiobin, out IntPtr audiotee);
             
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_set_gdk_window (HandleRef engine, IntPtr window);
                                                                    
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_playback_get_error_quarks (out uint core, out uint library, 
             out uint resource, out uint stream);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern bool gst_equalizer_is_supported (HandleRef engine);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_equalizer_set_preamp_level (HandleRef engine, double level);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_equalizer_set_gain (HandleRef engine, uint bandnum, double gain);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_equalizer_get_bandrange (HandleRef engine, out int min, out int max);
         
-        [DllImport("libbanshee")]
+        [DllImport ("libbanshee")]
         private static extern void gst_equalizer_get_frequencies (HandleRef engine,
-            [MarshalAs(UnmanagedType.LPArray)] out double[] freq);
+            [MarshalAs (UnmanagedType.LPArray)] out double [] freq);
     }
 }

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs	Fri Feb  8 21:25:43 2008
@@ -33,6 +33,8 @@
 using NDesk.DBus;
 using org.freedesktop.DBus;
 
+using Banshee.Base;
+
 namespace Banshee.ServiceStack
 {
     public class DBusServiceManager : IService
@@ -53,7 +55,7 @@
             
             try {
                 RequestNameReply name_reply = Bus.Session.RequestName(BusName);
-                Console.WriteLine ("NDesk.DBus.Bus.Session.RequestName ('{0}') => {1}", BusName, name_reply);
+                Log.DebugFormat ("NDesk.DBus.Bus.Session.RequestName ('{0}') => {1}", BusName, name_reply);
                 // TODO: error handling based on nameReply. should probably throw if 
                 // nameReply is anything other than NameReply.PrimaryOwner
             } catch(Exception e) {

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/Source.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/Source.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/Source.cs	Fri Feb  8 21:25:43 2008
@@ -173,9 +173,9 @@
             }
         }
 
-        /*public virtual void SortChildSources (IComparer<Source> comparer, bool asc)
+        public virtual void SortChildSources (IComparer<Source> comparer, bool asc)
         {
-            lock(Children) {
+            lock (Children) {
                 child_sources.Sort (comparer);
                 if (!asc) {
                     child_sources.Reverse ();
@@ -186,7 +186,7 @@
                     child.Order = i++;
                 }
             }
-        }*/
+        }
         
 #endregion
         

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs	Fri Feb  8 21:25:43 2008
@@ -88,6 +88,27 @@
                 new ActionEntry("SourcePropertiesAction", Stock.Properties,
                     "Source Properties", null, null, OnSourceProperties),
             });
+            
+            Add (new Gtk.ActionEntry [] {
+                new Gtk.ActionEntry ("SortChildrenAction", null, 
+                    Catalog.GetString ("Sort Children"), null, null, null),
+                    
+                new Gtk.ActionEntry ("SortChildrenNameAscAction", null, 
+                    Catalog.GetString ("Name Ascending"), null, null, 
+                    delegate { ActionSource.SortChildSources (new Source.NameComparer (), true); }),
+                    
+                new Gtk.ActionEntry ("SortChildrenNameDescAction", null, 
+                    Catalog.GetString ("Name Descending"), null, null, 
+                    delegate { ActionSource.SortChildSources (new Source.NameComparer (), false); }),
+                    
+                new Gtk.ActionEntry ("SortChildrenSizeAscAction", null, 
+                    Catalog.GetString ("Size Ascending"), null, null, 
+                    delegate { ActionSource.SortChildSources (new Source.SizeComparer (), true); }),
+                    
+                new Gtk.ActionEntry ("SortChildrenSizeDescAction", null, 
+                    Catalog.GetString ("Size Descending"), null, null, 
+                    delegate { ActionSource.SortChildSources (new Source.SizeComparer (), false); })
+            });
                 
             //ServiceManager.SourceManager.SourceUpdated += OnPlayerEngineStateChanged;
             //ServiceManager.SourceManager.SourceViewChanged += OnPlayerEngineStateChanged;

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml	Fri Feb  8 21:25:43 2008
@@ -1,179 +1,180 @@
 <ui>
-    <toolbar name="HeaderToolbar">
-        <toolitem action="PreviousAction" />
-        <toolitem action="PlayPauseAction" />
-        <toolitem action="NextAction" />
-        <placeholder name="SeekSlider" />
-        <placeholder name="TrackInfoDisplay" />
-        <placeholder name="SourceActions" />
-        <placeholder name="VolumeButton" />
-    </toolbar>
-
-    <menubar name="MainMenu">
-        <menu name="MusicMenu" action="MusicMenuAction">
-            <menuitem name="NewPlaylist" action="NewPlaylistAction" />
-            <menuitem name="NewSmartPlaylist" action="NewSmartPlaylistAction" />
-            <menuitem name="NewSmartPlaylistFromSearch" action="NewSmartPlaylistFromSearchAction" />
-            <separator />
-            <menuitem name="ImportMusic" action="ImportMusicAction" />
-            <menuitem name="OpenLocation" action="OpenLocationAction" />
-            <separator />
-            <placeholder name="ClosePlaceholder" />
-            <menuitem name="Quit" action="QuitAction" />
-        </menu>
-
-        <menu name="EditMenu" action="EditMenuAction">
-            <menu name="AddToPlaylist" action="AddToPlaylistAction"></menu>
-            <menuitem name="TrackProperties" action="TrackPropertiesAction" />
-            <separator />
-            <menuitem name="SelectAll" action="SelectAllAction" />
-            <menuitem name="SelectNone" action="SelectNoneAction" />
-            <separator />
-            <menuitem name="RemoveTracks" action="RemoveTracksAction" />
-            <menuitem name="RemoveTracksFromLibrary" action="RemoveTracksFromLibraryAction" />
-            <menuitem name="DeleteTracksFromDrive" action="DeleteTracksFromDriveAction" />
-            <separator />
-            <menuitem name="RenameSource" action="RenameSourceAction" />
-            <!--<menuitem name="ExportPlaylist" action="ExportPlaylistAction" />-->
-            <menuitem name="SourceProperties" action="SourcePropertiesAction" />
-            <menuitem name="UnmapSource" action="UnmapSourceAction" />
-            <separator />
-            <menuitem name="Preferences" action="PreferencesAction" />
-            <menuitem name="Extensions" action="ExtensionsAction" />
-        </menu>
-
-        <menu name="ViewMenu" action="ViewMenuAction">
-            <menuitem name="ShowCoverArt" action="ShowCoverArtAction" />
-            <placeholder name="BrowserViews" />
-            <placeholder name="ViewMenuAdditions" />
-            <menuitem name="FullScreen" action="FullScreenAction" />
-            <separator />
-            <menuitem name="ShowEqualizer" action="ShowEqualizerAction" />
-        </menu>
-
-        <menu name="PlaybackMenu" action="PlaybackMenuAction">
-            <menuitem name="PlayPause" action="PlayPauseAction" />
-            <menuitem name="StopWhenFinished" action="StopWhenFinishedAction" />
-            <separator />
-            <menuitem name="Previous" action="PreviousAction" />
-            <menuitem name="Next" action="NextAction" />
-            <separator />
-            <!--
-            <menuitem name="SeekBackward" action="SeekBackwardAction" />
-            <menuitem name="SeekForward" action="SeekForwardAction" />
-            -->
-            <menuitem name="SeekTo" action="SeekToAction" />
-            <menuitem name="RestartSong" action="RestartSongAction" />
-            <separator />
-            <placeholder name="PlaybackMenuAdditions" />
-            <!--<menuitem name="RepeatNone" action="RepeatNoneAction" />
-            <menuitem name="RepeatAll" action="RepeatAllAction" />
-            <menuitem name="RepeatSingle" action="RepeatSingleAction" />-->
-            <separator />
-            <menuitem name="Shuffle" action="ShuffleAction" />
-        </menu>
-
-        <menu name="HelpMenu" action="HelpMenuAction">
-            <menu name="WebMenu" action="WebMenuAction">
-                <menuitem name="WikiGuide" action="WikiGuideAction" />
-                <separator />
-                <menuitem name="Wiki" action="WikiAction" />
-                <menuitem name="WikiDeveloper" action="WikiDeveloperAction" />
-            </menu>
-            <separator />
-            <menuitem name="VersionInformation" action="VersionInformationAction" />
-            <menuitem name="About" action="AboutAction" />
-        </menu>
-    </menubar>
-
-    <popup name="LibraryContextMenu" action="LibraryContextMenuAction">
-        <menuitem name='NewPlaylist' action='NewPlaylistAction' />
-        <menuitem name="NewSmartPlaylist" action="NewSmartPlaylistAction" />
-        <!--<menuitem name='NewSmartPlaylist' action='NewSmartPlaylistAction' />-->
-        <menuitem name='ImportMusic' action='ImportMusicAction' />
-        <menu name='SortPlaylist' action='SortPlaylistAction'>
-            <menuitem name='SortPlaylistNameAsc' action='SortPlaylistNameAscAction' />
-            <menuitem name='SortPlaylistNameDesc' action='SortPlaylistNameDescAction' />
-            <menuitem name='SortPlaylistSizeAsc' action='SortPlaylistSizeAscAction' />
-            <menuitem name='SortPlaylistSizeDesc' action='SortPlaylistSizeDescAction' />
-        </menu>
-    </popup>
-
-    <popup name="SourceContextMenu" action="SourceContextMenuAction">
-        <menuitem name="ImportSource" action="ImportSourceAction" />
-        <separator />
-        <menuitem name="RenameSource" action="RenameSourceAction" />
-        <menuitem name="UnmapSource" action="UnmapSourceAction" />
-        <!--<menuitem name="ExportPlaylist" action="ExportPlaylistAction" />-->
-        <!--<menuitem name="SyncDap" action="SyncDapAction" />-->
-        <separator />
-        <menuitem name="SourceProperties" action="SourcePropertiesAction" />
-    </popup>
-
-    <popup name="TrackContextMenu" action="TrackContextMenuAction">
-        <placeholder name="AboveAddToPlaylist" />
-        <menu name="AddToPlaylist" action="AddToPlaylistAction"></menu>
-        <separator />
-        <menuitem name="RemoveTracks" action="RemoveTracksAction" />
-        <menuitem name="RemoveTracksFromLibrary" action="RemoveTracksFromLibraryAction" />
-        <menuitem name="DeleteTracksFromDrive" action="DeleteTracksFromDriveAction" />
-        <separator />
-        <menu name="SearchMenu" action="SearchMenuAction">
-            <menuitem name="SearchForSameArtist" action="SearchForSameArtistAction" />
-            <menuitem name="SearchForSameAlbum" action="SearchForSameAlbumAction" />
-        </menu>
-        <separator />
-        <!--<menuitem name="JumpToPlayingTrack" action="JumpToPlayingTrackAction" />-->
-        <separator />
-        <menuitem name="TrackProperties" action="TrackPropertiesAction" />
-    </popup>
+  <toolbar name="HeaderToolbar">
+    <toolitem action="PreviousAction"/>
+    <toolitem action="PlayPauseAction"/>
+    <toolitem action="NextAction"/>
+    <placeholder name="SeekSlider"/>
+    <placeholder name="TrackInfoDisplay"/>
+    <placeholder name="SourceActions"/>
+    <placeholder name="VolumeButton"/>
+  </toolbar>
+
+  <menubar name="MainMenu">
+    <menu name="MusicMenu" action="MusicMenuAction">
+      <menuitem name="NewPlaylist" action="NewPlaylistAction"/>
+      <menuitem name="NewSmartPlaylist" action="NewSmartPlaylistAction"/>
+      <menuitem name="NewSmartPlaylistFromSearch" action="NewSmartPlaylistFromSearchAction"/>
+      <separator/>
+      <menuitem name="ImportMusic" action="ImportMusicAction"/>
+      <menuitem name="OpenLocation" action="OpenLocationAction"/>
+      <separator/>
+      <placeholder name="ClosePlaceholder"/>
+      <menuitem name="Quit" action="QuitAction"/>
+    </menu>
+
+    <menu name="EditMenu" action="EditMenuAction">
+      <menu name="AddToPlaylist" action="AddToPlaylistAction"></menu>
+      <menuitem name="TrackProperties" action="TrackPropertiesAction"/>
+      <separator/>
+      <menuitem name="SelectAll" action="SelectAllAction"/>
+      <menuitem name="SelectNone" action="SelectNoneAction"/>
+      <separator/>
+      <menuitem name="RemoveTracks" action="RemoveTracksAction"/>
+      <menuitem name="RemoveTracksFromLibrary" action="RemoveTracksFromLibraryAction"/>
+      <menuitem name="DeleteTracksFromDrive" action="DeleteTracksFromDriveAction"/>
+      <separator/>
+      <menuitem name="RenameSource" action="RenameSourceAction"/>
+      <!--<menuitem name="ExportPlaylist" action="ExportPlaylistAction"/>-->
+      <menuitem name="SourceProperties" action="SourcePropertiesAction"/>
+      <menuitem name="UnmapSource" action="UnmapSourceAction"/>
+      <separator/>
+      <menuitem name="Preferences" action="PreferencesAction"/>
+      <menuitem name="Extensions" action="ExtensionsAction"/>
+    </menu>
+
+    <menu name="ViewMenu" action="ViewMenuAction">
+      <menuitem name="ShowCoverArt" action="ShowCoverArtAction"/>
+      <placeholder name="BrowserViews"/>
+      <placeholder name="ViewMenuAdditions"/>
+      <menuitem name="FullScreen" action="FullScreenAction"/>
+      <separator/>
+      <menuitem name="ShowEqualizer" action="ShowEqualizerAction"/>
+    </menu>
+
+    <menu name="PlaybackMenu" action="PlaybackMenuAction">
+      <menuitem name="PlayPause" action="PlayPauseAction"/>
+      <menuitem name="StopWhenFinished" action="StopWhenFinishedAction"/>
+      <separator/>
+      <menuitem name="Previous" action="PreviousAction"/>
+      <menuitem name="Next" action="NextAction"/>
+      <separator/>
+      <!--
+      <menuitem name="SeekBackward" action="SeekBackwardAction"/>
+      <menuitem name="SeekForward" action="SeekForwardAction"/>
+      -->
+      <menuitem name="SeekTo" action="SeekToAction"/>
+      <menuitem name="RestartSong" action="RestartSongAction"/>
+      <separator/>
+      <placeholder name="PlaybackMenuAdditions"/>
+      <!--<menuitem name="RepeatNone" action="RepeatNoneAction"/>
+      <menuitem name="RepeatAll" action="RepeatAllAction"/>
+      <menuitem name="RepeatSingle" action="RepeatSingleAction"/>-->
+      <separator/>
+      <menuitem name="Shuffle" action="ShuffleAction"/>
+    </menu>
+
+    <menu name="HelpMenu" action="HelpMenuAction">
+      <menu name="WebMenu" action="WebMenuAction">
+        <menuitem name="WikiGuide" action="WikiGuideAction"/>
+        <separator/>
+        <menuitem name="Wiki" action="WikiAction"/>
+        <menuitem name="WikiDeveloper" action="WikiDeveloperAction"/>
+      </menu>
+      <separator/>
+      <menuitem name="VersionInformation" action="VersionInformationAction"/>
+      <menuitem name="About" action="AboutAction"/>
+    </menu>
+  </menubar>
+
+  <popup name="LibraryContextMenu" action="LibraryContextMenuAction">
+    <menuitem name="NewPlaylist" action="NewPlaylistAction"/>
+    <menuitem name="NewSmartPlaylist" action="NewSmartPlaylistAction"/>
+    <separator/>
+    <menuitem name="ImportMusic" action="ImportMusicAction"/>
+    <separator/>
+    <menu name="SortChildren" action="SortChildrenAction">
+      <menuitem name="SortChildrenNameAsc" action="SortChildrenNameAscAction"/>
+      <menuitem name="SortChildrenNameDesc" action="SortChildrenNameDescAction"/>
+      <menuitem name="SortChildrenSizeAsc" action="SortChildrenSizeAscAction"/>
+      <menuitem name="SortChildrenSizeDesc" action="SortChildrenSizeDescAction"/>
+    </menu>
+  </popup>
+
+  <popup name="SourceContextMenu" action="SourceContextMenuAction">
+    <menuitem name="ImportSource" action="ImportSourceAction"/>
+    <separator/>
+    <menuitem name="RenameSource" action="RenameSourceAction"/>
+    <menuitem name="UnmapSource" action="UnmapSourceAction"/>
+    <!--<menuitem name="ExportPlaylist" action="ExportPlaylistAction"/>-->
+    <!--<menuitem name="SyncDap" action="SyncDapAction"/>-->
+    <separator/>
+    <menuitem name="SourceProperties" action="SourcePropertiesAction"/>
+  </popup>
+
+  <popup name="TrackContextMenu" action="TrackContextMenuAction">
+    <placeholder name="AboveAddToPlaylist"/>
+    <menu name="AddToPlaylist" action="AddToPlaylistAction"></menu>
+    <separator/>
+    <menuitem name="RemoveTracks" action="RemoveTracksAction"/>
+    <menuitem name="RemoveTracksFromLibrary" action="RemoveTracksFromLibraryAction"/>
+    <menuitem name="DeleteTracksFromDrive" action="DeleteTracksFromDriveAction"/>
+    <separator/>
+    <menu name="SearchMenu" action="SearchMenuAction">
+      <menuitem name="SearchForSameArtist" action="SearchForSameArtistAction"/>
+      <menuitem name="SearchForSameAlbum" action="SearchForSameAlbumAction"/>
+    </menu>
+    <separator/>
+    <!--<menuitem name="JumpToPlayingTrack" action="JumpToPlayingTrackAction"/>-->
+    <separator/>
+    <menuitem name="TrackProperties" action="TrackPropertiesAction"/>
+  </popup>
 </ui>
 
-    <!--<menubar name="MainMenu">
-        <menu name="MusicMenu" action="MusicMenuAction">
-            <menuitem name="NewCD" action="NewCDAction" />
-            <placeholder name="NewMusicMenuAdditions" />
-            /*<menuitem name="ImportFolder" action="ImportFolderAction" />
-            <menuitem name="ImportFiles" action="ImportFilesAction" />*/
-            <separator />
-            <menuitem name="ImportMusic" action="ImportMusicAction" />
-            <menuitem name="ImportPlaylist" action="ImportPlaylistAction" />
-            <menuitem name="OpenLocation" action="OpenLocationAction" />
-            <placeholder name="MusicMenuAdditions" />
-            <separator />
-            <menuitem name="ImportSource" action="ImportSourceAction" />
-            <menuitem name="WriteCD" action="WriteCDAction" />
-            <separator />
-            <menuitem name="SyncDap" action="SyncDapAction" />
-        </menu>
-        <menu name="EditMenu" action="EditMenuAction">
-            <menuitem name="CopySongs" action="CopySongsAction" />
-            <separator />
-            <menuitem name="RemoveSongs" action="RemoveSongsAction" />
-            <menuitem name="DeleteSongsFromDrive" action="DeleteSongsFromDriveAction" />
-            <menuitem name="RenameSource" action="RenameSourceAction" />
-            <menuitem name="UnmapSource" action="UnmapSourceAction" />
-            <menuitem name="ExportPlaylist" action="ExportPlaylistAction" />
-            <separator />
-            <menuitem name="SelectAll" action="SelectAllAction" />
-            <menuitem name="SelectNone" action="SelectNoneAction" />
-            <separator />
-            <menuitem name="Properties" action="PropertiesAction" />
-            <menuitem name="SelectedSourceProperties" action="SelectedSourcePropertiesAction" />
-            <separator />
-            <menuitem name="Plugins" action="PluginsAction" />
-            <menuitem name="Preferences" action="PreferencesAction" />
-        </menu>
-
-        <menu name="ToolsMenu" action="ToolsMenuAction">
-            <menuitem name="Scripts" action="ScriptsAction" />
-        </menu>
-
-       
-        <menu name="DebugMenu" action="DebugMenuAction">
-            
-            <menuitem name="LoggedEvents" action="LoggedEventsAction" />
-        </menu>
-    </menubar>
-    <popup name="SongViewPopup" action="SongViewPopupAction">
-    </popup>-->
+<!--<menubar name="MainMenu">
+<menu name="MusicMenu" action="MusicMenuAction">
+  <menuitem name="NewCD" action="NewCDAction"/>
+  <placeholder name="NewMusicMenuAdditions"/>
+  /*<menuitem name="ImportFolder" action="ImportFolderAction"/>
+  <menuitem name="ImportFiles" action="ImportFilesAction"/>*/
+  <separator/>
+  <menuitem name="ImportMusic" action="ImportMusicAction"/>
+  <menuitem name="ImportPlaylist" action="ImportPlaylistAction"/>
+  <menuitem name="OpenLocation" action="OpenLocationAction"/>
+  <placeholder name="MusicMenuAdditions"/>
+  <separator/>
+  <menuitem name="ImportSource" action="ImportSourceAction"/>
+  <menuitem name="WriteCD" action="WriteCDAction"/>
+  <separator/>
+  <menuitem name="SyncDap" action="SyncDapAction"/>
+</menu>
+<menu name="EditMenu" action="EditMenuAction">
+  <menuitem name="CopySongs" action="CopySongsAction"/>
+  <separator/>
+  <menuitem name="RemoveSongs" action="RemoveSongsAction"/>
+  <menuitem name="DeleteSongsFromDrive" action="DeleteSongsFromDriveAction"/>
+  <menuitem name="RenameSource" action="RenameSourceAction"/>
+  <menuitem name="UnmapSource" action="UnmapSourceAction"/>
+  <menuitem name="ExportPlaylist" action="ExportPlaylistAction"/>
+  <separator/>
+  <menuitem name="SelectAll" action="SelectAllAction"/>
+  <menuitem name="SelectNone" action="SelectNoneAction"/>
+  <separator/>
+  <menuitem name="Properties" action="PropertiesAction"/>
+  <menuitem name="SelectedSourceProperties" action="SelectedSourcePropertiesAction"/>
+  <separator/>
+  <menuitem name="Plugins" action="PluginsAction"/>
+  <menuitem name="Preferences" action="PreferencesAction"/>
+</menu>
+
+<menu name="ToolsMenu" action="ToolsMenuAction">
+  <menuitem name="Scripts" action="ScriptsAction"/>
+</menu>
+
+ 
+<menu name="DebugMenu" action="DebugMenuAction">
+  
+  <menuitem name="LoggedEvents" action="LoggedEventsAction"/>
+</menu>
+</menubar>
+<popup name="SongViewPopup" action="SongViewPopupAction">
+</popup>-->



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