[gnome-music] Implemented Shuffle



commit 7b42067582a3627f427f8c36da8f863208edbd3c
Author: Vadim Rutkovsky <vrutkovs redhat com>
Date:   Fri Jun 21 19:20:09 2013 +0200

    Implemented Shuffle

 src/player.js |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/src/player.js b/src/player.js
index d8dc4e8..be75412 100644
--- a/src/player.js
+++ b/src/player.js
@@ -141,8 +141,12 @@ const Player = new Lang.Class({
             break;
 
         case RepeatType.SHUFFLE:
-            /* FIXME */
-            nextTrack = currentTrack;
+            nextTrack = this.playlist.get_iter_first()[1];
+            let rows = this.playlist.iter_n_children(null);
+            let random = Math.floor(Math.random() * rows);
+            for(let i=0; i<random; i++){
+                this.playlist.iter_next(nextTrack);
+            }
         }
 
         return nextTrack;
@@ -181,8 +185,12 @@ const Player = new Lang.Class({
             break;
 
         case RepeatType.SHUFFLE:
-            /* FIXME */
-            previousTrack = currentTrack;
+            previousTrack = this.playlist.get_iter_first()[1];
+            let rows = this.playlist.iter_n_children(null);
+            let random = Math.floor(Math.random() * rows);
+            for(let i=0; i<random; i++){
+                this.playlist.iter_next(previousTrack);
+            }
         }
 
         return previousTrack;


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