Mercurial > hg > webaudioevaluationtool
changeset 2415:36934565bf6e
Merge branch 'master' into Dev_main
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Fri, 27 May 2016 11:07:07 +0100 |
parents | de547cf9a4e7 (diff) c2db5860a247 (current diff) |
children | fe81bbb074ad |
files | test_create/test_core.js |
diffstat | 4 files changed, 38 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/js/core.js Fri May 27 11:05:30 2016 +0100 +++ b/js/core.js Fri May 27 11:07:07 2016 +0100 @@ -1677,7 +1677,7 @@ } else { this.outputGain.gain.setValueAtTime(0.0,startTime); } - this.bufferNode.start(startTime); + this.bufferNode.start(startTime,this.specification.startTime || 0, this.specification.stopTime-this.specification.startTime || this.buffer.buffer.duration); this.bufferNode.playbackStartTime = audioEngineContext.timer.getTestTime(); } }; @@ -2488,7 +2488,7 @@ this.outsideReferenceHolder = document.createElement('button'); this.outsideReferenceHolder.className = 'outside-reference'; this.outsideReferenceHolder.setAttribute('track-id',index); - this.outsideReferenceHolder.textContent = "Play Reference"; + this.outsideReferenceHolder.textContent = this.parent.specification.label || "Reference"; this.outsideReferenceHolder.disabled = true; this.outsideReferenceHolder.onclick = function(event) @@ -2511,7 +2511,7 @@ progress = progress.split('.')[0]; this.outsideReferenceHolder.textContent = progress+'%'; } else { - this.outsideReferenceHolder.textContent = "Play Reference"; + this.outsideReferenceHolder.textContent = this.parent.specification.label || "Reference"; } }; this.startPlayback = function() @@ -2536,7 +2536,7 @@ }; this.getPresentedId = function() { - return 'Reference'; + return this.parent.specification.label || "Reference"; }; this.canMove = function() {
--- a/js/specification.js Fri May 27 11:05:30 2016 +0100 +++ b/js/specification.js Fri May 27 11:07:07 2016 +0100 @@ -626,6 +626,9 @@ this.marker = null; this.enforce = false; this.gain = 0.0; + this.label = null; + this.startTime = null; + this.stopTime = null; this.schema = specification.schema.getAllElementsByName('audioelement')[0];; this.parent = null; this.decode = function(parent,xml)
--- a/test_create/test_core.js Fri May 27 11:05:30 2016 +0100 +++ b/test_create/test_core.js Fri May 27 11:07:07 2016 +0100 @@ -1332,7 +1332,7 @@ span.textContent = "NOTE FOR SAFARI! You cannot right click on the below link and save it as a file, Safari does not like that at all. Instead click on it to open the XML, the Press Cmd+S to open the save dialogue. Make sure you have 'save as Page Source' selected on the bottom of the window. Currently Safari has no plans to support the HTML 'download' attribute which causes this problem"; obj.content.appendChild(span); var link = document.createElement("div"); - link.appendChild(doc.firstElementChild); + link.appendChild(doc.firstChild); var file = [link.innerHTML]; var bb = new Blob(file,{type : 'application/xml'}); var dnlk = window.URL.createObjectURL(bb); @@ -1946,6 +1946,21 @@ this.deleteNode.root.textContent = "Delete Entry"; this.deleteNode.root.addEventListener("click",this.deleteNode,false); this.buttonDOM.appendChild(this.deleteNode.root); + + this.getSurveyPosition = function() { + return this.parent.specification.options.findIndex(function(element){ + if (element == this) {return true;} + else {return false;} + },this.specification); + } + + this.swapOrder = function(other) { + // Enables two nodes to swap their respective positions + var other_pos = other.getSurveyPosition(); + var my_pos = this.getSurveyPosition(); + this.parent.specification.options[other_pos] = this.specification; + this.parent.specification.options[my_pos] = other.specification; + } } this.addNode = { root: document.createElement("button"),
--- a/xml/test-schema.xsd Fri May 27 11:05:30 2016 +0100 +++ b/xml/test-schema.xsd Fri May 27 11:07:07 2016 +0100 @@ -161,6 +161,7 @@ <xs:attribute ref="id" use="required" /> <xs:attribute name="url" type="xs:anyURI" use="required" /> <xs:attribute name="gain" type="xs:decimal" default="0" /> + <xs:attribute name="label" type="xs:string" /> <xs:attribute ref="name" /> <xs:attribute name="type" default="normal"> <xs:simpleType> @@ -184,6 +185,20 @@ <xs:attribute ref="alwaysInclude" /> <xs:attribute ref="preSilence" /> <xs:attribute ref="postSilence" /> + <xs:attribute name="startTime" use="optional"> + <xs:simpleType> + <xs:restriction base="xs:decimal"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="stopTime" use="optional"> + <xs:simpleType> + <xs:restriction base="xs:decimal"> + <xs:minInclusive value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> </xs:complexType> </xs:element>