comparison ape.js @ 1577:f1cca540c09d

audioObjects.metric object export their XML rather than ape.js
author Nicholas Jillings <nickjillings@users.noreply.github.com>
date Thu, 04 Jun 2015 11:01:19 +0100
parents 51bbd0fdf7b4
children 40f9b1725279
comparison
equal deleted inserted replaced
1576:51bbd0fdf7b4 1577:f1cca540c09d
72 this.lastClicked = id; 72 this.lastClicked = id;
73 audioEngineContext.audioObjects[id].metric.listening(time); 73 audioEngineContext.audioObjects[id].metric.listening(time);
74 } 74 }
75 console.log('slider ' + id + ' played (' + time + ')'); // DEBUG/SAFETY: show played slider id 75 console.log('slider ' + id + ' played (' + time + ')'); // DEBUG/SAFETY: show played slider id
76 }; 76 };
77
78 // Bindings for audioObjects
77 79
78 // Create the top div for the Title element 80 // Create the top div for the Title element
79 var titleAttr = xmlSetup[0].attributes['title']; 81 var titleAttr = xmlSetup[0].attributes['title'];
80 var title = document.createElement('div'); 82 var title = document.createElement('div');
81 title.className = "title"; 83 title.className = "title";
351 // Add to the holder. 353 // Add to the holder.
352 trackComment.appendChild(trackString); 354 trackComment.appendChild(trackString);
353 trackComment.appendChild(br); 355 trackComment.appendChild(br);
354 trackComment.appendChild(trackCommentBox); 356 trackComment.appendChild(trackCommentBox);
355 feedbackHolder.appendChild(trackComment); 357 feedbackHolder.appendChild(trackComment);
358 audioEngineContext.audioObjects[index].commentDOM = trackCommentBox;
356 } 359 }
357 360
358 // Create a slider per track 361 // Create a slider per track
359 362
360 var trackSliderObj = document.createElement('div'); 363 var trackSliderObj = document.createElement('div');
396 $(event.srcElement).addClass('track-slider-playing'); 399 $(event.srcElement).addClass('track-slider-playing');
397 $('.comment-div').removeClass('comment-box-playing'); 400 $('.comment-div').removeClass('comment-box-playing');
398 $('#comment-div-'+id).addClass('comment-box-playing'); 401 $('#comment-div-'+id).addClass('comment-box-playing');
399 } 402 }
400 }; 403 };
404
405 // Attach binding
406 audioEngineContext.audioObjects[index].sliderDOM = trackSliderObj;
401 407
402 canvas.appendChild(trackSliderObj); 408 canvas.appendChild(trackSliderObj);
403 audioEngineContext.audioObjects[index].metric.initialised(convSliderPosToRate(index)); 409 audioEngineContext.audioObjects[index].metric.initialised(convSliderPosToRate(index));
404 410
405 }); 411 });
559 var commentObjects = document.getElementsByClassName('comment-div'); 565 var commentObjects = document.getElementsByClassName('comment-div');
560 for (var i=0; i<trackSliderObjects.length; i++) 566 for (var i=0; i<trackSliderObjects.length; i++)
561 { 567 {
562 var audioElement = document.createElement('audioElement'); 568 var audioElement = document.createElement('audioElement');
563 audioElement.id = currentTrackOrder[i].attributes['id'].value; 569 audioElement.id = currentTrackOrder[i].attributes['id'].value;
564 audioElement.url = currentTrackOrder[i].attributes['url'].value; 570 audioElement.setAttribute('url',currentTrackOrder[i].attributes['url'].value);
565 var value = document.createElement('value'); 571 var value = document.createElement('value');
566 value.innerHTML = convSliderPosToRate(i); 572 value.innerHTML = convSliderPosToRate(i);
567 if (commentShow) { 573 if (commentShow) {
568 var comment = document.createElement("comment"); 574 var comment = document.createElement("comment");
569 var question = document.createElement("question"); 575 var question = document.createElement("question");
575 comment.appendChild(response); 581 comment.appendChild(response);
576 audioElement.appendChild(comment); 582 audioElement.appendChild(comment);
577 } 583 }
578 audioElement.appendChild(value); 584 audioElement.appendChild(value);
579 // Check for any per element metrics 585 // Check for any per element metrics
580 var metric = document.createElement('metric'); 586
581 var elementMetric = audioEngineContext.audioObjects[i].metric; 587 audioElement.appendChild(audioEngineContext.audioObjects[i].metric.exportXMLDOM());
582 if (audioEngineContext.metric.enableElementTimer) {
583 var elementTimer = document.createElement('metricResult');
584 elementTimer.id = 'elementTimer';
585 elementTimer.textContent = elementMetric.listenedTimer;
586 metric.appendChild(elementTimer);
587 }
588 if (audioEngineContext.metric.enableElementTracker) {
589 var elementTrackerFull = document.createElement('metricResult');
590 elementTrackerFull.id = 'elementTrackerFull';
591 var data = elementMetric.movementTracker;
592 for (var k=0; k<data.length; k++)
593 {
594 var timePos = document.createElement('timePos');
595 timePos.id = k;
596 var time = document.createElement('time');
597 time.textContent = data[k][0];
598 var position = document.createElement('position');
599 position.textContent = data[k][1];
600 timePos.appendChild(time);
601 timePos.appendChild(position);
602 elementTrackerFull.appendChild(timePos);
603 }
604 metric.appendChild(elementTrackerFull);
605 }
606 if (audioEngineContext.metric.enableElementListenTracker) {
607 var elementListenTracker = document.createElement('metricResult');
608 elementListenTracker.id = 'elementListenTracker';
609 var obj = elementMetric.listenTracker;
610 for (var k=0; k<obj.length; k++) {
611 elementListenTracker.appendChild(obj[k]);
612 }
613 metric.appendChild(elementListenTracker);
614 }
615 if (audioEngineContext.metric.enableElementInitialPosition) {
616 var elementInitial = document.createElement('metricResult');
617 elementInitial.id = 'elementInitialPosition';
618 elementInitial.textContent = elementMetric.initialPosition;
619 metric.appendChild(elementInitial);
620 }
621 if (audioEngineContext.metric.enableFlagListenedTo) {
622 var flagListenedTo = document.createElement('metricResult');
623 flagListenedTo.id = 'elementFlagListenedTo';
624 flagListenedTo.textContent = elementMetric.wasListenedTo;
625 metric.appendChild(flagListenedTo);
626 }
627 if (audioEngineContext.metric.enableFlagMoved) {
628 var flagMoved = document.createElement('metricResult');
629 flagMoved.id = 'elementFlagMoved';
630 flagMoved.textContent = elementMetric.wasMoved;
631 metric.appendChild(flagMoved);
632 }
633 if (audioEngineContext.metric.enableFlagComments) {
634 var flagComments = document.createElement('metricResult');
635 flagComments.id = 'elementFlagComments';
636 if (response.textContent.length == 0) {flag.textContent = 'false';}
637 else {flag.textContet = 'true';}
638 metric.appendChild(flagComments);
639 }
640 audioElement.appendChild(metric);
641 xmlDoc.appendChild(audioElement); 588 xmlDoc.appendChild(audioElement);
642 } 589 }
643 var commentQuestion = document.getElementsByClassName('commentQuestion'); 590 var commentQuestion = document.getElementsByClassName('commentQuestion');
644 for (var i=0; i<commentQuestion.length; i++) 591 for (var i=0; i<commentQuestion.length; i++)
645 { 592 {