Mercurial > hg > webaudioevaluationtool
comparison core.js @ 611:fef9f13bec0a multiple-tests-concatenation
Workaround for #1658: in order to obtain a test with zero pages, set attribute hidden='true' in the one and only page
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Sun, 13 Mar 2016 02:12:30 +0000 |
parents | 34d8bca65edc |
children | cad1178196b4 |
comparison
equal
deleted
inserted
replaced
610:babcc4ac48eb | 611:fef9f13bec0a |
---|---|
1065 for (var n=0; n<waveObj.num_samples; n++) | 1065 for (var n=0; n<waveObj.num_samples; n++) |
1066 { | 1066 { |
1067 buffer_ptr[n] = waveObj.decoded_data[c][n]; | 1067 buffer_ptr[n] = waveObj.decoded_data[c][n]; |
1068 } | 1068 } |
1069 } | 1069 } |
1070 | 1070 |
1071 delete waveObj; | 1071 delete waveObj; |
1072 } else { | 1072 } else { |
1073 audioContext.decodeAudioData(bufferObj.xmlRequest.response, function(decodedData) { | 1073 audioContext.decodeAudioData(bufferObj.xmlRequest.response, function(decodedData) { |
1074 bufferObj.buffer = decodedData; | 1074 bufferObj.buffer = decodedData; |
1075 }, function(e){ | 1075 }, function(e){ |
1473 } | 1473 } |
1474 }; | 1474 }; |
1475 | 1475 |
1476 this.exportXMLDOM = function() { | 1476 this.exportXMLDOM = function() { |
1477 var file = storage.document.createElement('file'); | 1477 var file = storage.document.createElement('file'); |
1478 file.setAttribute('sampleRate',this.buffer.buffer.sampleRate); | 1478 var buf; |
1479 file.setAttribute('channels',this.buffer.buffer.numberOfChannels); | 1479 if(typeof(this.buffer) !== "undefined"){ |
1480 file.setAttribute('sampleCount',this.buffer.buffer.length); | 1480 buf = this.buffer.buffer; |
1481 file.setAttribute('duration',this.buffer.buffer.duration); | 1481 } else { |
1482 buf = {}; | |
1483 } | |
1484 file.setAttribute('sampleRate', buf.sampleRate); | |
1485 file.setAttribute('channels', buf.numberOfChannels); | |
1486 file.setAttribute('sampleCount', buf.length); | |
1487 file.setAttribute('duration', buf.duration); | |
1482 this.storeDOM.appendChild(file); | 1488 this.storeDOM.appendChild(file); |
1483 if (this.specification.type != 'outside-reference') { | 1489 if (this.specification.type != 'outside-reference') { |
1484 var interfaceXML = this.interfaceDOM.exportXMLDOM(this); | 1490 var interfaceXML = this.interfaceDOM.exportXMLDOM(this); |
1485 if (interfaceXML != null) | 1491 if (interfaceXML != null) |
1486 { | 1492 { |
2436 { | 2442 { |
2437 audioEngineContext.newTestPage(audioHolderObject,store); | 2443 audioEngineContext.newTestPage(audioHolderObject,store); |
2438 interfaceContext.commentBoxes.deleteCommentBoxes(); | 2444 interfaceContext.commentBoxes.deleteCommentBoxes(); |
2439 interfaceContext.deleteCommentQuestions(); | 2445 interfaceContext.deleteCommentQuestions(); |
2440 loadTest(audioHolderObject,store); | 2446 loadTest(audioHolderObject,store); |
2447 if(audioHolderObject.hidden === true){ | |
2448 // work-around to have zero pages: set the attribute hidden=true and | |
2449 // it will automatically skip over. | |
2450 testState.advanceState(); | |
2451 } | |
2441 }; | 2452 }; |
2442 | 2453 |
2443 // Bounded by interface!! | 2454 // Bounded by interface!! |
2444 // Interface object MUST have an exportXMLDOM method which returns the various DOM levels | 2455 // Interface object MUST have an exportXMLDOM method which returns the various DOM levels |
2445 // For example, APE returns the slider position normalised in a <value> tag. | 2456 // For example, APE returns the slider position normalised in a <value> tag. |