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