[banshee] [PlayQueue] New "Add tracks" button for adding more random tracks
- From: Sanford Armstrong <sharm src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [banshee] [PlayQueue] New "Add tracks" button for adding more random tracks
- Date: Mon, 14 Sep 2009 17:02:00 +0000 (UTC)
commit b24c91526da356729ea455c8db5d2150c8873c90
Author: Sandy Armstrong <sanfordarmstrong gmail com>
Date: Mon Sep 14 09:54:35 2009 -0700
[PlayQueue] New "Add tracks" button for adding more random tracks
When pressed, add upcoming_songs_number more tracks to the play queue
according to the Auto DJ algorithm. Does not change upcoming_songs_number.
.../Banshee.PlayQueue/PlayQueueActions.cs | 15 ++++++++++++++-
.../Banshee.PlayQueue/PlayQueueSource.cs | 8 ++++++++
.../Banshee.PlayQueue/Resources/ActiveSourceUI.xml | 1 +
.../Banshee.PlayQueue/Resources/GlobalUI.xml | 1 +
4 files changed, 24 insertions(+), 1 deletions(-)
---
diff --git a/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueActions.cs b/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueActions.cs
index 8c6318d..cac9f62 100644
--- a/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueActions.cs
+++ b/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueActions.cs
@@ -50,7 +50,7 @@ namespace Banshee.PlayQueue
Catalog.GetString ("Append selected songs to the play queue"),
OnAddToPlayQueue)
});
-
+
AddImportant (
new ActionEntry ("RefreshPlayQueueAction", Stock.Refresh,
Catalog.GetString ("Refresh"), null,
@@ -59,6 +59,13 @@ namespace Banshee.PlayQueue
);
AddImportant (
+ new ActionEntry ("AddPlayQueueTracksAction", Stock.Add,
+ Catalog.GetString ("Add More"), null,
+ Catalog.GetString ("Add more random tracks to the play queue"),
+ OnAddPlayQueueTracks)
+ );
+
+ AddImportant (
new ActionEntry ("ClearPlayQueueAction", Stock.Clear,
Catalog.GetString ("Clear"), null,
Catalog.GetString ("Remove all tracks from the play queue"),
@@ -106,6 +113,11 @@ namespace Banshee.PlayQueue
playqueue.Refresh ();
}
+ private void OnAddPlayQueueTracks (object o, EventArgs args)
+ {
+ playqueue.AddMoreRandomTracks ();
+ }
+
private void OnClearPlayQueueOnQuit (object o, EventArgs args)
{
ToggleAction action = this["ClearPlayQueueOnQuitAction"] as Gtk.ToggleAction;
@@ -130,6 +142,7 @@ namespace Banshee.PlayQueue
if (source != null) {
DatabaseSource db_source = source as DatabaseSource ?? source.Parent as DatabaseSource;
UpdateAction ("RefreshPlayQueueAction", playqueue.Populate);
+ UpdateAction ("AddPlayQueueTracksAction", playqueue.Populate);
UpdateAction ("ClearPlayQueueAction", !playqueue.Populate, playqueue.Count > 0);
UpdateAction ("ClearPlayQueueOnQuitAction", !playqueue.Populate);
UpdateAction ("AddToPlayQueueAction", db_source != null && db_source != playqueue, true);
diff --git a/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs b/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs
index b38beb9..6d3cc74 100644
--- a/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs
+++ b/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs
@@ -668,6 +668,14 @@ namespace Banshee.PlayQueue
}
}
+ public void AddMoreRandomTracks ()
+ {
+ int current_fill = current_track == null ? 0 : Count - TrackModel.IndexOf (current_track) - 1;
+ upcoming_songs_number += current_fill;
+ UpdatePlayQueue ();
+ upcoming_songs_number -= current_fill;
+ }
+
private void OnTrackStarted(object sender, EventArgs e)
{
SetAsPlaybackSourceUnlessPlaying ();
diff --git a/src/Extensions/Banshee.PlayQueue/Resources/ActiveSourceUI.xml b/src/Extensions/Banshee.PlayQueue/Resources/ActiveSourceUI.xml
index 74bdd6f..e008c44 100644
--- a/src/Extensions/Banshee.PlayQueue/Resources/ActiveSourceUI.xml
+++ b/src/Extensions/Banshee.PlayQueue/Resources/ActiveSourceUI.xml
@@ -2,6 +2,7 @@
<toolbar name="HeaderToolbar">
<placeholder name="SourceActions">
<toolitem action="RefreshPlayQueueAction" />
+ <toolitem action="AddPlayQueueTracksAction" />
<toolitem action="ClearPlayQueueAction" />
</placeholder>
</toolbar>
diff --git a/src/Extensions/Banshee.PlayQueue/Resources/GlobalUI.xml b/src/Extensions/Banshee.PlayQueue/Resources/GlobalUI.xml
index eb95674..676fdd5 100644
--- a/src/Extensions/Banshee.PlayQueue/Resources/GlobalUI.xml
+++ b/src/Extensions/Banshee.PlayQueue/Resources/GlobalUI.xml
@@ -3,6 +3,7 @@
<menuitem action="RefreshPlayQueueAction"></menuitem>
<menuitem action="ClearPlayQueueAction"></menuitem>
<menuitem action="ClearPlayQueueOnQuitAction"></menuitem>
+ <menuitem action="AddPlayQueueTracksAction"></menuitem>
<menuitem name="SourcePreferences" action="SourcePreferencesAction"/>
</popup>
<popup name="TrackContextMenu" action="TrackContextMenuAction">
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]