annot-server/static/js/annotviz.min.js
changeset 166 fa9e24e46968
parent 161 0b01cbd8ed9e
equal deleted inserted replaced
165:7dfdafb88968 166:fa9e24e46968
     1 !function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.annotviz=t()}}(function(){return function t(e,i,n){function o(r,a){if(!i[r]){if(!e[r]){var h="function"==typeof require&&require;if(!a&&h)return h(r,!0);if(s)return s(r,!0);var l=new Error("Cannot find module '"+r+"'");throw l.code="MODULE_NOT_FOUND",l}var c=i[r]={exports:{}};e[r][0].call(c.exports,function(t){var i=e[r][1][t];return o(i?i:t)},c,c.exports,t,e,i,n)}return i[r].exports}for(var s="function"==typeof require&&require,r=0;r<n.length;r++)o(n[r]);return o}({1:[function(t,e){"use strict";var i=t("./doubleroll"),n=t("./annotsroll"),o=t("./annotstimeline"),s=t("./annotsvizview"),r=t("./stageview"),a=t("./wswrapper"),h=t("./logger"),l=t("./utils"),c=t("lodash");e.exports=c({}).extend(i).extend(n).extend(o).extend(s).extend(r).extend(a).extend(h).extend(l).value()},{"./annotsroll":2,"./annotstimeline":3,"./annotsvizview":4,"./doubleroll":5,"./logger":6,"./stageview":8,"./utils":9,"./wswrapper":10,lodash:"lodash"}],2:[function(t,e){"use strict";function i(t){var e=this,i=o(t).defaults(a).value();this.container=new n.DisplayObjectContainer,this.container.x=i.xInit,this.container.y=i.yInit,this.container.width=i.width,this.height=i.height,this.width=i.width,this.widthRoll=i.widthRoll,this.pixelsPerSecond=i.pixelsPerSecond,this.annotColors=i.annotColors,this.startTs=i.startTs||Date.now(),this.ignoreAnnots=i.ignoreAnnots;var h=i.yInit,l=o(i.annotStyles).defaults(r).value(),c=15;for(var d in l)l[d].wordWrap===!0&&(l[d].wordWrapWidth=this.widthRoll-c);var g,f=!1,u=i.ws,v=i.externalRefresh,p=i.stageView,m=0;p.registerComponent(this);var w=function(t){var e=t.toGlobal(new n.Point(0,0));return e.x+t.width<0||e.y+t.height<0};this.addAnnots=function(t){var e=t.content.category.label,i=t.content.text,n=t.content.user,o=Date.parse(t.ts),s=t.content.color||this.getColor(o,t.content.category.code);this.addAnnot(e,i,n,s,o)},this.getColor=function(t,e){var i;o(this.annotColors).eachRight(function(e){return e.ts<t?(i=e.colors,!1):void 0});var n;return i&&(n=i[e]),n||(n=i.defaultColor||s),n},this.addAnnot=function(t,i,s,r,a){var d=0,f=(a-this.startTs)*this.pixelsPerSecond/1e3+h,u=parseInt(r.replace(/^#/,""),16);if(0===m){var v=(new n.Graphics).beginFill(u).drawRect(d,f,10,3).endFill();this.container.addChild(v);var p=0,w=new n.Text(t,o(l.label).extend({fill:r}).value());if(w.x=d+c,w.y=f-23,this.container.addChild(w),p+=w.height-23+2,i){var C=new n.Text(i,l.text);C.x=d+c,C.y=f+p,this.container.addChild(C),p+=C.height+2}var x=new n.Text(s,l.user);x.x=d+c,x.y=f+p,this.container.addChild(x),p+=x.height+8,this.ignoreAnnots===!0&&(m=p/this.pixelsPerSecond,g=setInterval(function(){e.refreshWait()},1e3))}this.addAnnotLine(u,f)},this.addAnnotLine=function(t,e){var i=this.widthRoll,o=(new n.Graphics).beginFill(t).drawRect(i,e,this.width-i,3).endFill();this.container.addChild(o)},this.moveTo=function(t){this.container.y=Math.floor(t*this.pixelsPerSecond)},this.move=this.refresh=function(){var t=(this.startTs-Date.now())/1e3;this.moveTo(t)},this.refreshWait=function(){m-=1,0>m&&(m=0,clearInterval(g))},this.removePassedObjets=function(){var t=[];o(e.container.children).forEach(function(e){return"undefined"==typeof e||w(e)&&t.push(e)}),t.forEach(function(t){e.container.removeChild(t)})},this.init=function(){u.message(function(t){e.addAnnots(t)})},this.start=function(){f||(this.startTs=Date.now(),f=!0),this.cleanInterval=setInterval(function(){e.removePassedObjets()},1e3*this.height/this.pixelsPerSecond),v||(this.refreshInterval=setInterval(function(){e.move()},1e3/this.framerate))},this.stop=function(){clearInterval(this.cleanInterval),v||clearInterval(this.refreshInterval)}}var n=t("pixi"),o=t("lodash"),s="#bababa",r={label:{font:"16pt Arial Bold",fill:"#65A954",wordWrap:!0},text:{font:"12pt Arial Regular",fill:"#444444",wordWrap:!0},user:{font:"14pt Arial regular",fill:"#666666"}},a={externalRefresh:!1,defaultColor:s,annotStyles:r,ignoreAnnots:!1};e.exports={AnnotsRoll:i}},{lodash:"lodash",pixi:"pixi"}],3:[function(t,e){"use strict";function i(t){var e=this,i=s(t).defaults(r).value();this.container=new n.DisplayObjectContainer,this.container.x=i.xInit,this.container.y=i.yInit,this.container.width=i.width,this.container.height=i.height,this.timeBegin=i.timeBegin,this.timeEnd=i.timeEnd,this.duration=(this.timeEnd-this.timeBegin)/1e3,this.width=i.width,this.height=i.height,this.intervalHeight=i.intervalHeight,this.intervalWidth=i.intervalWidth,this.maxCellHeight=i.maxCellHeight,this.annotCategories=i.annotCategories,this.startTs=t.startTs||Date.now(),this.showClockGraphics=i.showClockGraphics,this.archive=i.archive,this.circleX=i.circleX||this.width/2,this.circleY=i.circleY||this.height/2,this.radius=i.radius;var a=2*Math.PI*this.radius;this.intervalDuration=this.intervalWidth*this.duration/a;var h=i.channel,l=i.eventCode,c=i.serverUrl,d=i.maxPages,g=Math.floor(a/this.intervalWidth);this.cells=[];for(var f=0;f<a/this.intervalWidth;f++)this.cells[f]=[],this.cells[f].i=f,this.cells[f].totalAnnots=0,this.cells[f].categories={};var u=i.ws,v=i.stageView,p=new n.Graphics;p.lineStyle(2,6579300).drawCircle(this.circleX,this.circleY,this.radius-3).endFill(),this.container.addChild(p),v.registerComponent(this);var m=function(){var t=e.timeBegin,i=Math.min(e.timeEnd,e.startTs),o=c+"/p/api/v1/annotation",s=[{name:"ts",op:">",val:new Date(t).toISOString()},{name:"ts",op:"<=",val:new Date(i).toISOString()},{name:"channel",op:"==",val:h},{name:"event_code",op:"==",val:l}];o=o+"?q="+JSON.stringify({filters:s});var r=1,a=1,g=function(t){if(t){var i=t.target.json;r=Math.min(d,parseInt(i.total_pages)),i.objects.forEach(function(t){e.addAnnot(t)})}if(r>=a){var s=new n.JsonLoader(o+"&page="+a,!0);s.on("loaded",g),s.load(),a++}};g()};return this.addAnnot=function(t){var e,i=Date.parse(t.ts);if(s(this.annotCategories).eachRight(function(t){return t.ts<i?(e=t,!1):void 0}),e&&this.timeEnd>i){var n=Math.floor((i-this.timeBegin)/(1e3*this.intervalDuration));"undefined"==typeof this.cells[n].graphics&&this.initCell(this.cells[n],e);var o;o="undefined"!=typeof e.colors[t.content.category.code]?t.content.category.code:"default",this.cells[n].categories[o].count+=1,this.cells[n].totalAnnots+=1,this.redrawCell(this.cells[n],e)}},this.initClockGraphics=function(){var t=new n.Text(o.formatTime(this.timeBegin),{font:"12pt Gothic Standard",fill:"#646464"});t.x=this.circleX+15,t.y=this.circleY-this.radius-this.maxCellHeight-10,this.container.addChild(t);var e=new n.Text(o.formatTime(this.timeEnd),{font:"12pt Gothic Standard",fill:"#646464"});e.x=this.circleX-15-e.width,e.y=this.circleY-this.radius-this.maxCellHeight-10,this.container.addChild(e);var i=new n.Text(o.formatTime((this.timeEnd-this.timeBegin)/4+this.timeBegin),{font:"12pt Gothic Standard",fill:"#646464"});i.x=this.circleX+this.radius+this.maxCellHeight+10,i.y=this.circleY-i.height,i.rotation=Math.PI/2,this.container.addChild(i);var s=new n.Text(o.formatTime((this.timeEnd-this.timeBegin)/2+this.timeBegin),{font:"12pt Gothic Standard",fill:"#646464"});s.x=this.circleX-s.width/2,s.y=this.circleY+this.radius+this.maxCellHeight-2,this.container.addChild(s);var r=new n.Text(o.formatTime(3*(this.timeEnd-this.timeBegin)/4+this.timeBegin),{font:"12pt Gothic Standard",fill:"#646464"});r.x=this.circleX-this.radius-this.maxCellHeight-10,r.y=this.circleY+i.height,r.rotation=-Math.PI/2,this.container.addChild(r);var a=new n.Graphics;a.lineStyle(1,6579300).moveTo(this.circleX,this.circleY-this.radius/3/2).lineTo(this.circleX,this.circleY-this.radius-this.maxCellHeight-10).endFill(),this.container.addChild(a)},this.redrawCell=function(t,e){var i,n=0;i=t.totalAnnots*this.intervalHeight>this.maxCellHeight?this.maxCellHeight/t.totalAnnots:this.intervalHeight;for(var o=0;o<e.order.length;o++){var s=e.order[o];t.graphics.beginFill(t.categories[s].color.replace("#","0x")).drawRect(0,n,this.intervalWidth-1,-t.categories[s].count*i).endFill(),n-=t.categories[s].count*i}},this.initCell=function(t,e){t.graphics=new n.Graphics,t.graphics.position.x=this.circleX+this.radius*Math.sin(t.i*(360/g)*(Math.PI/180)),t.graphics.position.y=this.circleY-this.radius*Math.cos(t.i*(360/g)*(Math.PI/180)),t.graphics.rotation=t.i*(360/g)*(Math.PI/180)+360/(2*g)*(Math.PI/180),this.container.addChild(t.graphics);for(var i in e.colors)t.categories[i]={count:0,color:e.colors[i]};"undefined"==typeof t.categories["default"]&&(t.categories["default"]={count:0,color:e.defaultColor})},this.init=function(){this.archive||u.message(function(t){e.addAnnot(t)}),this.showClockGraphics&&this.initClockGraphics()},this.start=function(){this.startTs=Date.now(),m()},this.refresh=function(){},this.stop=function(){},this}var n=t("pixi"),o=t("./utils.js"),s=t("lodash"),r={logger:void 0,intervalWidth:10,intervalHeight:5,maxCellHeight:200,radius:300,serverUrl:"http://127.0.0.1:8080",channel:"ANNOT",maxPages:1e3,showClockGraphics:!0,archive:!1};e.exports={AnnotsTimeLine:i}},{"./utils.js":9,lodash:"lodash",pixi:"pixi"}],4:[function(t,e){"use strict";function i(t){var e=this,i=o(t).defaults(l).value();this.container=new n.DisplayObjectContainer,this.container.x=i.xInit,this.container.y=i.yInit,this.width=i.width,this.height=i.height,this.timeBegin=i.timeBegin,this.timeEnd=i.timeEnd,this.annotCategories=[],this.annotCategoriesDay2=[],this.annotCategoriesDay1=[];var c=i.wsPianoroll,d=i.wsAnnot,g=i.stageView,f=i.channel,u=i.serverUrl,v=i.eventCode,p=i.eventCodeSessionDay2,m=i.eventCodeSessionDay1,w=i.logger;h.getAnnotCategories(i.urlCategories+v,this.annotCategories),h.getAnnotCategories(i.urlCategories+p,this.annotCategoriesDay2),h.getAnnotCategories(i.urlCategories+m,this.annotCategoriesDay1),g.registerComponent(this);var C=new r.AnnotsTimeLine({stageView:g,logger:w,ws:d,xInit:0,yInit:0,width:624,height:568,timeBegin:this.timeBegin,timeEnd:this.timeEnd,intervalWidth:6,intervalHeight:10,maxCellHeight:70,radius:200,eventCode:v,channel:f,serverUrl:u,annotCategories:this.annotCategories}),x=new r.AnnotsTimeLine({stageView:g,xInit:0,yInit:0,width:624,height:568,timeBegin:Date.parse("2015-04-16T14:00:00+02:00"),timeEnd:Date.parse("2015-04-16T21:00:00+02:00"),circleX:C.circleX,circleY:C.circleY,intervalWidth:2*C.radius/3*C.intervalWidth/C.radius,intervalHeight:C.intervalHeight*(C.radius-2*C.radius/3)/C.maxCellHeight,maxCellHeight:(C.radius-2*C.radius/3)/2,radius:2*C.radius/3,annotCategories:this.annotCategoriesDay2,eventCode:p,channel:f,serverUrl:u,showClockGraphics:!1,archive:!0}),y=(new r.AnnotsTimeLine({stageView:g,xInit:0,yInit:0,width:624,height:568,timeBegin:Date.parse("2015-04-16T14:00:00+02:00"),timeEnd:Date.parse("2015-04-16T21:00:00+02:00"),circleX:C.circleX,circleY:C.circleY,intervalWidth:2*C.radius/3*C.intervalWidth/C.radius,intervalHeight:C.intervalHeight*(C.radius-C.radius/3)/C.maxCellHeight,maxCellHeight:(2*C.radius/3-C.radius/3)/4,radius:C.radius/3,annotCategories:this.annotCategoriesDay1,eventCode:m,channel:f,serverUrl:u,showClockGraphics:!1,archive:!0}),new n.Text("-- : -- : --",{font:"18pt Gothic Standard",fill:"#646464"}));y.x=x.circleX-y.width/2,y.y=x.circleY-y.height/2,this.container.addChild(y);var T=(new s.DoubleRoll({stageView:g,logger:w,ws:c,yInit:this.height-200,sceneHeight:200,pianorolls:[{height:200,timeWidth:10,lineInterval:5e3,noteHeight:10}]}),new s.DoubleRoll({stageView:g,logger:w,ws:c,orientation:"vertical",sceneHeight:568,pianorolls:[{height:200,timeWidth:60,lineInterval:5e3,noteHeight:5}]})),I=new a.AnnotsRoll({stageView:g,logger:w,ws:d,parentContainer:T.stage,xInit:624,yInit:568,width:400,height:568,widthRoll:200,framerate:T.framerate,pixelsPerSecond:Math.floor(1024/60),annotColors:this.annotCategories}),b=(new n.Graphics).lineStyle(1,6579300).moveTo(I.container.x,I.container.y).lineTo(I.container.x,I.container.y-I.height).moveTo(I.container.x+I.widthRoll,I.container.y).lineTo(I.container.x+I.widthRoll,I.container.y-I.height).moveTo(0,this.height-200).lineTo(this.width,this.height-200).drawRect(0,0,this.width-1,this.height-1).beginFill(15527148).drawRect(824,0,200,568).endFill();this.container.addChild(b),this.init=function(){},this.updateTime=function(){y.setText(h.formatTime(Date.now()))};var D;return this.start=function(){D=setInterval(function(){e.updateTime()},1e3)},this.refresh=function(){},this.stop=function(){},this}var n=t("pixi"),o=t("lodash"),s=t("./doubleroll.js"),r=t("./annotstimeline.js"),a=t("./annotsroll.js"),h=t("./utils.js"),l={xInit:0,yInit:0,width:1024,height:768};e.exports={AnnotsVizView:i}},{"./annotsroll.js":2,"./annotstimeline.js":3,"./doubleroll.js":5,"./utils.js":9,lodash:"lodash",pixi:"pixi"}],5:[function(t,e){"use strict";function i(t){var e=this,i=o(t).defaults(a).value(),h=i.orientation,l="vertical"!==h;this.logger=i.logger,this.lineColor=i.lineColor,this.lineFillColor=i.lineFillColor,this.framerate=i.framerate,this.offsetMusic=i.offsetMusic,this.noteColors=i.noteColors,this.showTimer=i.showTimer;var c=i.noteHeight,d=i.sceneHeight||o(i.pianorolls).reduce(function(t,e){return t+e.height},0),g=i.timeWidth,f=i.lineInterval,u=i.offsetMusic,v=i.sceneWidth,p=i.stageView,m=i.zeroShift,w=i.ws,C={};this.container=new n.DisplayObjectContainer,this.container.x=Math.floor(v*m),this.container.y=0,p.registerComponent(this);var x=[],y={parentContainer:this.container,orientation:h,xInit:0,width:v,noteColors:this.noteColors,colorsReg:C,lineColor:this.lineColor,lineInterval:f,offsetMusic:u},T=i.yInit||0,I=!0;if(o(i.pianorolls).forEach(function(t,r){var a=c||t.noteHeight||t.height/(t.range.top-t.range.bottom+1),h=t.timeWidth||g;if(x.push(new s(o({yInit:T,height:t.height,linesDown:I,pixelsPerSecond:Math.floor(v/h),noteHeight:a,lineInterval:t.lineInterval,range:t.range,dynamicRange:t.dynamicRange}).defaults(y).value())),T+=t.height,I=!I,r<i.pianorolls.length-1){var l=(new n.Graphics).beginFill(e.lineFillColor).lineStyle(1,e.lineColor).moveTo(Math.floor(v*m),T).lineTo(-v-Math.floor(v*m),T).endFill();e.container.addChild(l)}}),this.showTimer){var b=new n.Text("-- : -- : --",{font:"40pt Arial",fill:"#646464"});b.x=-b.width-60,b.y=d-b.height-30,this.container.addChild(b)}l||(this.container.rotation=Math.PI/2,this.container.y=d,this.container.x=v),this.init=function(){w.message(function(t){e.addNotes(t)})},this.updateTime=function(){b.setText(r.formatTime(Date.now()))},this.addNotes=function(t){x.forEach(function(e){e.addNoteRaw(t)})},this.refresh=function(){x.forEach(function(t){t.move()})};var D,H;return this.start=function(){this.showTimer&&(H=setInterval(function(){e.updateTime()},1e3)),D=Date.now(),x.forEach(function(t){t.start()})},this.stop=function(){x.forEach(function(t){t.stop()})},this.log=function(t){this.logger&&this.logger.log(t)},this}var n=t("pixi"),o=t("lodash"),s=t("./pianoroll"),r=t("./utils.js"),a={orientation:"horizontal",logger:void 0,sceneWidth:1024,showTimer:!1,pianorolls:[{height:384,timeWidth:10,lineInterval:5e3,noteHeight:void 0,range:{bottom:40,top:90},dynamicRange:!0},{height:384,timeWidth:60,lineInterval:5e3,noteHeight:void 0,range:{bottom:0,top:128},dynamicRange:!1}],framerate:25,offsetMusic:!1,sceneBgColor:16777215,lineColor:4473924,lineFillColor:16776960,noteColors:[12124160,4971889,11506462,1845434,5466513],noteHeight:void 0,zeroShift:.9,timeWidth:60,lineInterval:5e3};e.exports={DoubleRoll:i}},{"./pianoroll":7,"./utils.js":9,lodash:"lodash",pixi:"pixi"}],6:[function(t,e){"use strict";function i(t,e){var i=e;"string"==typeof e&&(i=document.getElementById(e)),t||(document.body.removeChild(i),i=void 0),this.log=function(e){t&&i&&(i.innerHTML+=e+"\n",i.scrollTop=i.scrollHeight)}}function n(t){this.log=function(e){t&&console.log(e)}}e.exports={HtmlLogger:i,ConsoleLogger:n}},{}],7:[function(t,e){"use strict";function i(t){var e=this;this.container=new n.DisplayObjectContainer,this.container.x=t.xInit,this.container.y=t.yInit,t.parentContainer.addChild(this.container);var i=t.orientation,a="vertical"!==i;this.linesDown=t.linesDown,this.height=t.height,this.pixelsPerSecond=t.pixelsPerSecond,this.width=t.width,this.noteColors=t.noteColors,this.colorsReg=t.colorsReg||{},this.lineColor=t.lineColor,this.lineInterval=t.lineInterval,this.offsetMusic=t.offsetMusic||!1,this.noteHeight=t.noteHeight,this.noteDict={},this.startTs=t.startTs||Date.now(),this.dynamicRange=t.dynamicRange,this.initRange=t.range,this.range=t.range;var h=!1,l=function(t){var e=t.toGlobal(new n.Point(0,0));return e.x+t.width<0||e.y+t.height<0};this.getColor=function(t){var e=this.colorsReg[t];if("undefined"==typeof e){var i=Object.keys(this.colorsReg).length;e=this.colorsReg[t]=i<this.noteColors.length?this.noteColors[i]:parseInt(o({luminosity:"light",hue:"random",format:"hex"}).replace(/^#/,""),16)}return e},this.getNoteRect=function(t,e,i,o,s,r,a){var h=new n.Graphics;return h.note=t,h.beginFill(o,s),h.drawRect(0,0,r,a),h.endFill(),h.x=e,h.y=i,h.width=r,h.height=a,h},this.addNoteRaw=function(t){var e=t.content[3],i=t.content[4],n=1e3*(t.content[0]-r),o=t.content[2],s=t.content[1];this.addNote(e,n,s,i,o,0)},this.addNote=function(t,e,i,n,o,s){var r=e;this.offsetMusic&&(r=this.startTs+i);var a,h=s,l=n;if(!s)if("undefined"==typeof this.noteDict[o]&&(this.noteDict[o]={}),0===n){if("undefined"!=typeof this.noteDict[o][t]){var c=this.noteDict[o][t];delete this.noteDict[o][t],h=i-c.sessionTs,a=c.graphics,l=c.velocity,r=c.ts}}else h=Math.abs(Date.now()-r),this.noteDict[o][t]={ts:r,velocity:n,sessionTs:i};if(!this.offsetMusic||0===n){var d=h*this.pixelsPerSecond/1e3;if(a)a.width=d;else{var g=(r-this.startTs)*this.pixelsPerSecond/1e3;if(g+d<Math.abs(this.container.x)-this.width)return;if(this.dynamicRange&&(this.range.bottom>t||t>this.range.top)){var f={};f.bottom=Math.min(t,this.range.bottom),f.top=Math.max(t,this.range.top),this.rescaleScene(f)}var u=Math.floor((this.range.top-this.range.bottom-(t-this.range.bottom)+.5)*this.noteHeight-this.noteHeight/2),v=this.getColor(o),p=l/128;a=this.getNoteRect(t,g,u,v,p,d,this.noteHeight),this.container.addChild(a)}!s&&n&&(this.noteDict[o][t].graphics=a)}},this.rescaleScene=function(t){var e=this,i=[],n=this.initRange.top,o=this.initRange.bottom;s(e.container.children).forEach(function(t){return"undefined"!=typeof t&&t.note&&!l(t)?(n=Math.max(t.note,n),o=Math.min(t.note,o),i.push(t)):void 0}),t?this.range=t:(this.range.top=n,this.range.bottom=o),this.noteHeight=this.height/(this.range.top-this.range.bottom+1),i.forEach(function(t){t.y=Math.floor((e.range.top-e.range.bottom-(t.note-e.range.bottom)+.5)*e.noteHeight-e.noteHeight/2),t.height=e.noteHeight})},this.addLine=function(t){"undefined"==typeof t&&(t=new Date);var e=-this.container.x,i=this.linesDown?this.height-20:0,o=(new n.Graphics).beginFill(16776960).lineStyle(1,this.lineColor).moveTo(0,0).lineTo(0,20).endFill();o.x=e,o.y=i,this.container.addChild(o);var s=t.getHours(),r=t.getMinutes(),h=t.getSeconds(),l=(10>s?"0"+s:s)+":"+(10>r?"0"+r:r)+":"+(10>h?"0"+h:h),c={font:"10pt Arial",fill:"#444444"},d=new n.Text(l,c);a?(d.x=e+2,d.y=this.linesDown?this.height-15:2):(d.rotation=-Math.PI/2,d.x=e,d.y=this.linesDown?this.height-2:d.width+2),this.container.addChild(d)},this.moveTo=function(t){var e=this.container.x;this.container.x=Math.floor(t*this.pixelsPerSecond);var i=Math.abs(e-this.container.x);s.forOwn(this.noteDict,function(t){s.forOwn(t,function(t){t.graphics&&(t.graphics.width=t.graphics.width+i)})})},this.move=function(){var t=(this.startTs-Date.now())/1e3;this.moveTo(t)},this.removePassedObjets=function(){var t=[],i=!1;s(e.container.children).forEach(function(e){return"undefined"==typeof e||l(e)&&t.push(e)}),t.forEach(function(t){!e.dynamicRange||e.range.bottom!==t.note&&t.note!==e.range.top||(i=!0),e.container.removeChild(t)}),i&&e.rescaleScene()},this.start=function(){h||(this.startTs=Date.now(),this.addLine(),h=!0),this.verticalLinesInterval=setInterval(function(){e.addLine()},this.lineInterval),this.cleanInterval=setInterval(function(){e.removePassedObjets()},1e3*this.width/this.pixelsPerSecond)},this.stop=function(){clearInterval(this.verticalLinesInterval),clearInterval(this.cleanInterval)}}var n=t("pixi"),o=t("randomColor"),s=t("lodash"),r=2208988800;e.exports=i},{lodash:"lodash",pixi:"pixi",randomColor:"randomColor"}],8:[function(t,e){"use strict";function i(t){var e=this,i=o(t).defaults(s).value(),r=i.externalRefresh;this.logger=i.logger,this.framerate=i.framerate;var a=i.sceneBgColor,h=i.sceneWidth,l=i.sceneHeight,c=i.canvasContainer,d=[],g=[];this.stage=new n.Stage(a);var f=n.autoDetectRenderer(h,l);this.init=function(){"string"==typeof c&&(c=document.getElementById(c)),"string"==typeof d&&(d=document.getElementById(d)),c.appendChild(f.view),g.forEach(function(t){t.init()})},this.registerTimeContainer=function(t){d.push(t)},this.registerComponent=function(t){g.push(t),this.stage.addChild(t.container)},this.refresh=function(){g.forEach(function(t){t.refresh()}),f.render(this.stage)};var u;return this.start=function(){r||(u=setInterval(function(){e.refresh()},1e3/this.framerate)),g.forEach(function(t){t.start()})},this.stop=function(){r||clearInterval(u),g.forEach(function(t){t.stop()})},this.log=function(t){this.logger&&this.logger.log(t)},this}var n=t("pixi"),o=t("lodash"),s={externalRefresh:!1,logger:void 0,sceneWidth:1024,sceneHeight:768,framerate:25,sceneBgColor:16777215,canvasContainer:"canvasContainer"};e.exports={StageView:i}},{lodash:"lodash",pixi:"pixi"}],9:[function(t,e){"use strict";function i(t){return a(t).format("HH:mm:ss")}function n(t){var e=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/.exec(t);return e?"#"+(1<<24|e[1]<<16|e[2]<<8|e[3]).toString(16).substr(1):t}function o(t,e){var i=new s.JsonLoader(t,!0);i.on("loaded",function(t){for(var i=t.target.json;e.length>0;)e.pop();i.sessions.forEach(function(t){var i={ts:null===t.start_ts?new Date(0):Date.parse(t.start_ts),colors:{}},o=t.categories_json;i.order=o.order,"undefined"==typeof i.order["default"]&&i.order.push("default");for(var s=r.clone(o.categories);s.length>0;){var a=s.pop();a.code&&(i.colors[a.code]=n(a.color)),a.subcategories&&(s=s.concat(a.subcategories))}o.categories.forEach(function(t){t.code&&(i.colors[t.code]=n(t.color))}),i.defaultColor=o.defaultColor||"#536991",e.push(i)})}),i.load()}var s=t("pixi"),r=t("lodash"),a=t("moment");e.exports={formatTime:i,getAnnotCategories:o,colorToHex:n}},{lodash:"lodash",moment:"moment",pixi:"pixi"}],10:[function(t,e){"use strict";function i(t,e){var i=t,n=new WebSocket(i),o=e,s=function(t){o&&o.log(t)},r=[];n.onopen=function(){s("Connected to "+i)},n.onclose=function(t){s("Connection closed (wasClean = "+t.wasClean+", code = "+t.code+", reason = '"+t.reason+"')"),n=null},n.onmessage=function(t){s("received "+t.data);var e=JSON.parse(t.data);r.forEach(function(t){t(e)})},this.message=function(t){t&&r.push(t)}}e.exports={WsWrapper:i}},{}]},{},[1])(1)});
     1 !function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.annotviz=t()}}(function(){return function t(e,i,n){function o(r,a){if(!i[r]){if(!e[r]){var h="function"==typeof require&&require;if(!a&&h)return h(r,!0);if(s)return s(r,!0);var l=new Error("Cannot find module '"+r+"'");throw l.code="MODULE_NOT_FOUND",l}var c=i[r]={exports:{}};e[r][0].call(c.exports,function(t){var i=e[r][1][t];return o(i?i:t)},c,c.exports,t,e,i,n)}return i[r].exports}for(var s="function"==typeof require&&require,r=0;r<n.length;r++)o(n[r]);return o}({1:[function(t,e){"use strict";var i=t("./doubleroll"),n=t("./annotsroll"),o=t("./annotstimeline"),s=t("./annotsvizview"),r=t("./stageview"),a=t("./wswrapper"),h=t("./logger"),l=t("./utils"),c=t("lodash");e.exports=c({}).extend(i).extend(n).extend(o).extend(s).extend(r).extend(a).extend(h).extend(l).value()},{"./annotsroll":2,"./annotstimeline":3,"./annotsvizview":4,"./doubleroll":5,"./logger":6,"./stageview":8,"./utils":9,"./wswrapper":10,lodash:"lodash"}],2:[function(t,e){"use strict";function i(t){var e=this,i=o(t).defaults(a).value();this.container=new n.DisplayObjectContainer,this.container.x=i.xInit,this.container.y=i.yInit,this.container.width=i.width,this.height=i.height,this.width=i.width,this.widthRoll=i.widthRoll,this.pixelsPerSecond=i.pixelsPerSecond,this.annotColors=i.annotColors,this.startTs=i.startTs||Date.now(),this.ignoreAnnots=i.ignoreAnnots;var h=i.yInit,l=o(i.annotStyles).defaults(r).value(),c=15;for(var d in l)l[d].wordWrap===!0&&(l[d].wordWrapWidth=this.widthRoll-c);var g,f=!1,u=i.ws,v=i.externalRefresh,p=i.stageView,m=0;p.registerComponent(this);var w=function(t){var e=t.toGlobal(new n.Point(0,0));return e.x+t.width<0||e.y+t.height<0};this.addAnnots=function(t){var e=t.content.category.label,i=t.content.text,n=t.content.user,o=Date.parse(t.ts),s=t.content.color||this.getColor(o,t.content.category.code);this.addAnnot(e,i,n,s,o)},this.getColor=function(t,e){var i;o(this.annotColors).eachRight(function(e){return e.ts<t?(i=e.colors,!1):void 0});var n;return i&&(n=i[e]),n||(n=i.defaultColor||s),n},this.addAnnot=function(t,i,s,r,a){var d=0,f=(a-this.startTs)*this.pixelsPerSecond/1e3+h,u=parseInt(r.replace(/^#/,""),16);if(0===m){var v=(new n.Graphics).beginFill(u).drawRect(d,f,10,3).endFill();this.container.addChild(v);var p=0,w=new n.Text(t,o(l.label).extend({fill:r}).value());if(w.x=d+c,w.y=f-23,this.container.addChild(w),p+=w.height-23+2,i){var C=new n.Text(i,l.text);C.x=d+c,C.y=f+p,this.container.addChild(C),p+=C.height+2}var x=new n.Text(s,l.user);x.x=d+c,x.y=f+p,this.container.addChild(x),p+=x.height+8,this.ignoreAnnots===!0&&(m=p/this.pixelsPerSecond,g=setInterval(function(){e.refreshWait()},1e3))}this.addAnnotLine(u,f)},this.addAnnotLine=function(t,e){var i=this.widthRoll,o=(new n.Graphics).beginFill(t).drawRect(i,e,this.width-i,3).endFill();this.container.addChild(o)},this.moveTo=function(t){this.container.y=Math.floor(t*this.pixelsPerSecond)},this.move=this.refresh=function(){var t=(this.startTs-Date.now())/1e3;this.moveTo(t)},this.refreshWait=function(){m-=1,0>m&&(m=0,clearInterval(g))},this.removePassedObjets=function(){var t=[];o(e.container.children).forEach(function(e){return"undefined"==typeof e||w(e)&&t.push(e)}),t.forEach(function(t){e.container.removeChild(t)})},this.init=function(){u.message(function(t){e.addAnnots(t)})},this.start=function(){f||(this.startTs=Date.now(),f=!0),this.cleanInterval=setInterval(function(){e.removePassedObjets()},1e3*this.height/this.pixelsPerSecond),v||(this.refreshInterval=setInterval(function(){e.move()},1e3/this.framerate))},this.stop=function(){clearInterval(this.cleanInterval),v||clearInterval(this.refreshInterval)}}var n=t("pixi"),o=t("lodash"),s="#bababa",r={label:{font:"16pt Arial Bold",fill:"#65A954",wordWrap:!0},text:{font:"12pt Arial Regular",fill:"#444444",wordWrap:!0},user:{font:"14pt Arial regular",fill:"#666666"}},a={externalRefresh:!1,defaultColor:s,annotStyles:r,ignoreAnnots:!1};e.exports={AnnotsRoll:i}},{lodash:"lodash",pixi:"pixi"}],3:[function(t,e){"use strict";function i(t){var e=this,i=s(t).defaults(r).value();this.container=new n.DisplayObjectContainer,this.container.x=i.xInit,this.container.y=i.yInit,this.container.width=i.width,this.container.height=i.height,this.timeBegin=i.timeBegin,this.timeEnd=i.timeEnd,this.duration=(this.timeEnd-this.timeBegin)/1e3,this.width=i.width,this.height=i.height,this.intervalHeight=i.intervalHeight,this.intervalWidth=i.intervalWidth,this.maxCellHeight=i.maxCellHeight,this.annotCategories=i.annotCategories,this.startTs=t.startTs||Date.now(),this.showClockGraphics=i.showClockGraphics,this.archive=i.archive,this.circleX=i.circleX||this.width/2,this.circleY=i.circleY||this.height/2,this.radius=i.radius;var a=2*Math.PI*this.radius;this.intervalDuration=this.intervalWidth*this.duration/a;var h=i.channel,l=i.eventCode,c=i.serverUrl,d=i.maxPages,g=Math.floor(a/this.intervalWidth);this.cells=[];for(var f=0;f<a/this.intervalWidth;f++)this.cells[f]=[],this.cells[f].i=f,this.cells[f].totalAnnots=0,this.cells[f].categories={};var u=i.ws,v=i.stageView,p=new n.Graphics;p.lineStyle(2,6579300).drawCircle(this.circleX,this.circleY,this.radius-3).endFill(),this.container.addChild(p),v.registerComponent(this);var m=function(){var t=e.timeBegin,i=Math.min(e.timeEnd,e.startTs),o=c+"/p/api/v1/annotation",s=[{name:"ts",op:">",val:new Date(t).toISOString()},{name:"ts",op:"<=",val:new Date(i).toISOString()},{name:"channel",op:"==",val:h},{name:"event_code",op:"==",val:l}];o=o+"?q="+JSON.stringify({filters:s});var r=1,a=1,g=function(t){if(t){var i=t.target.json;r=Math.min(d,parseInt(i.total_pages)),i.objects.forEach(function(t){e.addAnnot(t)})}if(r>=a){var s=new n.JsonLoader(o+"&page="+a,!0);s.on("loaded",g),s.load(),a++}};g()};return this.addAnnot=function(t){var e,i=Date.parse(t.ts);if(s(this.annotCategories).eachRight(function(t){return t.ts<i?(e=t,!1):void 0}),e&&this.timeEnd>i){var n=Math.floor((i-this.timeBegin)/(1e3*this.intervalDuration));"undefined"==typeof this.cells[n].graphics&&this.initCell(this.cells[n],e);var o;o="undefined"!=typeof e.colors[t.content.category.code]?t.content.category.code:"default",this.cells[n].categories[o].count+=1,this.cells[n].totalAnnots+=1,this.redrawCell(this.cells[n],e)}},this.initClockGraphics=function(){var t=new n.Text(o.formatTime(this.timeBegin),{font:"12pt Gothic Standard",fill:"#646464"});t.x=this.circleX+15,t.y=this.circleY-this.radius-this.maxCellHeight-10,this.container.addChild(t);var e=new n.Text(o.formatTime(this.timeEnd),{font:"12pt Gothic Standard",fill:"#646464"});e.x=this.circleX-15-e.width,e.y=this.circleY-this.radius-this.maxCellHeight-10,this.container.addChild(e);var i=new n.Text(o.formatTime((this.timeEnd-this.timeBegin)/4+this.timeBegin),{font:"12pt Gothic Standard",fill:"#646464"});i.x=this.circleX+this.radius+this.maxCellHeight+10,i.y=this.circleY-i.height,i.rotation=Math.PI/2,this.container.addChild(i);var s=new n.Text(o.formatTime((this.timeEnd-this.timeBegin)/2+this.timeBegin),{font:"12pt Gothic Standard",fill:"#646464"});s.x=this.circleX-s.width/2,s.y=this.circleY+this.radius+this.maxCellHeight-2,this.container.addChild(s);var r=new n.Text(o.formatTime(3*(this.timeEnd-this.timeBegin)/4+this.timeBegin),{font:"12pt Gothic Standard",fill:"#646464"});r.x=this.circleX-this.radius-this.maxCellHeight-10,r.y=this.circleY+i.height,r.rotation=-Math.PI/2,this.container.addChild(r);var a=new n.Graphics;a.lineStyle(1,6579300).moveTo(this.circleX,this.circleY-this.radius/3/2).lineTo(this.circleX,this.circleY-this.radius-this.maxCellHeight-10).endFill(),this.container.addChild(a)},this.redrawCell=function(t,e){var i,n=0;i=t.totalAnnots*this.intervalHeight>this.maxCellHeight?this.maxCellHeight/t.totalAnnots:this.intervalHeight;for(var o=0;o<e.order.length;o++){var s=e.order[o];t.graphics.beginFill(t.categories[s].color.replace("#","0x")).drawRect(0,n,this.intervalWidth-1,-t.categories[s].count*i).endFill(),n-=t.categories[s].count*i}},this.initCell=function(t,e){t.graphics=new n.Graphics,t.graphics.position.x=this.circleX+this.radius*Math.sin(t.i*(360/g)*(Math.PI/180)),t.graphics.position.y=this.circleY-this.radius*Math.cos(t.i*(360/g)*(Math.PI/180)),t.graphics.rotation=t.i*(360/g)*(Math.PI/180)+360/(2*g)*(Math.PI/180),this.container.addChild(t.graphics);for(var i in e.colors)t.categories[i]={count:0,color:e.colors[i]};"undefined"==typeof t.categories["default"]&&(t.categories["default"]={count:0,color:e.defaultColor})},this.init=function(){this.archive||u.message(function(t){e.addAnnot(t)}),this.showClockGraphics&&this.initClockGraphics()},this.start=function(){this.startTs=Date.now(),m()},this.refresh=function(){},this.stop=function(){},this}var n=t("pixi"),o=t("./utils.js"),s=t("lodash"),r={logger:void 0,intervalWidth:10,intervalHeight:5,maxCellHeight:200,radius:300,serverUrl:"http://127.0.0.1:8080",channel:"ANNOT",maxPages:1e3,showClockGraphics:!0,archive:!1};e.exports={AnnotsTimeLine:i}},{"./utils.js":9,lodash:"lodash",pixi:"pixi"}],4:[function(t,e){"use strict";function i(t){var e=this,i=o(t).defaults(l).value();this.container=new n.DisplayObjectContainer,this.container.x=i.xInit,this.container.y=i.yInit,this.width=i.width,this.height=i.height,this.timeBegin=i.timeBegin,this.timeEnd=i.timeEnd,this.annotCategories=[],this.annotCategoriesDay2=[],this.annotCategoriesDay1=[];var c=i.wsPianoroll,d=i.wsAnnot,g=i.stageView,f=i.channel,u=i.serverUrl,v=i.eventCode,p=i.eventCodeSessionDay2,m=i.eventCodeSessionDay1,w=i.logger;h.getAnnotCategories(i.urlCategories+v,this.annotCategories),h.getAnnotCategories(i.urlCategories+p,this.annotCategoriesDay2),h.getAnnotCategories(i.urlCategories+m,this.annotCategoriesDay1),g.registerComponent(this);var C=new r.AnnotsTimeLine({stageView:g,logger:w,ws:d,xInit:0,yInit:0,width:624,height:568,timeBegin:this.timeBegin,timeEnd:this.timeEnd,intervalWidth:6,intervalHeight:10,maxCellHeight:70,radius:200,eventCode:v,channel:f,serverUrl:u,annotCategories:this.annotCategories}),x=new r.AnnotsTimeLine({stageView:g,xInit:0,yInit:0,width:624,height:568,timeBegin:Date.parse("2015-04-16T14:00:00+02:00"),timeEnd:Date.parse("2015-04-16T21:00:00+02:00"),circleX:C.circleX,circleY:C.circleY,intervalWidth:2*C.radius/3*C.intervalWidth/C.radius,intervalHeight:C.intervalHeight*(C.radius-2*C.radius/3)/C.maxCellHeight,maxCellHeight:(C.radius-2*C.radius/3)/2,radius:2*C.radius/3,annotCategories:this.annotCategoriesDay2,eventCode:p,channel:f,serverUrl:u,showClockGraphics:!1,archive:!0}),y=(new r.AnnotsTimeLine({stageView:g,xInit:0,yInit:0,width:624,height:568,timeBegin:Date.parse("2015-04-16T14:00:00+02:00"),timeEnd:Date.parse("2015-04-16T21:00:00+02:00"),circleX:C.circleX,circleY:C.circleY,intervalWidth:2*C.radius/3*C.intervalWidth/C.radius,intervalHeight:C.intervalHeight*(C.radius-C.radius/3)/C.maxCellHeight,maxCellHeight:(2*C.radius/3-C.radius/3)/4,radius:C.radius/3,annotCategories:this.annotCategoriesDay1,eventCode:m,channel:f,serverUrl:u,showClockGraphics:!1,archive:!0}),new n.Text("-- : -- : --",{font:"18pt Gothic Standard",fill:"#646464"}));y.x=x.circleX-y.width/2,y.y=x.circleY-y.height/2,this.container.addChild(y);var T=(new s.DoubleRoll({stageView:g,logger:w,ws:c,yInit:this.height-200,sceneHeight:200,pianorolls:[{height:200,timeWidth:10,lineInterval:5e3,noteHeight:10}]}),new s.DoubleRoll({stageView:g,logger:w,ws:c,orientation:"vertical",sceneHeight:568,pianorolls:[{height:200,timeWidth:60,lineInterval:5e3,noteHeight:5}]})),I=new a.AnnotsRoll({stageView:g,logger:w,ws:d,parentContainer:T.stage,xInit:624,yInit:568,width:400,height:568,widthRoll:200,framerate:T.framerate,pixelsPerSecond:Math.floor(1024/60),annotColors:this.annotCategories}),D=(new n.Graphics).lineStyle(1,6579300).moveTo(I.container.x,I.container.y).lineTo(I.container.x,I.container.y-I.height).moveTo(I.container.x+I.widthRoll,I.container.y).lineTo(I.container.x+I.widthRoll,I.container.y-I.height).moveTo(0,this.height-200).lineTo(this.width,this.height-200).drawRect(0,0,this.width-1,this.height-1).beginFill(15527148).drawRect(824,0,200,568).endFill();this.container.addChild(D),this.init=function(){},this.updateTime=function(){y.setText(h.formatTime(Date.now()))};var b;return this.start=function(){b=setInterval(function(){e.updateTime()},1e3)},this.refresh=function(){},this.stop=function(){},this}var n=t("pixi"),o=t("lodash"),s=t("./doubleroll.js"),r=t("./annotstimeline.js"),a=t("./annotsroll.js"),h=t("./utils.js"),l={xInit:0,yInit:0,width:1024,height:768};e.exports={AnnotsVizView:i}},{"./annotsroll.js":2,"./annotstimeline.js":3,"./doubleroll.js":5,"./utils.js":9,lodash:"lodash",pixi:"pixi"}],5:[function(t,e){"use strict";function i(t){var e=this,i=o(t).defaults(a).value(),h=i.orientation,l="vertical"!==h;this.logger=i.logger,this.lineColor=i.lineColor,this.lineFillColor=i.lineFillColor,this.framerate=i.framerate,this.offsetMusic=i.offsetMusic,this.noteColors=i.noteColors,this.showTimer=i.showTimer;var c=i.noteHeight,d=i.sceneHeight||o(i.pianorolls).reduce(function(t,e){return t+e.height},0),g=i.timeWidth,f=i.lineInterval,u=i.offsetMusic,v=i.sceneWidth,p=i.stageView,m=i.zeroShift,w=i.ws,C={};this.container=new n.DisplayObjectContainer,this.container.x=Math.floor(v*m),this.container.y=0,p.registerComponent(this);var x=[],y={parentContainer:this.container,orientation:h,xInit:0,width:v,noteColors:this.noteColors,colorsReg:C,lineColor:this.lineColor,lineInterval:f,offsetMusic:u},T=i.yInit||0,I=!0;if(o(i.pianorolls).forEach(function(t,r){var a=c||t.noteHeight||t.height/(t.range.top-t.range.bottom+1),h=t.timeWidth||g;if(x.push(new s(o({yInit:T,height:t.height,linesDown:I,pixelsPerSecond:Math.floor(v/h),noteHeight:a,lineInterval:t.lineInterval,range:t.range,dynamicRange:t.dynamicRange}).defaults(y).value())),T+=t.height,I=!I,r<i.pianorolls.length-1){var l=(new n.Graphics).beginFill(e.lineFillColor).lineStyle(1,e.lineColor).moveTo(Math.floor(v*m),T).lineTo(-v-Math.floor(v*m),T).endFill();e.container.addChild(l)}}),this.showTimer){var D=new n.Text("-- : -- : --",{font:"40pt Arial",fill:"#646464"});D.x=-D.width-60,D.y=d-D.height-30,this.container.addChild(D)}l||(this.container.rotation=Math.PI/2,this.container.y=d,this.container.x=v),this.init=function(){w.message(function(t){e.addNotes(t)})},this.updateTime=function(){D.setText(r.formatTime(Date.now()))},this.addNotes=function(t){x.forEach(function(e){e.addNoteRaw(t)})},this.refresh=function(){x.forEach(function(t){t.move()})};var b,H;return this.start=function(){this.showTimer&&(H=setInterval(function(){e.updateTime()},1e3)),b=Date.now(),x.forEach(function(t){t.start()})},this.stop=function(){x.forEach(function(t){t.stop()})},this.log=function(t){this.logger&&this.logger.log(t)},this}var n=t("pixi"),o=t("lodash"),s=t("./pianoroll"),r=t("./utils.js"),a={orientation:"horizontal",logger:void 0,sceneWidth:1024,showTimer:!1,pianorolls:[{height:384,timeWidth:10,lineInterval:5e3,noteHeight:void 0,range:{bottom:40,top:90},dynamicRange:!0},{height:384,timeWidth:60,lineInterval:5e3,noteHeight:void 0,range:{bottom:0,top:128},dynamicRange:!1}],framerate:25,offsetMusic:!1,sceneBgColor:16777215,lineColor:4473924,lineFillColor:16776960,noteColors:[12124160,4971889,11506462,1845434,5466513],noteHeight:void 0,zeroShift:.9,timeWidth:60,lineInterval:5e3};e.exports={DoubleRoll:i}},{"./pianoroll":7,"./utils.js":9,lodash:"lodash",pixi:"pixi"}],6:[function(t,e){"use strict";function i(t,e){var i=e;"string"==typeof e&&(i=document.getElementById(e)),t||(document.body.removeChild(i),i=void 0),this.log=function(e){t&&i&&(i.innerHTML+=e+"\n",i.scrollTop=i.scrollHeight)}}function n(t){this.log=function(e){t&&console.log(e)}}e.exports={HtmlLogger:i,ConsoleLogger:n}},{}],7:[function(t,e){"use strict";function i(t){var e=this;this.container=new n.DisplayObjectContainer,this.container.x=t.xInit,this.container.y=t.yInit,t.parentContainer.addChild(this.container);var i=t.orientation,r="vertical"!==i;this.linesDown=t.linesDown,this.height=t.height,this.pixelsPerSecond=t.pixelsPerSecond,this.width=t.width,this.noteColors=t.noteColors,this.colorsReg=t.colorsReg||{},this.lineColor=t.lineColor,this.lineInterval=t.lineInterval,this.offsetMusic=t.offsetMusic||!1,this.noteHeight=t.noteHeight,this.noteDict={},this.startTs=t.startTs||Date.now(),this.dynamicRange=t.dynamicRange,this.initRange=t.range,this.range=t.range;var a=!1,h=function(t){var e=t.toGlobal(new n.Point(0,0));return e.x+t.width<0||e.y+t.height<0};this.getColor=function(t){var e=this.colorsReg[t];if("undefined"==typeof e){var i=Object.keys(this.colorsReg).length;e=this.colorsReg[t]=i<this.noteColors.length?this.noteColors[i]:parseInt(o({luminosity:"light",hue:"random",format:"hex"}).replace(/^#/,""),16)}return e},this.getNoteRect=function(t,e,i,o,s,r,a){var h=new n.Graphics;return h.note=t,h.beginFill(o,s),h.drawRect(0,0,r,a),h.endFill(),h.x=e,h.y=i,h.width=r,h.height=a,h},this.addNoteRaw=function(t){var e=t.content[3],i=t.content[4],n=Date.parse(t.ts_server);console.log(n,t.content[0]);var o=t.content[2],s=t.content[1];0!==i&&"undefined"!=typeof this.noteDict[o]&&this.addNote(e,n,s,0,o,0),this.addNote(e,n,s,i,o,0)},this.addNote=function(t,e,i,n,o,s){var r=e;this.offsetMusic&&(r=this.startTs+i);var a,h=s,l=n;if(!s)if("undefined"==typeof this.noteDict[o]&&(this.noteDict[o]={}),0===n){if("undefined"!=typeof this.noteDict[o][t]){var c=this.noteDict[o][t];delete this.noteDict[o][t],h=i-c.sessionTs,a=c.graphics,l=c.velocity,r=c.ts}}else h=Math.abs(Date.now()-r),this.noteDict[o][t]={ts:r,velocity:n,sessionTs:i};if(!this.offsetMusic||0===n){var d=h*this.pixelsPerSecond/1e3;if(a)a.width=d;else{var g=(r-this.startTs)*this.pixelsPerSecond/1e3;if(g+d<Math.abs(this.container.x)-this.width)return;if(this.dynamicRange&&(this.range.bottom>t||t>this.range.top)){var f={};f.bottom=Math.min(t,this.range.bottom),f.top=Math.max(t,this.range.top),this.rescaleScene(f)}var u=Math.floor((this.range.top-this.range.bottom-(t-this.range.bottom)+.5)*this.noteHeight-this.noteHeight/2),v=this.getColor(o),p=l/128;a=this.getNoteRect(t,g,u,v,p,d,this.noteHeight),this.container.addChild(a)}!s&&n&&(this.noteDict[o][t].graphics=a)}},this.rescaleScene=function(t){var e=this,i=[],n=this.initRange.top,o=this.initRange.bottom;s(e.container.children).forEach(function(t){return"undefined"!=typeof t&&t.note&&!h(t)?(n=Math.max(t.note,n),o=Math.min(t.note,o),i.push(t)):void 0}),t?this.range=t:(this.range.top=n,this.range.bottom=o),this.noteHeight=this.height/(this.range.top-this.range.bottom+1),i.forEach(function(t){t.y=Math.floor((e.range.top-e.range.bottom-(t.note-e.range.bottom)+.5)*e.noteHeight-e.noteHeight/2),t.height=e.noteHeight})},this.addLine=function(t){"undefined"==typeof t&&(t=new Date);var e=-this.container.x,i=this.linesDown?this.height-20:0,o=(new n.Graphics).beginFill(16776960).lineStyle(1,this.lineColor).moveTo(0,0).lineTo(0,20).endFill();o.x=e,o.y=i,this.container.addChild(o);var s=t.getHours(),a=t.getMinutes(),h=t.getSeconds(),l=(10>s?"0"+s:s)+":"+(10>a?"0"+a:a)+":"+(10>h?"0"+h:h),c={font:"10pt Arial",fill:"#444444"},d=new n.Text(l,c);r?(d.x=e+2,d.y=this.linesDown?this.height-15:2):(d.rotation=-Math.PI/2,d.x=e,d.y=this.linesDown?this.height-2:d.width+2),this.container.addChild(d)},this.moveTo=function(t){var e=this.container.x;this.container.x=Math.floor(t*this.pixelsPerSecond);var i=Math.abs(e-this.container.x);s.forOwn(this.noteDict,function(t){s.forOwn(t,function(t){t.graphics&&(t.graphics.width=t.graphics.width+i)})})},this.move=function(){var t=(this.startTs-Date.now())/1e3;this.moveTo(t)},this.removePassedObjets=function(){var t=[],i=!1;s(e.container.children).forEach(function(e){return"undefined"==typeof e||h(e)&&t.push(e)}),t.forEach(function(t){!e.dynamicRange||e.range.bottom!==t.note&&t.note!==e.range.top||(i=!0),e.container.removeChild(t)}),i&&e.rescaleScene()},this.start=function(){a||(this.startTs=Date.now(),this.addLine(),a=!0),this.verticalLinesInterval=setInterval(function(){e.addLine()},this.lineInterval),this.cleanInterval=setInterval(function(){e.removePassedObjets()},1e3*this.width/this.pixelsPerSecond)},this.stop=function(){clearInterval(this.verticalLinesInterval),clearInterval(this.cleanInterval)}}var n=t("pixi"),o=t("randomColor"),s=t("lodash");e.exports=i},{lodash:"lodash",pixi:"pixi",randomColor:"randomColor"}],8:[function(t,e){"use strict";function i(t){var e=this,i=o(t).defaults(s).value(),r=i.externalRefresh;this.logger=i.logger,this.framerate=i.framerate;var a=i.sceneBgColor,h=i.sceneWidth,l=i.sceneHeight,c=i.canvasContainer,d=[],g=[];this.stage=new n.Stage(a);var f=n.autoDetectRenderer(h,l);this.init=function(){"string"==typeof c&&(c=document.getElementById(c)),"string"==typeof d&&(d=document.getElementById(d)),c.appendChild(f.view),g.forEach(function(t){t.init()})},this.registerTimeContainer=function(t){d.push(t)},this.registerComponent=function(t){g.push(t),this.stage.addChild(t.container)},this.refresh=function(){g.forEach(function(t){t.refresh()}),f.render(this.stage)};var u;return this.start=function(){r||(u=setInterval(function(){e.refresh()},1e3/this.framerate)),g.forEach(function(t){t.start()})},this.stop=function(){r||clearInterval(u),g.forEach(function(t){t.stop()})},this.log=function(t){this.logger&&this.logger.log(t)},this}var n=t("pixi"),o=t("lodash"),s={externalRefresh:!1,logger:void 0,sceneWidth:1024,sceneHeight:768,framerate:25,sceneBgColor:16777215,canvasContainer:"canvasContainer"};e.exports={StageView:i}},{lodash:"lodash",pixi:"pixi"}],9:[function(t,e){"use strict";function i(t){return a(t).format("HH:mm:ss")}function n(t){var e=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/.exec(t);return e?"#"+(1<<24|e[1]<<16|e[2]<<8|e[3]).toString(16).substr(1):t}function o(t,e){var i=new s.JsonLoader(t,!0);i.on("loaded",function(t){for(var i=t.target.json;e.length>0;)e.pop();i.sessions.forEach(function(t){var i={ts:null===t.start_ts?new Date(0):Date.parse(t.start_ts),colors:{}},o=t.categories_json;i.order=o.order,"undefined"==typeof i.order["default"]&&i.order.push("default");for(var s=r.clone(o.categories);s.length>0;){var a=s.pop();a.code&&(i.colors[a.code]=n(a.color)),a.subcategories&&(s=s.concat(a.subcategories))}o.categories.forEach(function(t){t.code&&(i.colors[t.code]=n(t.color))}),i.defaultColor=o.defaultColor||"#536991",e.push(i)})}),i.load()}var s=t("pixi"),r=t("lodash"),a=t("moment");e.exports={formatTime:i,getAnnotCategories:o,colorToHex:n}},{lodash:"lodash",moment:"moment",pixi:"pixi"}],10:[function(t,e){"use strict";function i(t,e){var i=t,n=new WebSocket(i),o=e,s=function(t){o&&o.log(t)},r=[];n.onopen=function(){s("Connected to "+i)},n.onclose=function(t){s("Connection closed (wasClean = "+t.wasClean+", code = "+t.code+", reason = '"+t.reason+"')"),n=null},n.onmessage=function(t){s("received "+t.data);var e=JSON.parse(t.data);r.forEach(function(t){t(e)})},this.message=function(t){t&&r.push(t)}}e.exports={WsWrapper:i}},{}]},{},[1])(1)});