Mercurial > hg > webaudioevaluationtool
comparison ape.js @ 700:47d868d4716e
Updated ape.js to match new audioHolder and audioElements tags.
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Tue, 07 Apr 2015 10:33:02 +0100 |
parents | a6364db4c2ea |
children | f2dad7c64e1e |
comparison
equal
deleted
inserted
replaced
699:3226304b74a5 | 700:47d868d4716e |
---|---|
65 } | 65 } |
66 // Create Submit (save) button | 66 // Create Submit (save) button |
67 var submit = document.createElement("button"); | 67 var submit = document.createElement("button"); |
68 submit.innerText = 'Submit'; | 68 submit.innerText = 'Submit'; |
69 submit.onclick = function() { | 69 submit.onclick = function() { |
70 // TODO: Update this for postTest tags | |
70 createProjectSave(projectReturn) | 71 createProjectSave(projectReturn) |
71 } | 72 } |
72 | 73 |
73 interfaceButtons.appendChild(playback); | 74 interfaceButtons.appendChild(playback); |
74 interfaceButtons.appendChild(submit); | 75 interfaceButtons.appendChild(submit); |
90 canvas.align = "left"; | 91 canvas.align = "left"; |
91 sliderBox.appendChild(canvas); | 92 sliderBox.appendChild(canvas); |
92 | 93 |
93 var feedbackHolder = document.createElement('div'); | 94 var feedbackHolder = document.createElement('div'); |
94 | 95 |
95 var tracks = xmlDoc.find('tracks'); | 96 var tracks = xmlDoc.find('audioHolder'); |
96 tracks = tracks[0]; | 97 tracks = tracks[0]; |
97 var hostURL = tracks.attributes['hostURL']; | 98 var hostURL = tracks.attributes['hostURL']; |
98 if (hostURL == undefined) { | 99 if (hostURL == undefined) { |
99 hostURL = ""; | 100 hostURL = ""; |
100 } else { | 101 } else { |
101 hostURL = hostURL.value; | 102 hostURL = hostURL.value; |
102 } | 103 } |
103 | 104 |
104 var hostFs = tracks.attributes['sampleRate']; | 105 var hostFs = tracks.attributes['sampleRate']; |
105 var hostFsExplicit = tracks.attributes['sampleRateExplicit']; | 106 if (hostFs != undefined) { |
106 if (hostFs == undefined) { | 107 hostFs = Number(hostFs.value); |
107 hostFsExplicit = false; | |
108 } else { | |
109 hostFs = hostFs.value; | |
110 if (hostFsExplicit != undefined) { | |
111 hostFsExplicit = hostFsExplicit.value; | |
112 } | |
113 } | 108 } |
114 | 109 |
115 /// CHECK FOR SAMPLE RATE COMPATIBILITY | 110 /// CHECK FOR SAMPLE RATE COMPATIBILITY |
116 if (hostFsExplicit == true) { | 111 if (hostFs != undefined) { |
117 if (Number(hostFs) != audioContext.sampleRate) { | 112 if (Number(hostFs) != audioContext.sampleRate) { |
118 var errStr = 'Sample rates do not match! Requested '+Number(hostFs)+', got '+audioContext.sampleRate+'. Please set the sample rate to match before completing this test.'; | 113 var errStr = 'Sample rates do not match! Requested '+Number(hostFs)+', got '+audioContext.sampleRate+'. Please set the sample rate to match before completing this test.'; |
119 alert(errStr); | 114 alert(errStr); |
120 return; | 115 return; |
121 } | 116 } |
122 } | 117 } |
123 | 118 |
124 var tracksXML = xmlDoc.find('track'); | 119 var tracksXML = xmlDoc.find('audioElements'); |
125 tracksXML.each(function(index,element){ | 120 tracksXML.each(function(index,element){ |
126 // Find URL of track | 121 // Find URL of track |
127 var trackURL = hostURL + this.attributes['url'].value; | 122 var trackURL = hostURL + this.attributes['url'].value; |
128 // Now load each track in | 123 // Now load each track in |
129 audioEngineContext.newTrack(trackURL); | 124 audioEngineContext.newTrack(trackURL); |
133 var trackComment = document.createElement('textarea'); | 128 var trackComment = document.createElement('textarea'); |
134 trackComment.rows = '4'; | 129 trackComment.rows = '4'; |
135 trackComment.cols = '100'; | 130 trackComment.cols = '100'; |
136 trackComment.name = 'trackComment'+index; | 131 trackComment.name = 'trackComment'+index; |
137 trackComment.className = 'trackComment'; | 132 trackComment.className = 'trackComment'; |
138 feedbackHolder.appendChild(trackTitle); | 133 trackObj.appendChild(trackTitle); |
139 feedbackHolder.appendChild(trackComment); | 134 trackObj.appendChild(trackComment); |
140 feedbackHolder.appendChild(trackObj); | 135 feedbackHolder.appendChild(trackObj); |
141 // Create a slider per track | 136 // Create a slider per track |
142 | 137 |
143 var trackSliderObj = document.createElement('div'); | 138 var trackSliderObj = document.createElement('div'); |
144 trackSliderObj.className = 'track-slider'; | 139 trackSliderObj.className = 'track-slider'; |
159 // Onclick, switch playback to that track | 154 // Onclick, switch playback to that track |
160 trackSliderObj.onclick = function() { | 155 trackSliderObj.onclick = function() { |
161 // Get the track ID from the object ID | 156 // Get the track ID from the object ID |
162 var id = Number(this.id.substr(13,2)); // Maximum theoretical tracks is 99! | 157 var id = Number(this.id.substr(13,2)); // Maximum theoretical tracks is 99! |
163 audioEngineContext.selectedTrack(id); | 158 audioEngineContext.selectedTrack(id); |
164 } | 159 }; |
165 | 160 |
166 canvas.appendChild(trackSliderObj); | 161 canvas.appendChild(trackSliderObj); |
167 }) | 162 }); |
168 | 163 |
169 | 164 |
170 // Inject into HTML | 165 // Inject into HTML |
171 insertPoint.innerHTML = null; // Clear the current schema | 166 insertPoint.innerHTML = null; // Clear the current schema |
172 insertPoint.appendChild(title); // Insert the title | 167 insertPoint.appendChild(title); // Insert the title |