| 
				
			 | 
			
			
				@@ -19,6 +19,10 @@ function DynamicPlayer() 
			 | 
		
	
		
			
			| 
				19
			 | 
			
				19
			 | 
			
			
				     { 
			 | 
		
	
		
			
			| 
				20
			 | 
			
				20
			 | 
			
			
				       return new YoutubePlayer(ref_id, object_for_player); 
			 | 
		
	
		
			
			| 
				21
			 | 
			
				21
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				22
			 | 
			
			
				+    if (player_type == 'soundcloud.com') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				23
			 | 
			
			
				+    { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				24
			 | 
			
			
				+      return new SoundCloudPlayer(ref_id, object_for_player); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				25
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				22
			 | 
			
				26
			 | 
			
			
				     return new GenericPlayer(element_id, object_for_player); 
			 | 
		
	
		
			
			| 
				23
			 | 
			
				27
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				24
			 | 
			
				28
			 | 
			
			
				    
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -115,6 +119,78 @@ function GenericPlayer(ref_id, object_for_player) 
			 | 
		
	
		
			
			| 
				115
			 | 
			
				119
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				116
			 | 
			
				120
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				117
			 | 
			
				121
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				122
			 | 
			
			
				+function SoundCloudPlayer(ref_id, object_for_player) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				123
			 | 
			
			
				+{ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				124
			 | 
			
			
				+  var _ref_id = ref_id; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				125
			 | 
			
			
				+  var _object_for_player = object_for_player; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				126
			 | 
			
			
				+  var _player = null; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				127
			 | 
			
			
				+  var _sounds_count = 0; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				128
			 | 
			
			
				+  var _current_sound_index = 0; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				129
			 | 
			
			
				+   
			 | 
		
	
		
			
			| 
				
			 | 
			
				130
			 | 
			
			
				+  this.play = function() 
			 | 
		
	
		
			
			| 
				
			 | 
			
				131
			 | 
			
			
				+  { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				132
			 | 
			
			
				+    if (!_player) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				133
			 | 
			
			
				+    { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				134
			 | 
			
			
				+      createPlayer(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				135
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				136
			 | 
			
			
				+  } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				137
			 | 
			
			
				+   
			 | 
		
	
		
			
			| 
				
			 | 
			
				138
			 | 
			
			
				+  var createPlayer = function() 
			 | 
		
	
		
			
			| 
				
			 | 
			
				139
			 | 
			
			
				+  { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				140
			 | 
			
			
				+    var div_for_iframe = $('<div>').attr('id', _object_for_player.attr('id')+'_iframe'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				141
			 | 
			
			
				+    _object_for_player.append(div_for_iframe); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				142
			 | 
			
			
				+     
			 | 
		
	
		
			
			| 
				
			 | 
			
				143
			 | 
			
			
				+    SC.initialize({ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				144
			 | 
			
			
				+      client_id: '39946ea18e3d78d64c0ac95a025794e1' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				145
			 | 
			
			
				+    }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				146
			 | 
			
			
				+     
			 | 
		
	
		
			
			| 
				
			 | 
			
				147
			 | 
			
			
				+    SC.oEmbed(_ref_id, { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				148
			 | 
			
			
				+      show_artwork: false 
			 | 
		
	
		
			
			| 
				
			 | 
			
				149
			 | 
			
			
				+    }, function(oembed){ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				150
			 | 
			
			
				+      _object_for_player.html(oembed.html) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				151
			 | 
			
			
				+      var iframe = _object_for_player.find('iframe')[0]; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				152
			 | 
			
			
				+      _player = SC.Widget(iframe); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				153
			 | 
			
			
				+      _player.bind(SC.Widget.Events.READY, event_ready); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				154
			 | 
			
			
				+      _player.bind(SC.Widget.Events.PLAY, event_play); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				155
			 | 
			
			
				+      _player.bind(SC.Widget.Events.FINISH, event_finish); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				156
			 | 
			
			
				+    }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				157
			 | 
			
			
				+     
			 | 
		
	
		
			
			| 
				
			 | 
			
				158
			 | 
			
			
				+    var event_ready = function() 
			 | 
		
	
		
			
			| 
				
			 | 
			
				159
			 | 
			
			
				+    { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				160
			 | 
			
			
				+      console.log('sc ready'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				161
			 | 
			
			
				+      _player.play(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				162
			 | 
			
			
				+      _player.getSounds(function(value){ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				163
			 | 
			
			
				+        _sounds_count = value.length; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				164
			 | 
			
			
				+      }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				165
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				166
			 | 
			
			
				+     
			 | 
		
	
		
			
			| 
				
			 | 
			
				167
			 | 
			
			
				+    var event_play = function() 
			 | 
		
	
		
			
			| 
				
			 | 
			
				168
			 | 
			
			
				+    { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				169
			 | 
			
			
				+      console.log('sc play'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				170
			 | 
			
			
				+      _player.getSounds(function(value){ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				171
			 | 
			
			
				+        _sounds_count = value.length; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				172
			 | 
			
			
				+      }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				173
			 | 
			
			
				+      _player.getCurrentSoundIndex(function(value){ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				174
			 | 
			
			
				+        _current_sound_index = value; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				175
			 | 
			
			
				+      }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				176
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				177
			 | 
			
			
				+     
			 | 
		
	
		
			
			| 
				
			 | 
			
				178
			 | 
			
			
				+    var event_finish = function() 
			 | 
		
	
		
			
			| 
				
			 | 
			
				179
			 | 
			
			
				+    { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				180
			 | 
			
			
				+      if (_sounds_count == _current_sound_index+1) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				181
			 | 
			
			
				+      { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				182
			 | 
			
			
				+        event_finish_playlist(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				183
			 | 
			
			
				+      } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				184
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				185
			 | 
			
			
				+     
			 | 
		
	
		
			
			| 
				
			 | 
			
				186
			 | 
			
			
				+    var event_finish_playlist = function() 
			 | 
		
	
		
			
			| 
				
			 | 
			
				187
			 | 
			
			
				+    { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				188
			 | 
			
			
				+      // Fin de lecture 
			 | 
		
	
		
			
			| 
				
			 | 
			
				189
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				190
			 | 
			
			
				+     
			 | 
		
	
		
			
			| 
				
			 | 
			
				191
			 | 
			
			
				+  } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				192
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				193
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				118
			 | 
			
				194
			 | 
			
			
				 function PlayersManager() 
			 | 
		
	
		
			
			| 
				119
			 | 
			
				195
			 | 
			
			
				 { 
			 | 
		
	
		
			
			| 
				120
			 | 
			
				196
			 | 
			
			
				   var _players = new Array(); 
			 |