@@ -5,6 +5,22 @@ var main = {
55
66var showIconsToggle = "yes" ;
77
8+ function shuffle ( array ) {
9+ var currentIndex = array . length , temporaryValue , randomIndex ;
10+
11+ while ( 0 !== currentIndex ) {
12+
13+ randomIndex = Math . floor ( Math . random ( ) * currentIndex ) ;
14+ currentIndex -= 1 ;
15+
16+ temporaryValue = array [ currentIndex ] ;
17+ array [ currentIndex ] = array [ randomIndex ] ;
18+ array [ randomIndex ] = temporaryValue ;
19+ }
20+
21+ return array ;
22+ }
23+
824function updateShowIconsVariable ( ) {
925 chrome . storage . sync . get ( "youtube_queue_extension_show_icons" , function ( data ) {
1026 if ( data [ "youtube_queue_extension_show_icons" ] != undefined )
@@ -26,19 +42,19 @@ chrome.storage.sync.get('youtube_queue_extension_queue', function(data){
2642
2743//New Feature Popup Starts
2844 //add new feature
29- chrome . storage . sync . get ( 'youtube_queue_extension_v140 ' , function ( data ) {
30- if ( data [ 'youtube_queue_extension_new_v140 ' ] == undefined )
45+ chrome . storage . sync . get ( 'youtube_queue_extension_v142 ' , function ( data ) {
46+ if ( data [ 'youtube_queue_extension_new_v142 ' ] == undefined )
3147 {
32- chrome . storage . sync . set ( { 'youtube_queue_extension_v140 ' : '5*Now Drag-Drop the videos in Queue to reorder .' } , function ( ) {
48+ chrome . storage . sync . set ( { 'youtube_queue_extension_v142 ' : '5*Shuffle Queue option added .' } , function ( ) {
3349
3450 } ) ;
3551 }
3652} ) ;
3753
3854 //remove old feature
39- chrome . storage . sync . get ( 'youtube_queue_extension_v139 ' , function ( data ) {
40- if ( ! ( data [ 'youtube_queue_extension_v139 ' ] == undefined ) ) {
41- chrome . storage . sync . remove ( 'youtube_queue_extension_v139 ' , function ( ) {
55+ chrome . storage . sync . get ( 'youtube_queue_extension_v140 ' , function ( data ) {
56+ if ( ! ( data [ 'youtube_queue_extension_v140 ' ] == undefined ) ) {
57+ chrome . storage . sync . remove ( 'youtube_queue_extension_v140 ' , function ( ) {
4258
4359 } ) ;
4460 }
@@ -335,6 +351,7 @@ chrome.runtime.onMessage.addListener(
335351 }
336352 else if ( request . greeting == "empty_queue" ) {
337353 empty_queue ( ) ;
354+ // main.songs = shuffle(main.songs);
338355 sendResponse ( { res : "Queue is now empty." } ) ;
339356 }
340357 else if ( request . greeting == "playFeatured" ) {
@@ -361,6 +378,9 @@ chrome.runtime.onMessage.addListener(
361378 else if ( request . greeting == "updatedShowIcons" ) {
362379 updateShowIconsVariable ( ) ;
363380 }
381+ else if ( request . greeting == "shuffle" ) {
382+ main . songs = shuffle ( main . songs ) ;
383+ }
364384 // else if(request.greeting == "new_feature"){
365385 // chrome.storage.sync.get('youtube_queue_extension_v140', function(data){
366386 // sendResponse({feature: data['youtube_queue_extension_v140']});
0 commit comments