client/annotviz/app/annotsvizview.html
author rougeronj
Thu, 22 Jan 2015 10:01:59 +0100
changeset 113 7531e4180915
parent 108 082b64a5c699
child 117 c0034b35c44e
permissions -rw-r--r--
Minor time correction
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
     1
<!DOCTYPE html>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
     2
<html lang="en">
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
     3
<head>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
     4
    <meta charset="utf-8">
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
     5
    <meta name="viewport" content="width=device-width,initial-scale=1">
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
     6
    <meta name="description" content="">
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
     7
    <meta name="author" content="I.R.I">
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
     8
    <link rel="shortcut icon" href="/img/favicon.ico">
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
     9
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    10
    <title>AnnotsVizView</title>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    11
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    12
    <!-- Custom styles for this template -->
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    13
    <link href="/css/annotviz.css" rel="stylesheet">
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    14
</head>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    15
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    16
<body>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    17
    <h1>Piano Roll vertical</h1>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    18
    <noscript>You must enable JavaScript</noscript>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    19
    <div id="canvasContainer"></div>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    20
    <!--pre id="log"></pre-->
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    21
    <script src="/js/libs-annotviz.js"></script>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    22
    <script src="/js/annotviz.js"></script>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    23
    <script>
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    24
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    25
        var PIXI = require('pixi');
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    26
        var annotCategories = [];
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    27
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    28
        function colorToHex(input) {
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    29
            if (input.substring(0, 1) === '#') {
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    30
                return input;
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    31
            }
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    32
            else {
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    33
                var m = input.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    34
                var r = m[1], g=[2], b=[3];
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    35
                return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    36
            }
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    37
        }
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    38
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    39
        function getAnnotCategories(ecode, serverUrl) {
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    40
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    41
            var url = serverUrl+"/p/api/v1/event/" + ecode;
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    42
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    43
            var jsonLoader = new PIXI.JsonLoader(url, true);
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    44
            jsonLoader.on('loaded', function(res) {
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    45
                var data = res.target.json;
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    46
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    47
                while(annotCategories.length > 0) {
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    48
                    annotCategories.pop();
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    49
                }
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    50
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    51
                data.sessions.forEach(function(session) {
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    52
                    var annotCat = {
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    53
                        ts: session.start_ts === null ? new Date(0) : Date.parse(session.start_ts),
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    54
                        colors: {}
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    55
                    }
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    56
                    var categoriesJson = session.categories_json;
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    57
                    annotCat.order = categoriesJson.order;
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    58
                    categoriesJson.categories.forEach(function(cat) {
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    59
                        annotCat.colors[cat.code] = colorToHex(cat.color);
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    60
                    });
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    61
                    annotCat.defaultColor = categoriesJson.defaultColor || "#536991";
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    62
                    annotCategories.push(annotCat);
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    63
                });
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    64
                console.log(annotCategories);
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    65
            });
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    66
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    67
            jsonLoader.load();
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    68
        }
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    69
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    70
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    71
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    72
	    var pianorollChannel  = 'PIANOROLL';
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    73
	    var annotationChannel = 'ANNOT';
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    74
	    var eventCode = 'test2';
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    75
        getAnnotCategories(eventCode, "http://127.0.0.1:8080");
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    76
	    var wsUri;
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    77
	    if (window.location.protocol === 'file:') {
104
685c5ebc59d0 update resolution screen
rougeronj
parents: 103
diff changeset
    78
	        wsUri = 'ws://172.16.0.20:8090/broadcast';
105
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    79
	    }
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    80
	    else {
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    81
	        wsUri = 'ws://' + window.location.hostname + ':8090/broadcast';
25ac8802c189 Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents: 104
diff changeset
    82
	    }
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    83
	    wsUriPianoroll = wsUri + '?channel=' + pianorollChannel + '&event_code=' + eventCode;
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    84
	    wsUriAnnotation = wsUri + '?channel=' + annotationChannel + '&event_code=' + eventCode;
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    85
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    86
	    var logger = new annotviz.ConsoleLogger(true);
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    87
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    88
	    var stageView = new annotviz.StageView({
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    89
	    	logger: logger
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    90
	    });
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    91
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
    92
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    93
        var annotsvizview = new annotviz.AnnotsVizView({
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    94
        	logger: logger,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    95
        	stageView: stageView,
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    96
        	wsPianoroll: new annotviz.WsWrapper(wsUriPianoroll, logger),
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
    97
        	wsAnnot: new annotviz.WsWrapper(wsUriAnnotation, logger),
113
7531e4180915 Minor time correction
rougeronj
parents: 108
diff changeset
    98
        	timeBegin: 1421919000000,
7531e4180915 Minor time correction
rougeronj
parents: 108
diff changeset
    99
        	timeEnd: 1421951400000
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   100
        });
108
082b64a5c699 add vizualizations to server
ymh <ymh.work@gmail.com>
parents: 105
diff changeset
   101
103
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   102
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   103
        function stop() {
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   104
        	stageView.stop();
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   105
        }
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   106
        function start() {
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   107
        	stageView.start();
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   108
        }
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   109
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   110
        window.onload = function() {
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   111
        	stageView.init();
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   112
            start();
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   113
        }
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   114
    </script>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   115
</body>
123a611c7903 minor update of options and add annotsvizview
rougeronj
parents:
diff changeset
   116
</html>