| 
					
				 | 
			
			
				@@ -45,6 +45,12 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function initEvents(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $('body') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .on('on-studio-chutier-updated', initAjaxLinks) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .on('studio-initialized', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _compoPlayer.initControls(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .on('studio-not-active', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _compoPlayer.deactivate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .on('on-studio-compo-updated', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           initAjaxLinks(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           _compoPlayer.refresh(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -280,7 +286,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       _$body.attr('corpus-map', 'ready'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //    _          _ _ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //   /_\ _  _ __| (_)___ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //  / _ \ || / _` | / _ \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -637,11 +642,14 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //  \___\___/_|_|_| .__/\___/_| |_\__,_|\_, \___|_| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //                |_|                   |__/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function CompoPlayer(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.active = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.playing = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.paused = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.playlist = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.current_index = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$composer = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$compo = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$controls = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CompoPlayer.prototype = { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -655,26 +663,30 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           .on('audio-ended', this.onAudioPlayerEnded.bind(this)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           // .on('audio-play-next', this.onAudioPlayNext.bind(this)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // this.newCompo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      initControls(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log('CompoPlayer initControls()'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$composer = $('.composition_ui .composer'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$controls = $('.composition_ui .composer .compo-player-controls'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$previous = $('<div>').addClass('previous') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .on('click', this.prev.bind(this)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .appendTo(this.$controls); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$playpause = $('<div>').addClass('play-pause') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .on('click', this.togglePlayPause.bind(this)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .appendTo(this.$controls); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$next = $('<div>').addClass('next') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .on('click', this.next.bind(this)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .appendTo(this.$controls); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.active = true; // TODO: set active false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.newCompo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       newCompo(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log('CompoPlayer newCompo()'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // $('.composition_ui .composer .composition .field--name-documents') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$composer = $('.composition_ui .composer'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.$compo = $('.composition_ui .composer .composition'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$controls = $('.composition_ui .composer .compo-player-controls'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!this.$controls.is('.ready')){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.$previous = $('<div>').addClass('previous') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            .on('click', this.prev.bind(this)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            .appendTo(this.$controls); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.$playpause = $('<div>').addClass('play-pause') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            .on('click', this.togglePlayPause.bind(this)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            .appendTo(this.$controls); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.$next = $('<div>').addClass('next') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            .on('click', this.next.bind(this)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            .appendTo(this.$controls); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.$controls.addClass('ready'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.refresh(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       refresh(){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -810,6 +822,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      deactivate(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.stop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.active = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // _audioPlayer events 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       onAudioOpenDocument(args){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(args.caller !== this){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -887,6 +903,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // TODO: animate the remove 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       _$row.html(''); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       _$ajaxLinks.removeClass('is-active'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _$body.trigger({'type':'all-modal-closed'}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     init(); 
			 |