Mercurial > hg > webaudioevaluationtool
comparison interfaces/mushra.js @ 1160:f0fa49f5bbb0
Interfaces have startPlayback and stopPlayback methods to clean up code management. Looping playbacks now have a 2s cross-fade.
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Tue, 26 Jan 2016 13:52:56 +0000 |
parents | 79291bafbf5e |
children | cb348f6208b2 c0022a09c4f6 |
comparison
equal
deleted
inserted
replaced
1159:48b16162cdd0 | 1160:f0fa49f5bbb0 |
---|---|
293 // Called by the audioObject holding this element. Must be present | 293 // Called by the audioObject holding this element. Must be present |
294 var node = storage.document.createElement('value'); | 294 var node = storage.document.createElement('value'); |
295 node.textContent = this.slider.value; | 295 node.textContent = this.slider.value; |
296 return node; | 296 return node; |
297 }; | 297 }; |
298 this.startPlayback = function() | |
299 { | |
300 // Called when playback has begun | |
301 $(".track-slider").removeClass('track-slider-playing'); | |
302 $(this.holder).addClass('track-slider-playing'); | |
303 var outsideReference = document.getElementById('outside-reference'); | |
304 if (outsideReference != null) { | |
305 $(outsideReference).removeClass('track-slider-playing'); | |
306 } | |
307 }; | |
308 this.stopPlayback = function() | |
309 { | |
310 // Called when playback has stopped. This gets called even if playback never started! | |
311 $(this.holder).removeClass('track-slider-playing'); | |
312 }; | |
298 this.getValue = function() { | 313 this.getValue = function() { |
299 return this.slider.value; | 314 return this.slider.value; |
300 }; | 315 }; |
301 | 316 |
302 this.resize = function(event) | 317 this.resize = function(event) |
336 this.outsideReferenceHolder.disabled = true; | 351 this.outsideReferenceHolder.disabled = true; |
337 | 352 |
338 this.outsideReferenceHolder.onclick = function(event) | 353 this.outsideReferenceHolder.onclick = function(event) |
339 { | 354 { |
340 audioEngineContext.play(event.currentTarget.getAttribute('track-id')); | 355 audioEngineContext.play(event.currentTarget.getAttribute('track-id')); |
341 $('.track-slider').removeClass('track-slider-playing'); | |
342 $('.comment-div').removeClass('comment-box-playing'); | |
343 $(event.currentTarget).addClass('track-slider-playing'); | |
344 }; | 356 }; |
345 inject.appendChild(this.outsideReferenceHolder); | 357 inject.appendChild(this.outsideReferenceHolder); |
346 this.enable = function() | 358 this.enable = function() |
347 { | 359 { |
348 if (this.parent.state == 1) | 360 if (this.parent.state == 1) |
359 this.outsideReferenceHolder[0].children[0].textContent = progress+'%'; | 371 this.outsideReferenceHolder[0].children[0].textContent = progress+'%'; |
360 } else { | 372 } else { |
361 this.outsideReferenceHolder[0].children[0].textContent = "Play Reference"; | 373 this.outsideReferenceHolder[0].children[0].textContent = "Play Reference"; |
362 } | 374 } |
363 }; | 375 }; |
376 this.startPlayback = function() | |
377 { | |
378 // Called when playback has begun | |
379 $('.track-slider').removeClass('track-slider-playing'); | |
380 $('.comment-div').removeClass('comment-box-playing'); | |
381 $(this.outsideReferenceHolder).addClass('track-slider-playing'); | |
382 }; | |
383 this.stopPlayback = function() | |
384 { | |
385 // Called when playback has stopped. This gets called even if playback never started! | |
386 $(this.outsideReferenceHolder).removeClass('track-slider-playing'); | |
387 }; | |
364 this.exportXMLDOM = function(audioObject) | 388 this.exportXMLDOM = function(audioObject) |
365 { | 389 { |
366 return null; | 390 return null; |
367 }; | 391 }; |
368 this.getValue = function() | 392 this.getValue = function() |