client/annotviz/app/js/annotsvizview.js
author rougeronj
Thu, 22 Jan 2015 10:01:59 +0100
changeset 113 7531e4180915
parent 110 e4f0c105090d
child 121 df6b39f962bc
permissions -rw-r--r--
Minor time correction
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
98
72d767c5142d refactor and make work annotsroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
/**
72d767c5142d refactor and make work annotsroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
* js/annotsvizview.js
72d767c5142d refactor and make work annotsroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
*
72d767c5142d refactor and make work annotsroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
* This is the starting point for your application.
72d767c5142d refactor and make work annotsroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
* Take a look at http://browserify.org/ for more info
72d767c5142d refactor and make work annotsroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
*/
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
     7
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
     8
'use strict';
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
     9
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    10
var PIXI = require('pixi');
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    11
var _ = require('lodash');
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    12
var DoubleRoll = require('./doubleroll.js');
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    13
var AnnotsTimeLine = require('./annotstimeline.js');
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    14
var AnnotsRoll = require('./annotsroll.js');
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    15
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    16
var defaultOptions = {
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    17
    xInit: 0,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    18
    yInit: 0,
104
685c5ebc59d0 update resolution screen
rougeronj
parents: 103
diff changeset
    19
    width: 1024,
685c5ebc59d0 update resolution screen
rougeronj
parents: 103
diff changeset
    20
    height: 768,
110
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    21
    annotCategories: [
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    22
    {
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    23
        "ts": 1421928213000,
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    24
        "colors": {
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    25
            "transgressions": "#b90000",
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    26
            "rythmique": "#af931e",
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    27
            "narration": "#4bdd71",
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    28
            "relation": "#1c28ba"
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    29
        },
110
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    30
        "order": [
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    31
            "transgressions",
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    32
            "rythmique",
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    33
            "narration",
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    34
            "relation"
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    35
        ],
e4f0c105090d some quick and dirty fixes on colors to start the session
ymh <ymh.work@gmail.com>
parents: 108
diff changeset
    36
        "defaultColor": "#536991"
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    37
    }]
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    38
};
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    39
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    40
function AnnotsVizView(options){
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    41
	var _this = this;
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    42
    var opts = _(options).defaults(defaultOptions).value();
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    43
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    44
    this.container = new PIXI.DisplayObjectContainer();
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    45
    this.container.x = opts.xInit;
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    46
    this.container.y = opts.yInit;
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    47
	this.width = opts.width;
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    48
	this.height= opts.height;
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    49
    this.annotCategories = opts.annotCategories;
113
7531e4180915 Minor time correction
rougeronj
parents: 110
diff changeset
    50
    this.timeBegin = opts.timeBegin;
7531e4180915 Minor time correction
rougeronj
parents: 110
diff changeset
    51
    this.timeEnd = opts.timeEnd;
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    52
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    53
	var wsPianoroll = opts.wsPianoroll;
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    54
	var wsAnnot = opts.wsAnnot;
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    55
	var stageView = opts.stageView;
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    56
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    57
	stageView.registerComponent(this);
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    58
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    59
	var timeLine = new AnnotsTimeLine.AnnotsTimeLine({
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    60
    	stageView : stageView,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    61
        logger: logger,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    62
        ws: new annotviz.WsWrapper(wsUriAnnotation, logger),
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    63
        xInit: 0,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    64
        yInit: 0,
104
685c5ebc59d0 update resolution screen
rougeronj
parents: 103
diff changeset
    65
        width: 1024 - 200 - 200,
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    66
        height: 768-200,
113
7531e4180915 Minor time correction
rougeronj
parents: 110
diff changeset
    67
        timeBegin: this.timeBegin,
7531e4180915 Minor time correction
rougeronj
parents: 110
diff changeset
    68
        timeEnd: this.timeEnd,
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    69
        intervalWidth: 6,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    70
        intervalHeight: 10,
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    71
        maxCellHeight: 70,
104
685c5ebc59d0 update resolution screen
rougeronj
parents: 103
diff changeset
    72
        radius: 200,
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    73
        annotCategories: this.annotCategories
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    74
    });
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    75
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    76
	var doubleRollH = new DoubleRoll.DoubleRoll({
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    77
        stageView : stageView,
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    78
    	logger: logger,
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    79
        ws: wsPianoroll,
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    80
        yInit: (this.height - 200),
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    81
        sceneHeight: 200,
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    82
        pianorolls : [
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    83
            {
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    84
                height: 200,
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    85
                timeWidth: 10,
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    86
                lineInterval: 5000,
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    87
                noteHeight: 10
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    88
            },
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    89
        ]
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    90
    });
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    91
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    92
	var doubleRollV = new DoubleRoll.DoubleRoll({
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    93
        stageView : stageView,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    94
    	logger: logger,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    95
        ws: wsPianoroll,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    96
        orientation: 'vertical',
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    97
        sceneHeight: 768-200,
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    98
        pianorolls : [
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
    99
            {
104
685c5ebc59d0 update resolution screen
rougeronj
parents: 103
diff changeset
   100
                height: 200,
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   101
                timeWidth: 60,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   102
                lineInterval: 5000,
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   103
                noteHeight: 5,
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   104
            },
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   105
        ]
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   106
    });
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   107
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   108
	var annotsRoll = new AnnotsRoll.AnnotsRoll({
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   109
    	stageView : stageView,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   110
        logger: logger,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   111
        ws: wsAnnot,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   112
        parentContainer: doubleRollV.stage,
104
685c5ebc59d0 update resolution screen
rougeronj
parents: 103
diff changeset
   113
        xInit: 1024 - 200 - 200,
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   114
        yInit: 768-200,
104
685c5ebc59d0 update resolution screen
rougeronj
parents: 103
diff changeset
   115
        width: 200 + 200,
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   116
        height: 768-200,
104
685c5ebc59d0 update resolution screen
rougeronj
parents: 103
diff changeset
   117
        widthRoll: 200,
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   118
        framerate: doubleRollV.framerate,
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   119
        pixelsPerSecond: Math.floor(1024 / 60),
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   120
        annotColors: this.annotCategories
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   121
    });
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   122
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   123
	var limiters = new PIXI.Graphics()
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   124
		.lineStyle(1, 0x646464)
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   125
		.moveTo(annotsRoll.container.x, annotsRoll.container.y)
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   126
		.lineTo(annotsRoll.container.x, annotsRoll.container.y - annotsRoll.height)
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   127
		.moveTo(annotsRoll.container.x + annotsRoll.widthRoll, annotsRoll.container.y)
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   128
		.lineTo(annotsRoll.container.x + annotsRoll.widthRoll, annotsRoll.container.y - annotsRoll.height)
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   129
		.moveTo(0, this.height - 200)
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   130
		.lineTo(this.width, this.height - 200)
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   131
		.drawRect(0, 0, this.width -1, this.height -1)
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   132
		.beginFill(0xECECEC)
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   133
		.drawRect(1024 - 200, 0, 200, 768-200)
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   134
		.endFill();
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
   135
	this.container.addChild(limiters);
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   136
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   137
//	var doubleRollV = new DoubleRoll.DoubleRoll({});
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   138
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   139
	this.init = function(){
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   140
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   141
	}
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   142
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   143
	this.start = function() {
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   144
    };
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   145
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   146
    this.refresh = function() {
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   147
    };
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   148
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   149
    this.stop = function(){
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   150
    };
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   151
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   152
    return this;
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   153
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   154
}
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   155
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   156
module.exports = {
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents: 98
diff changeset
   157
	AnnotsVizView: AnnotsVizView
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   158
};