comparison interfaces/horizontal-sliders.js @ 485:92f26057b934 Dev_main

Added master volume. Ensured playhead, page-count and volume <interfaceoption> show options are enabled on all test pages.
author Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk>
date Mon, 25 Jan 2016 17:29:34 +0000
parents 9ae9d1fb80bf
children 159b87e5de67
comparison
equal deleted inserted replaced
484:44d20bccf36b 485:92f26057b934
111 { 111 {
112 // Called each time a new test page is to be build. The page specification node is the only item passed in 112 // Called each time a new test page is to be build. The page specification node is the only item passed in
113 var id = page.id; 113 var id = page.id;
114 114
115 var feedbackHolder = document.getElementById('feedbackHolder'); 115 var feedbackHolder = document.getElementById('feedbackHolder');
116 feedbackHolder.innerHTML = null;
117
116 var interfaceObj = page.interfaces; 118 var interfaceObj = page.interfaces;
117 if (interfaceObj.length > 1) 119 if (interfaceObj.length > 1)
118 { 120 {
119 console.log("WARNING - This interface only supports one <interface> node per page. Using first interface node"); 121 console.log("WARNING - This interface only supports one <interface> node per page. Using first interface node");
120 } 122 }
122 if(interfaceObj.title != null) 124 if(interfaceObj.title != null)
123 { 125 {
124 document.getElementById("pageTitle").textContent = interfaceObj.title; 126 document.getElementById("pageTitle").textContent = interfaceObj.title;
125 } 127 }
126 128
129 var interfaceOptions = specification.interfaces.options.concat(interfaceObj.options);
130 for (var option of interfaceOptions)
131 {
132 if (option.type == "show")
133 {
134 switch(option.name) {
135 case "playhead":
136 var playbackHolder = document.getElementById('playback-holder');
137 if (playbackHolder == null)
138 {
139 playbackHolder = document.createElement('div');
140 playbackHolder.style.width = "100%";
141 playbackHolder.align = 'center';
142 playbackHolder.appendChild(interfaceContext.playhead.object);
143 feedbackHolder.appendChild(playbackHolder);
144 }
145 break;
146 case "page-count":
147 var pagecountHolder = document.getElementById('page-count');
148 if (pagecountHolder == null)
149 {
150 pagecountHolder = document.createElement('div');
151 pagecountHolder.id = 'page-count';
152 }
153 pagecountHolder.innerHTML = '<span>Page '+(page.presentedId+1)+' of '+specification.pages.length+'</span>';
154 var inject = document.getElementById('interface-buttons');
155 inject.appendChild(pagecountHolder);
156 break;
157 case "volume":
158 if (document.getElementById('master-volume-holder') == null)
159 {
160 feedbackHolder.appendChild(interfaceContext.volume.object);
161 }
162 break;
163 }
164 }
165 }
166
127 // Delete outside reference 167 // Delete outside reference
128 var outsideReferenceHolder = document.getElementById('outside-reference'); 168 var outsideReferenceHolder = document.getElementById('outside-reference');
129 if (outsideReferenceHolder != null) { 169 if (outsideReferenceHolder != null) {
130 document.getElementById('interface-buttons').removeChild(outsideReferenceHolder); 170 document.getElementById('interface-buttons').removeChild(outsideReferenceHolder);
131 } 171 }
132 172
133 var sliderBox = document.getElementById('slider-holder'); 173 var sliderBox = document.getElementById('slider-holder');
134 feedbackHolder.innerHTML = null;
135 sliderBox.innerHTML = null; 174 sliderBox.innerHTML = null;
136 175
137 var commentBoxPrefix = "Comment on track"; 176 var commentBoxPrefix = "Comment on track";
138 if (interfaceObj.commentBoxPrefix != undefined) { 177 if (interfaceObj.commentBoxPrefix != undefined) {
139 commentBoxPrefix = interfaceObj.commentBoxPrefix; 178 commentBoxPrefix = interfaceObj.commentBoxPrefix;
291 { 330 {
292 if (audioEngineContext.audioObjects[i].specification.type != 'outside-reference'){ 331 if (audioEngineContext.audioObjects[i].specification.type != 'outside-reference'){
293 audioEngineContext.audioObjects[i].interfaceDOM.resize(event); 332 audioEngineContext.audioObjects[i].interfaceDOM.resize(event);
294 } 333 }
295 } 334 }
335 document.getElementById("slider").style.height = totalHeight+50+'px';
296 drawScale(); 336 drawScale();
297 } 337 }
298 338
299 function drawScale() 339 function drawScale()
300 { 340 {