annot-server/static/js/annotviz.min.js
changeset 109 8546e2181a73
parent 108 082b64a5c699
child 110 e4f0c105090d
equal deleted inserted replaced
108:082b64a5c699 109:8546e2181a73
     1 !function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i;"undefined"!=typeof window?i=window:"undefined"!=typeof global?i=global:"undefined"!=typeof self&&(i=self),i.annotviz=t()}}(function(){return function t(i,e,n){function o(r,a){if(!e[r]){if(!i[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=e[r]={exports:{}};i[r][0].call(c.exports,function(t){var e=i[r][1][t];return o(e?e:t)},c,c.exports,t,i,e,n)}return e[r].exports}for(var s="function"==typeof require&&require,r=0;r<n.length;r++)o(n[r]);return o}({1:[function(t,i){"use strict";var e=t("./doubleroll"),n=t("./annotsroll"),o=t("./annotstimeline"),s=t("./annotsvizview"),r=t("./stageview"),a=t("./wswrapper"),h=t("./logger"),l=t("lodash");i.exports=l({}).extend(e).extend(n).extend(o).extend(s).extend(r).extend(a).extend(h).value()},{"./annotsroll":2,"./annotstimeline":3,"./annotsvizview":4,"./doubleroll":5,"./logger":6,"./stageview":8,"./wswrapper":10,lodash:"lodash"}],2:[function(t,i){"use strict";function e(t){var i=this,e=o(t).defaults(a).value();this.container=new n.DisplayObjectContainer,this.container.x=e.xInit,this.container.y=e.yInit,this.container.width=e.width,this.height=e.height,this.width=e.width,this.widthRoll=e.widthRoll,this.pixelsPerSecond=e.pixelsPerSecond,this.annotColors=e.annotColors,this.startTs=t.startTs||Date.now();var h=e.yInit,l=o(e.annotStyles).defaults(r).value();for(var c in l)l[c].wordWrap===!0&&(l[c].wordWrapWidth=this.widthRoll);console.log(l);var d=!1,f=e.ws,g=e.externalRefresh,u=e.stageView;u.registerComponent(this);var v=function(t){var i=t.toGlobal(new n.Point(0,0));return i.x+t.width<0||i.y+t.height<0};this.addAnnots=function(t){var i=t.content.category.label,e=t.content.text,n=t.content.user,o=Date.parse(t.ts),s=this.getColor(o,t.content.category.code);this.addAnnot(i,e,n,s,o)},this.getColor=function(t,i){var e;o(this.annotColors).eachRight(function(i){return console.log("cDef",i),console.log("cDef ts",i.ts,t),i.ts<t?(e=i.colors,!1):void 0});var n;return console.log("colorsDef",e),e&&(n=e[i]),n||(n=s),n},this.addAnnot=function(t,i,e,r,a){var c=r?r:s,d=0,f=(a-this.startTs)*this.pixelsPerSecond/1e3+h,g=parseInt(c.replace(/^#/,""),16),u=(new n.Graphics).beginFill(g).drawRect(d,f,10,3).endFill();this.container.addChild(u);var v=0,p=new n.Text(t,o(l.label).extend({fill:c}).value());if(p.x=d+20,p.y=f-23,this.container.addChild(p),v+=p.height-23+2,i){var w=new n.Text(i,l.text);w.x=d+20,w.y=f+2,this.container.addChild(w),v+=w.height+2}var m=new n.Text(e,l.user);m.x=d+20,m.y=f+2+v,this.container.addChild(m),this.addAnnotLine(g,f)},this.addAnnotLine=function(t,i){var e=this.widthRoll,o=(new n.Graphics).beginFill(t).drawRect(e,i,this.width-e,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.removePassedObjets=function(){var t=[];o(i.container.children).forEach(function(i){return"undefined"==typeof i||v(i)&&t.push(i)}),t.forEach(function(t){i.container.removeChild(t)})},this.init=function(){f.message(function(t){i.addAnnots(t)})},this.start=function(){d||(this.startTs=Date.now(),d=!0),this.cleanInterval=setInterval(function(){i.removePassedObjets()},1e3*this.height/this.pixelsPerSecond),g||(this.refreshInterval=setInterval(function(){i.move()},1e3/this.framerate))},this.stop=function(){clearInterval(this.cleanInterval),g||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};i.exports={AnnotsRoll:e}},{lodash:"lodash",pixi:"pixi"}],3:[function(t,i){"use strict";function e(t){var i=this,e=s(t).defaults(r).value();this.container=new n.DisplayObjectContainer,this.container.x=e.xInit,this.container.y=e.yInit,this.container.width=e.width,this.container.height=e.height,this.timeBegin=e.timeBegin,this.timeEnd=e.timeEnd,this.duration=(this.timeEnd-this.timeBegin)/1e3,this.width=e.width,this.height=e.height,this.intervalHeight=e.intervalHeight,this.intervalWidth=e.intervalWidth,this.maxCellHeight=e.maxCellHeight,this.annotCategories=e.annotCategories,this.circleX=e.circleX||this.width/2,this.circleY=e.circleY||this.height/2,this.radius=e.radius,this.perimeter=2*Math.PI*this.radius,this.intervalDuration=this.intervalWidth*this.duration/this.perimeter;var a=this.timeBegin,h=Math.floor(this.perimeter/this.intervalWidth);this.cells=[];for(var l=0;l<this.perimeter/this.intervalWidth;l++){this.cells[l]=[],this.cells[l].i=l,this.cells[l].totalAnnots=0,this.cells[l].categories={};for(var c in this.annotCategories[0].colors)this.cells[l].categories[c]={count:0,color:this.annotCategories[0].colors[c]}}var d=e.ws,f=e.stageView,g=new n.Graphics;g.lineStyle(2,6579300).drawCircle(this.circleX,this.circleY,this.radius-3).lineStyle(1,14145495).drawCircle(this.circleX,this.circleY,2*this.radius/3).drawCircle(this.circleX,this.circleY,this.radius/3).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(g);var u=new n.Text("-- : -- : --",{font:"18pt Gothic Standard",fill:"#646464"});u.x=this.circleX-u.width/2,u.y=this.circleY-u.height/2,this.container.addChild(u),f.registerComponent(this),this.addAnnot=function(t){if("undefined"!=typeof this.annotCategories[0].colors[t.content.category.code])var i=t.content.category.code;else var i=this.annotCategories[0].order[this.annotCategories[0].order.length-1];Date.parse(t.ts);if(this.timeEnd>Date.parse(t.ts)){var e=Math.floor((Date.parse(t.ts)-this.timeBegin)/(1e3*this.intervalDuration));this.cells[e].categories[i].count+=1,this.cells[e].totalAnnots+=1,this.redrawCell(this.cells[e],e)}},this.initGraphics=function(t){t.graphics=new n.Graphics,t.graphics.position.x=this.circleX+this.radius*Math.sin(t.i*(360/h)*(Math.PI/180)),t.graphics.position.y=this.circleY-this.radius*Math.cos(t.i*(360/h)*(Math.PI/180)),t.graphics.rotation=t.i*(360/h)*(Math.PI/180)+360/(2*h)*(Math.PI/180),this.container.addChild(t.graphics)},this.initTimeTexts=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 i=new n.Text(o.formatTime(this.timeEnd),{font:"12pt Gothic Standard",fill:"#646464"});i.x=this.circleX-15-i.width,i.y=this.circleY-this.radius-this.maxCellHeight-10,this.container.addChild(i);var e=new n.Text(o.formatTime((this.timeEnd-this.timeBegin)/4+this.timeBegin),{font:"12pt Gothic Standard",fill:"#646464"});e.x=this.circleX+this.radius+this.maxCellHeight+10,e.y=this.circleY-e.height,e.rotation=Math.PI/2,this.container.addChild(e);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+e.height,r.rotation=-Math.PI/2,this.container.addChild(r)},this.redrawCell=function(t){"undefined"==typeof t.graphics?this.initGraphics(t):t.graphics.clear();var i=0;if(t.totalAnnots*this.intervalHeight>this.maxCellHeight)var e=this.maxCellHeight/t.totalAnnots;else var e=this.intervalHeight;for(var n=0;n<this.annotCategories[0].order.length;n++){var o=this.annotCategories[0].order[n];t.graphics.beginFill(t.categories[o].color.replace("#","0x")).drawRect(0,i,this.intervalWidth-1,-t.categories[o].count*e).endFill(),i-=t.categories[o].count*e}},this.init=function(){d.message(function(t){i.addAnnot(t)}),this.initTimeTexts()},this.updateTime=function(){a+=1e3;var t=a/1e3,i=Math.floor(t/3600)%24,e=Math.floor(t/60)%60,n=Math.floor(t%60),o=(10>i?"0"+i:i)+":"+(10>e?"0"+e:e)+":"+(10>n?"0"+n:n);u.setText(o)};var v;return this.start=function(){v=setInterval(function(){i.updateTime()},1e3)},this.refresh=function(){},this.stop=function(){console.log(this.cells)},this}var n=t("pixi"),o=t("./utils.js"),s=t("lodash"),r={logger:void 0,intervalWidth:10,intervalHeight:5,maxCellHeight:200,radius:300};i.exports={AnnotsTimeLine:e}},{"./utils.js":9,lodash:"lodash",pixi:"pixi"}],4:[function(t,i){"use strict";function e(t){var i=o(t).defaults(h).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.annotCategories=i.annotCategories;var e=i.wsPianoroll,l=i.wsAnnot,c=i.stageView;c.registerComponent(this);var d=(new r.AnnotsTimeLine({stageView:c,logger:logger,ws:new annotviz.WsWrapper(wsUriAnnotation,logger),xInit:0,yInit:0,width:624,height:568,timeBegin:Date.now(),timeEnd:Date.now()+3e6,intervalWidth:6,intervalHeight:10,maxCellHeight:70,radius:200,annotCategories:this.annotCategories}),new s.DoubleRoll({stageView:c,logger:logger,ws:e,yInit:this.height-200,sceneHeight:200,pianorolls:[{height:200,timeWidth:10,lineInterval:5e3,noteHeight:10}]}),new s.DoubleRoll({stageView:c,logger:logger,ws:e,orientation:"vertical",sceneHeight:568,pianorolls:[{height:200,timeWidth:60,lineInterval:5e3,noteHeight:5}]})),f=new a.AnnotsRoll({stageView:c,logger:logger,ws:l,parentContainer:d.stage,xInit:624,yInit:568,width:400,height:568,widthRoll:200,framerate:d.framerate,pixelsPerSecond:Math.floor(1024/60),annotColors:this.annotCategories}),g=(new n.Graphics).lineStyle(1,6579300).moveTo(f.container.x,f.container.y).lineTo(f.container.x,f.container.y-f.height).moveTo(f.container.x+f.widthRoll,f.container.y).lineTo(f.container.x+f.widthRoll,f.container.y-f.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();return this.container.addChild(g),this.init=function(){},this.start=function(){},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={xInit:0,yInit:0,width:1024,height:768,annotCategories:[{ts:0,colors:{ntm:"#CDC83F",iam:"#CDC83F",hip:"#CDC83F",hop:"#CDC83F",rock:"#DE8B53",rap:"#DE8B53",classic:"#DE8B53",drums:"#C5A3CA",guitar:"#C5A3CA",bass:"#79BB92","default":"#808080"},order:["ntm","iam","hip","hop","rock","rap","classic","drums","guitar","bass","default"]}]};i.exports={AnnotsVizView:e}},{"./annotsroll.js":2,"./annotstimeline.js":3,"./doubleroll.js":5,lodash:"lodash",pixi:"pixi"}],5:[function(t,i){"use strict";function e(t){var i=this,e=o(t).defaults(r).value(),a=e.orientation,h="vertical"!==a;this.logger=e.logger,this.lineColor=e.lineColor,this.lineFillColor=e.lineFillColor,this.framerate=e.framerate,this.offsetMusic=e.offsetMusic,this.noteColors=e.noteColors;var l=e.noteHeight,c=(e.sceneBgColor,e.sceneHeight||o(e.pianorolls).reduce(function(t,i){return t+i.height},0)),d=e.timeWidth,f=e.lineInterval,g=e.offsetMusic,u=e.sceneWidth,v=e.stageView,p=e.zeroShift,w=e.ws,m={};this.container=new n.DisplayObjectContainer,this.container.x=Math.floor(u*p),this.container.y=0,v.registerComponent(this);var C=[],x={parentContainer:this.container,orientation:a,xInit:0,width:u,noteColors:this.noteColors,colorsReg:m,lineColor:this.lineColor,lineInterval:f,offsetMusic:g},y=e.yInit||0,I=!0;o(e.pianorolls).forEach(function(t,r){var a=l||t.noteHeight||t.height/128,h=t.timeWidth||d;if(C.push(new s(o({yInit:y,height:t.height,linesDown:I,pixelsPerSecond:Math.floor(u/h),noteHeight:a,lineInterval:t.lineInterval}).defaults(x).value())),y+=t.height,I=!I,r<e.pianorolls.length-1){var c=(new n.Graphics).beginFill(i.lineFillColor).lineStyle(1,i.lineColor).moveTo(Math.floor(u*p),y).lineTo(-u-Math.floor(u*p),y).endFill();i.container.addChild(c)}}),h||(this.container.rotation=Math.PI/2,this.container.y=c,this.container.x=u),this.init=function(){w.message(function(t){i.addNotes(t)})},this.addNotes=function(t){C.forEach(function(i){i.addNoteRaw(t)})},this.refresh=function(){C.forEach(function(t){t.move()})};var T;return this.start=function(){T=Date.now(),C.forEach(function(t){t.start()})},this.stop=function(){C.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.js"),r={orientation:"horizontal",logger:void 0,sceneWidth:1024,pianorolls:[{height:435,timeWidth:10,lineInterval:5e3,noteHeight:void 0},{height:645,timeWidth:60,lineInterval:5e3,noteHeight:void 0}],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};i.exports={DoubleRoll:e}},{"./pianoroll.js":7,lodash:"lodash",pixi:"pixi"}],6:[function(t,i){"use strict";function e(t,i){var e=i;"string"==typeof i&&(e=document.getElementById(i)),t||(document.body.removeChild(e),e=void 0),this.log=function(i){t&&e&&(e.innerHTML+=i+"\n",e.scrollTop=e.scrollHeight)}}function n(t){this.log=function(i){t&&console.log(i)}}i.exports={HtmlLogger:e,ConsoleLogger:n}},{}],7:[function(t,i){"use strict";function e(t){var i=this;this.container=new n.DisplayObjectContainer,this.container.x=t.xInit,this.container.y=t.yInit,t.parentContainer.addChild(this.container);var e=t.orientation,a="vertical"!==e;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();var h=!1,l=function(t){var i=t.toGlobal(new n.Point(0,0));return i.x+t.width<0||i.y+t.height<0};this.getColor=function(t){var i=this.colorsReg[t];if("undefined"==typeof i){var e=Object.keys(this.colorsReg).length;i=this.colorsReg[t]=e<this.noteColors.length?this.noteColors[e]:parseInt(o({luminosity:"light",hue:"random",format:"hex"}).replace(/^#/,""),16)}return i},this.getNoteRect=function(t,i,e,o,s,r){var a=new n.Graphics;return a.beginFill(e,o),a.drawRect(0,0,s,r),a.endFill(),a.x=t,a.y=i,a.width=s,a.height=r,a},this.addNoteRaw=function(t){console.log(t);var i=t.content[3],e=t.content[4],n=1e3*(t.content[0]-r),o=t.content[2],s=t.content[1];this.addNote(i,n,s,e,o,0)},this.addNote=function(t,i,e,n,o,s){var r=i;this.offsetMusic&&(r=this.startTs+e);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=e-c.sessionTs,a=c.graphics,l=c.velocity,r=c.ts}}else h=Date.now()-r,this.noteDict[o][t]={ts:r,velocity:n,sessionTs:e};if(!this.offsetMusic||0===n){var d=h*this.pixelsPerSecond/1e3;if(a)a.width=d;else{var f=(r-this.startTs)*this.pixelsPerSecond/1e3;if(f+d<Math.abs(this.container.x)-this.width)return;var g=Math.floor((128-t+.5)*this.height/128-this.noteHeight/2),u=this.getColor(o),v=l/128;a=this.getNoteRect(f,g,u,v,d,this.noteHeight),this.container.addChild(a)}!s&&n&&(this.noteDict[o][t].graphics=a)}},this.addLine=function(t){"undefined"==typeof t&&(t=new Date);var i=-this.container.x,e=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=i,o.y=e,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=i+2,d.y=this.linesDown?this.height-15:2):(d.rotation=-Math.PI/2,d.x=i,d.y=this.linesDown?this.height-2:d.width+2),this.container.addChild(d)},this.moveTo=function(t){var i=this.container.x;this.container.x=Math.floor(t*this.pixelsPerSecond);var e=Math.abs(i-this.container.x);s.forOwn(this.noteDict,function(t){s.forOwn(t,function(t){t.graphics&&(t.graphics.width=t.graphics.width+e)})})},this.move=function(){var t=(this.startTs-Date.now())/1e3;this.moveTo(t)},this.removePassedObjets=function(){var t=[];s(i.container.children).forEach(function(i){return"undefined"==typeof i||l(i)&&t.push(i)}),t.forEach(function(t){i.container.removeChild(t)})},this.start=function(){h||(this.startTs=Date.now(),this.addLine(),h=!0),this.verticalLinesInterval=setInterval(function(){i.addLine()},this.lineInterval),this.cleanInterval=setInterval(function(){i.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;i.exports=e},{lodash:"lodash",pixi:"pixi",randomColor:"randomColor"}],8:[function(t,i){"use strict";function e(t){var i=this,e=o(t).defaults(s).value(),r=e.externalRefresh;this.logger=e.logger,this.framerate=e.framerate;var a=e.sceneBgColor,h=e.sceneWidth,l=e.sceneHeight,c=e.canvasContainer,d=[],f=[];this.stage=new n.Stage(a);var g=n.autoDetectRenderer(h,l);this.init=function(){"string"==typeof c&&(c=document.getElementById(c)),"string"==typeof d&&(d=document.getElementById(d)),c.appendChild(g.view),f.forEach(function(t){t.init()})},this.registerTimeContainer=function(t){d.push(t)},this.registerComponent=function(t){f.push(t),this.stage.addChild(t.container)},this.refresh=function(){f.forEach(function(t){t.refresh()}),g.render(this.stage)};var u;return this.start=function(){r||(u=setInterval(function(){i.refresh()},1e3/this.framerate)),f.forEach(function(t){t.start()})},this.stop=function(){r||clearInterval(u),clearInterval(refreshTimeInterval),f.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"};i.exports={StageView:e}},{lodash:"lodash",pixi:"pixi"}],9:[function(t,i){"use strict";function e(t){var i=Math.floor(t/1e3/3600)%24,e=Math.floor(t/1e3/60)%60,n=Math.floor(t/1e3%60);return(10>i?"0"+i:i)+":"+(10>e?"0"+e:e)+":"+(10>n?"0"+n:n)}i.exports={formatTime:e}},{}],10:[function(t,i){"use strict";function e(t,i){var e=t,n=new WebSocket(e),o=i,s=function(t){o&&o.log(t)},r=[];n.onopen=function(){s("Connected to "+e)},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 i=JSON.parse(t.data);r.forEach(function(t){t(i)})},this.message=function(t){t&&r.push(t)}}i.exports={WsWrapper:e}},{}]},{},[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 i;"undefined"!=typeof window?i=window:"undefined"!=typeof global?i=global:"undefined"!=typeof self&&(i=self),i.annotviz=t()}}(function(){return function t(i,e,n){function o(r,a){if(!e[r]){if(!i[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=e[r]={exports:{}};i[r][0].call(c.exports,function(t){var e=i[r][1][t];return o(e?e:t)},c,c.exports,t,i,e,n)}return e[r].exports}for(var s="function"==typeof require&&require,r=0;r<n.length;r++)o(n[r]);return o}({1:[function(t,i){"use strict";var e=t("./doubleroll"),n=t("./annotsroll"),o=t("./annotstimeline"),s=t("./annotsvizview"),r=t("./stageview"),a=t("./wswrapper"),h=t("./logger"),l=t("lodash");i.exports=l({}).extend(e).extend(n).extend(o).extend(s).extend(r).extend(a).extend(h).value()},{"./annotsroll":2,"./annotstimeline":3,"./annotsvizview":4,"./doubleroll":5,"./logger":6,"./stageview":8,"./wswrapper":10,lodash:"lodash"}],2:[function(t,i){"use strict";function e(t){var i=this,e=o(t).defaults(a).value();this.container=new n.DisplayObjectContainer,this.container.x=e.xInit,this.container.y=e.yInit,this.container.width=e.width,this.height=e.height,this.width=e.width,this.widthRoll=e.widthRoll,this.pixelsPerSecond=e.pixelsPerSecond,this.annotColors=e.annotColors,this.startTs=t.startTs||Date.now();var h=e.yInit,l=o(e.annotStyles).defaults(r).value();for(var c in l)l[c].wordWrap===!0&&(l[c].wordWrapWidth=this.widthRoll);var d=!1,f=e.ws,g=e.externalRefresh,u=e.stageView;u.registerComponent(this);var v=function(t){var i=t.toGlobal(new n.Point(0,0));return i.x+t.width<0||i.y+t.height<0};this.addAnnots=function(t){var i=t.content.category.label,e=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(i,e,n,s,o)},this.getColor=function(t,i){var e;o(this.annotColors).eachRight(function(i){return console.log("cDef",i),console.log("cDef ts",i.ts,t),i.ts<t?(e=i.colors,!1):void 0});var n;return console.log("colorsDef",e),e&&(n=e[i]),n||(n=s),n},this.addAnnot=function(t,i,e,r,a){var c=r?r:s,d=0,f=(a-this.startTs)*this.pixelsPerSecond/1e3+h,g=parseInt(c.replace(/^#/,""),16),u=(new n.Graphics).beginFill(g).drawRect(d,f,10,3).endFill();this.container.addChild(u);var v=0,p=new n.Text(t,o(l.label).extend({fill:c}).value());if(p.x=d+20,p.y=f-23,this.container.addChild(p),v+=p.height-23+2,i){var w=new n.Text(i,l.text);w.x=d+20,w.y=f+2,this.container.addChild(w),v+=w.height+2}var m=new n.Text(e,l.user);m.x=d+20,m.y=f+2+v,this.container.addChild(m),this.addAnnotLine(g,f)},this.addAnnotLine=function(t,i){var e=this.widthRoll,o=(new n.Graphics).beginFill(t).drawRect(e,i,this.width-e,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.removePassedObjets=function(){var t=[];o(i.container.children).forEach(function(i){return"undefined"==typeof i||v(i)&&t.push(i)}),t.forEach(function(t){i.container.removeChild(t)})},this.init=function(){f.message(function(t){i.addAnnots(t)})},this.start=function(){d||(this.startTs=Date.now(),d=!0),this.cleanInterval=setInterval(function(){i.removePassedObjets()},1e3*this.height/this.pixelsPerSecond),g||(this.refreshInterval=setInterval(function(){i.move()},1e3/this.framerate))},this.stop=function(){clearInterval(this.cleanInterval),g||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};i.exports={AnnotsRoll:e}},{lodash:"lodash",pixi:"pixi"}],3:[function(t,i){"use strict";function e(t){var i=this,e=s(t).defaults(r).value();this.container=new n.DisplayObjectContainer,this.container.x=e.xInit,this.container.y=e.yInit,this.container.width=e.width,this.container.height=e.height,this.timeBegin=e.timeBegin,this.timeEnd=e.timeEnd,this.duration=(this.timeEnd-this.timeBegin)/1e3,this.width=e.width,this.height=e.height,this.intervalHeight=e.intervalHeight,this.intervalWidth=e.intervalWidth,this.maxCellHeight=e.maxCellHeight,this.annotCategories=e.annotCategories,this.circleX=e.circleX||this.width/2,this.circleY=e.circleY||this.height/2,this.radius=e.radius,this.perimeter=2*Math.PI*this.radius,this.intervalDuration=this.intervalWidth*this.duration/this.perimeter;var a=this.timeBegin,h=Math.floor(this.perimeter/this.intervalWidth);this.cells=[];for(var l=0;l<this.perimeter/this.intervalWidth;l++){this.cells[l]=[],this.cells[l].i=l,this.cells[l].totalAnnots=0,this.cells[l].categories={};for(var c in this.annotCategories[0].colors)this.cells[l].categories[c]={count:0,color:this.annotCategories[0].colors[c]}}var d=e.ws,f=e.stageView,g=new n.Graphics;g.lineStyle(2,6579300).drawCircle(this.circleX,this.circleY,this.radius-3).lineStyle(1,14145495).drawCircle(this.circleX,this.circleY,2*this.radius/3).drawCircle(this.circleX,this.circleY,this.radius/3).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(g);var u=new n.Text("-- : -- : --",{font:"18pt Gothic Standard",fill:"#646464"});u.x=this.circleX-u.width/2,u.y=this.circleY-u.height/2,this.container.addChild(u),f.registerComponent(this),this.addAnnot=function(t){if("undefined"!=typeof this.annotCategories[0].colors[t.content.category.code])var i=t.content.category.code;else var i=this.annotCategories[0].order[this.annotCategories[0].order.length-1];Date.parse(t.ts);if(this.timeEnd>Date.parse(t.ts)){var e=Math.floor((Date.parse(t.ts)-this.timeBegin)/(1e3*this.intervalDuration));this.cells[e].categories[i].count+=1,this.cells[e].totalAnnots+=1,this.redrawCell(this.cells[e],e)}},this.initGraphics=function(t){t.graphics=new n.Graphics,t.graphics.position.x=this.circleX+this.radius*Math.sin(t.i*(360/h)*(Math.PI/180)),t.graphics.position.y=this.circleY-this.radius*Math.cos(t.i*(360/h)*(Math.PI/180)),t.graphics.rotation=t.i*(360/h)*(Math.PI/180)+360/(2*h)*(Math.PI/180),this.container.addChild(t.graphics)},this.initTimeTexts=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 i=new n.Text(o.formatTime(this.timeEnd),{font:"12pt Gothic Standard",fill:"#646464"});i.x=this.circleX-15-i.width,i.y=this.circleY-this.radius-this.maxCellHeight-10,this.container.addChild(i);var e=new n.Text(o.formatTime((this.timeEnd-this.timeBegin)/4+this.timeBegin),{font:"12pt Gothic Standard",fill:"#646464"});e.x=this.circleX+this.radius+this.maxCellHeight+10,e.y=this.circleY-e.height,e.rotation=Math.PI/2,this.container.addChild(e);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+e.height,r.rotation=-Math.PI/2,this.container.addChild(r)},this.redrawCell=function(t){"undefined"==typeof t.graphics?this.initGraphics(t):t.graphics.clear();var i=0;if(t.totalAnnots*this.intervalHeight>this.maxCellHeight)var e=this.maxCellHeight/t.totalAnnots;else var e=this.intervalHeight;for(var n=0;n<this.annotCategories[0].order.length;n++){var o=this.annotCategories[0].order[n];t.graphics.beginFill(t.categories[o].color.replace("#","0x")).drawRect(0,i,this.intervalWidth-1,-t.categories[o].count*e).endFill(),i-=t.categories[o].count*e}},this.init=function(){d.message(function(t){i.addAnnot(t)}),this.initTimeTexts()},this.updateTime=function(){a+=1e3;var t=a/1e3,i=Math.floor(t/3600)%24,e=Math.floor(t/60)%60,n=Math.floor(t%60),o=(10>i?"0"+i:i)+":"+(10>e?"0"+e:e)+":"+(10>n?"0"+n:n);u.setText(o)};var v;return this.start=function(){v=setInterval(function(){i.updateTime()},1e3)},this.refresh=function(){},this.stop=function(){console.log(this.cells)},this}var n=t("pixi"),o=t("./utils.js"),s=t("lodash"),r={logger:void 0,intervalWidth:10,intervalHeight:5,maxCellHeight:200,radius:300};i.exports={AnnotsTimeLine:e}},{"./utils.js":9,lodash:"lodash",pixi:"pixi"}],4:[function(t,i){"use strict";function e(t){var i=o(t).defaults(h).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.annotCategories=i.annotCategories;var e=i.wsPianoroll,l=i.wsAnnot,c=i.stageView;c.registerComponent(this);var d=(new r.AnnotsTimeLine({stageView:c,logger:logger,ws:new annotviz.WsWrapper(wsUriAnnotation,logger),xInit:0,yInit:0,width:624,height:568,timeBegin:Date.now(),timeEnd:Date.now()+3e6,intervalWidth:6,intervalHeight:10,maxCellHeight:70,radius:200,annotCategories:this.annotCategories}),new s.DoubleRoll({stageView:c,logger:logger,ws:e,yInit:this.height-200,sceneHeight:200,pianorolls:[{height:200,timeWidth:10,lineInterval:5e3,noteHeight:10}]}),new s.DoubleRoll({stageView:c,logger:logger,ws:e,orientation:"vertical",sceneHeight:568,pianorolls:[{height:200,timeWidth:60,lineInterval:5e3,noteHeight:5}]})),f=new a.AnnotsRoll({stageView:c,logger:logger,ws:l,parentContainer:d.stage,xInit:624,yInit:568,width:400,height:568,widthRoll:200,framerate:d.framerate,pixelsPerSecond:Math.floor(1024/60),annotColors:this.annotCategories}),g=(new n.Graphics).lineStyle(1,6579300).moveTo(f.container.x,f.container.y).lineTo(f.container.x,f.container.y-f.height).moveTo(f.container.x+f.widthRoll,f.container.y).lineTo(f.container.x+f.widthRoll,f.container.y-f.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();return this.container.addChild(g),this.init=function(){},this.start=function(){},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={xInit:0,yInit:0,width:1024,height:768,annotCategories:[{ts:0,colors:{ntm:"#CDC83F",iam:"#CDC83F",hip:"#CDC83F",hop:"#CDC83F",rock:"#DE8B53",rap:"#DE8B53",classic:"#DE8B53",drums:"#C5A3CA",guitar:"#C5A3CA",bass:"#79BB92","default":"#808080"},order:["ntm","iam","hip","hop","rock","rap","classic","drums","guitar","bass","default"]}]};i.exports={AnnotsVizView:e}},{"./annotsroll.js":2,"./annotstimeline.js":3,"./doubleroll.js":5,lodash:"lodash",pixi:"pixi"}],5:[function(t,i){"use strict";function e(t){var i=this,e=o(t).defaults(r).value(),a=e.orientation,h="vertical"!==a;this.logger=e.logger,this.lineColor=e.lineColor,this.lineFillColor=e.lineFillColor,this.framerate=e.framerate,this.offsetMusic=e.offsetMusic,this.noteColors=e.noteColors;var l=e.noteHeight,c=(e.sceneBgColor,e.sceneHeight||o(e.pianorolls).reduce(function(t,i){return t+i.height},0)),d=e.timeWidth,f=e.lineInterval,g=e.offsetMusic,u=e.sceneWidth,v=e.stageView,p=e.zeroShift,w=e.ws,m={};this.container=new n.DisplayObjectContainer,this.container.x=Math.floor(u*p),this.container.y=0,v.registerComponent(this);var C=[],x={parentContainer:this.container,orientation:a,xInit:0,width:u,noteColors:this.noteColors,colorsReg:m,lineColor:this.lineColor,lineInterval:f,offsetMusic:g},y=e.yInit||0,I=!0;o(e.pianorolls).forEach(function(t,r){var a=l||t.noteHeight||t.height/128,h=t.timeWidth||d;if(C.push(new s(o({yInit:y,height:t.height,linesDown:I,pixelsPerSecond:Math.floor(u/h),noteHeight:a,lineInterval:t.lineInterval}).defaults(x).value())),y+=t.height,I=!I,r<e.pianorolls.length-1){var c=(new n.Graphics).beginFill(i.lineFillColor).lineStyle(1,i.lineColor).moveTo(Math.floor(u*p),y).lineTo(-u-Math.floor(u*p),y).endFill();i.container.addChild(c)}}),h||(this.container.rotation=Math.PI/2,this.container.y=c,this.container.x=u),this.init=function(){w.message(function(t){i.addNotes(t)})},this.addNotes=function(t){C.forEach(function(i){i.addNoteRaw(t)})},this.refresh=function(){C.forEach(function(t){t.move()})};var T;return this.start=function(){T=Date.now(),C.forEach(function(t){t.start()})},this.stop=function(){C.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.js"),r={orientation:"horizontal",logger:void 0,sceneWidth:1024,pianorolls:[{height:435,timeWidth:10,lineInterval:5e3,noteHeight:void 0},{height:645,timeWidth:60,lineInterval:5e3,noteHeight:void 0}],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};i.exports={DoubleRoll:e}},{"./pianoroll.js":7,lodash:"lodash",pixi:"pixi"}],6:[function(t,i){"use strict";function e(t,i){var e=i;"string"==typeof i&&(e=document.getElementById(i)),t||(document.body.removeChild(e),e=void 0),this.log=function(i){t&&e&&(e.innerHTML+=i+"\n",e.scrollTop=e.scrollHeight)}}function n(t){this.log=function(i){t&&console.log(i)}}i.exports={HtmlLogger:e,ConsoleLogger:n}},{}],7:[function(t,i){"use strict";function e(t){var i=this;this.container=new n.DisplayObjectContainer,this.container.x=t.xInit,this.container.y=t.yInit,t.parentContainer.addChild(this.container);var e=t.orientation,a="vertical"!==e;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();var h=!1,l=function(t){var i=t.toGlobal(new n.Point(0,0));return i.x+t.width<0||i.y+t.height<0};this.getColor=function(t){var i=this.colorsReg[t];if("undefined"==typeof i){var e=Object.keys(this.colorsReg).length;i=this.colorsReg[t]=e<this.noteColors.length?this.noteColors[e]:parseInt(o({luminosity:"light",hue:"random",format:"hex"}).replace(/^#/,""),16)}return i},this.getNoteRect=function(t,i,e,o,s,r){var a=new n.Graphics;return a.beginFill(e,o),a.drawRect(0,0,s,r),a.endFill(),a.x=t,a.y=i,a.width=s,a.height=r,a},this.addNoteRaw=function(t){console.log(t);var i=t.content[3],e=t.content[4],n=1e3*(t.content[0]-r),o=t.content[2],s=t.content[1];this.addNote(i,n,s,e,o,0)},this.addNote=function(t,i,e,n,o,s){var r=i;this.offsetMusic&&(r=this.startTs+e);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=e-c.sessionTs,a=c.graphics,l=c.velocity,r=c.ts}}else h=Date.now()-r,this.noteDict[o][t]={ts:r,velocity:n,sessionTs:e};if(!this.offsetMusic||0===n){var d=h*this.pixelsPerSecond/1e3;if(a)a.width=d;else{var f=(r-this.startTs)*this.pixelsPerSecond/1e3;if(f+d<Math.abs(this.container.x)-this.width)return;var g=Math.floor((128-t+.5)*this.height/128-this.noteHeight/2),u=this.getColor(o),v=l/128;a=this.getNoteRect(f,g,u,v,d,this.noteHeight),this.container.addChild(a)}!s&&n&&(this.noteDict[o][t].graphics=a)}},this.addLine=function(t){"undefined"==typeof t&&(t=new Date);var i=-this.container.x,e=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=i,o.y=e,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=i+2,d.y=this.linesDown?this.height-15:2):(d.rotation=-Math.PI/2,d.x=i,d.y=this.linesDown?this.height-2:d.width+2),this.container.addChild(d)},this.moveTo=function(t){var i=this.container.x;this.container.x=Math.floor(t*this.pixelsPerSecond);var e=Math.abs(i-this.container.x);s.forOwn(this.noteDict,function(t){s.forOwn(t,function(t){t.graphics&&(t.graphics.width=t.graphics.width+e)})})},this.move=function(){var t=(this.startTs-Date.now())/1e3;this.moveTo(t)},this.removePassedObjets=function(){var t=[];s(i.container.children).forEach(function(i){return"undefined"==typeof i||l(i)&&t.push(i)}),t.forEach(function(t){i.container.removeChild(t)})},this.start=function(){h||(this.startTs=Date.now(),this.addLine(),h=!0),this.verticalLinesInterval=setInterval(function(){i.addLine()},this.lineInterval),this.cleanInterval=setInterval(function(){i.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;i.exports=e},{lodash:"lodash",pixi:"pixi",randomColor:"randomColor"}],8:[function(t,i){"use strict";function e(t){var i=this,e=o(t).defaults(s).value(),r=e.externalRefresh;this.logger=e.logger,this.framerate=e.framerate;var a=e.sceneBgColor,h=e.sceneWidth,l=e.sceneHeight,c=e.canvasContainer,d=[],f=[];this.stage=new n.Stage(a);var g=n.autoDetectRenderer(h,l);this.init=function(){"string"==typeof c&&(c=document.getElementById(c)),"string"==typeof d&&(d=document.getElementById(d)),c.appendChild(g.view),f.forEach(function(t){t.init()})},this.registerTimeContainer=function(t){d.push(t)},this.registerComponent=function(t){f.push(t),this.stage.addChild(t.container)},this.refresh=function(){f.forEach(function(t){t.refresh()}),g.render(this.stage)};var u;return this.start=function(){r||(u=setInterval(function(){i.refresh()},1e3/this.framerate)),f.forEach(function(t){t.start()})},this.stop=function(){r||clearInterval(u),clearInterval(refreshTimeInterval),f.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"};i.exports={StageView:e}},{lodash:"lodash",pixi:"pixi"}],9:[function(t,i){"use strict";function e(t){var i=Math.floor(t/1e3/3600)%24,e=Math.floor(t/1e3/60)%60,n=Math.floor(t/1e3%60);return(10>i?"0"+i:i)+":"+(10>e?"0"+e:e)+":"+(10>n?"0"+n:n)}i.exports={formatTime:e}},{}],10:[function(t,i){"use strict";function e(t,i){var e=t,n=new WebSocket(e),o=i,s=function(t){o&&o.log(t)},r=[];n.onopen=function(){s("Connected to "+e)},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 i=JSON.parse(t.data);r.forEach(function(t){t(i)})},this.message=function(t){t&&r.push(t)}}i.exports={WsWrapper:e}},{}]},{},[1])(1)});