Mercurial > hg > webaudioevaluationtool
comparison interfaces/horizontal-sliders.js @ 1268:a7ad6fc6a3b2
Outside Reference HTML now in core interfaceContext.
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Tue, 22 Mar 2016 11:52:12 +0000 |
parents | ba6b9e1aaef5 |
children | 426995e02e79 |
comparison
equal
deleted
inserted
replaced
1267:ff7d0fb646f1 | 1268:a7ad6fc6a3b2 |
---|---|
192 | 192 |
193 var audioObject = audioEngineContext.newTrack(element); | 193 var audioObject = audioEngineContext.newTrack(element); |
194 if (element.type == 'outside-reference') | 194 if (element.type == 'outside-reference') |
195 { | 195 { |
196 // Construct outside reference; | 196 // Construct outside reference; |
197 var orNode = new outsideReferenceDOM(audioObject,index,document.getElementById('interface-buttons')); | 197 var orNode = new interfaceContext.outsideReferenceDOM(audioObject,index,document.getElementById('interface-buttons')); |
198 audioObject.bindInterface(orNode); | 198 audioObject.bindInterface(orNode); |
199 } else { | 199 } else { |
200 // Create a slider per track | 200 // Create a slider per track |
201 switch(audioObject.specification.parent.label) { | 201 switch(audioObject.specification.parent.label) { |
202 case "none": | 202 case "none": |
349 // audioObject has an error!! | 349 // audioObject has an error!! |
350 this.playback.textContent = "Error"; | 350 this.playback.textContent = "Error"; |
351 $(this.playback).addClass("error-colour"); | 351 $(this.playback).addClass("error-colour"); |
352 } | 352 } |
353 }; | 353 }; |
354 | |
355 function outsideReferenceDOM(audioObject,index,inject) | |
356 { | |
357 this.parent = audioObject; | |
358 this.outsideReferenceHolder = document.createElement('button'); | |
359 this.outsideReferenceHolder.id = 'outside-reference'; | |
360 this.outsideReferenceHolder.className = 'outside-reference'; | |
361 this.outsideReferenceHolder.setAttribute('track-id',index); | |
362 this.outsideReferenceHolder.textContent = "Play Reference"; | |
363 this.outsideReferenceHolder.disabled = true; | |
364 | |
365 this.outsideReferenceHolder.onclick = function(event) | |
366 { | |
367 audioEngineContext.play(event.currentTarget.getAttribute('track-id')); | |
368 }; | |
369 inject.appendChild(this.outsideReferenceHolder); | |
370 this.enable = function() | |
371 { | |
372 if (this.parent.state == 1) | |
373 { | |
374 this.outsideReferenceHolder.disabled = false; | |
375 } | |
376 }; | |
377 this.updateLoading = function(progress) | |
378 { | |
379 if (progress != 100) | |
380 { | |
381 progress = String(progress); | |
382 progress = progress.split('.')[0]; | |
383 this.outsideReferenceHolder[0].children[0].textContent = progress+'%'; | |
384 } else { | |
385 this.outsideReferenceHolder[0].children[0].textContent = "Play Reference"; | |
386 } | |
387 }; | |
388 this.startPlayback = function() | |
389 { | |
390 // Called when playback has begun | |
391 $('.track-slider').removeClass('track-slider-playing'); | |
392 $('.comment-div').removeClass('comment-box-playing'); | |
393 $(this.outsideReferenceHolder).addClass('track-slider-playing'); | |
394 }; | |
395 this.stopPlayback = function() | |
396 { | |
397 // Called when playback has stopped. This gets called even if playback never started! | |
398 $(this.outsideReferenceHolder).removeClass('track-slider-playing'); | |
399 }; | |
400 this.exportXMLDOM = function(audioObject) | |
401 { | |
402 return null; | |
403 }; | |
404 this.getValue = function() | |
405 { | |
406 return 0; | |
407 }; | |
408 this.getPresentedId = function() | |
409 { | |
410 return 'reference'; | |
411 }; | |
412 this.canMove = function() | |
413 { | |
414 return false; | |
415 }; | |
416 this.error = function() { | |
417 // audioObject has an error!! | |
418 this.outsideReferenceHolder.textContent = "Error"; | |
419 $(this.outsideReferenceHolder).addClass("error-colour"); | |
420 } | |
421 } | |
422 | 354 |
423 function resizeWindow(event) | 355 function resizeWindow(event) |
424 { | 356 { |
425 // Called on every window resize event, use this to scale your page properly | 357 // Called on every window resize event, use this to scale your page properly |
426 | 358 |