crea/integration/metadataplayer/MusitagAnnotator.js
author ymh <ymh.work@gmail.com>
Wed, 06 Jun 2012 23:00:42 +0200
changeset 16 e37a29d23c86
parent 2 44deeff592e2
child 10 84fc62839751
permissions -rw-r--r--
First version of tralalere platform
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
     1
IriSP.Widgets.MusitagAnnotator = function(player, config) {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
     2
    IriSP.Widgets.Widget.call(this, player, config);
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
     3
};
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
     4
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
     5
IriSP.Widgets.MusitagAnnotator.prototype = new IriSP.Widgets.Widget();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
     6
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
     7
IriSP.Widgets.MusitagAnnotator.prototype.defaults = {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
     8
    min_left: -90,
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
     9
    max_right: 900,
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    10
    width: 870
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    11
};
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    12
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    13
IriSP.Widgets.MusitagAnnotator.prototype.template =
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    14
    '<div class="Musitag-Annotator-PositionBar"></div><div class="Musitag-Annotator-Main">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    15
    + '<div class="Musitag-Annotator-section"><h2>1</h2>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    16
    + '    <h3>Choisis<br />une couleur</h3>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    17
    + '    <div class="Musitag-Annotator-selector">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    18
    + '        <div class="Musitag-container-80 Musitag-Annotator-tagInSelector">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    19
    + '            <div class="Musitag-shadow"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    20
    + '            <div class="Musitag-color"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    21
    + '            <div class="Musitag-color Musitag-red"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    22
    + '        </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    23
    + '        <div class="Musitag-container-80 Musitag-Annotator-tagInSelector">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    24
    + '            <div class="Musitag-shadow"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    25
    + '            <div class="Musitag-color"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    26
    + '            <div class="Musitag-color Musitag-yellow"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    27
    + '        </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    28
    + '        <div class="Musitag-container-80 Musitag-Annotator-tagInSelector">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    29
    + '            <div class="Musitag-shadow"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    30
    + '            <div class="Musitag-color"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    31
    + '            <div class="Musitag-color Musitag-green"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    32
    + '        </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    33
    + '        <div class="Musitag-container-80 Musitag-Annotator-tagInSelector">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    34
    + '            <div class="Musitag-shadow"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    35
    + '            <div class="Musitag-color"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    36
    + '            <div class="Musitag-color Musitag-blue"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    37
    + '        </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    38
    + '    </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    39
    + '</div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    40
    + '<div class="Musitag-Annotator-separator"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    41
    + '<div class="Musitag-Annotator-section">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    42
    + '    <h2>2</h2>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    43
    + '    <h3>Choisis<br />une émotion</h3>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    44
    + '    <div class="Musitag-Annotator-selector">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    45
    + '        <div class="Musitag-container-80 Musitag-Annotator-tagInSelector">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    46
    + '            <div class="Musitag-shadow"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    47
    + '            <div class="Musitag-color"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    48
    + '            <div class="Musitag-emoticon Musitag-happy"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    49
    + '        </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    50
    + '        <div class="Musitag-container-80 Musitag-Annotator-tagInSelector">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    51
    + '            <div class="Musitag-shadow"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    52
    + '            <div class="Musitag-color"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    53
    + '            <div class="Musitag-emoticon Musitag-unhappy"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    54
    + '        </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    55
    + '        <div class="Musitag-container-80 Musitag-Annotator-tagInSelector">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    56
    + '            <div class="Musitag-shadow"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    57
    + '            <div class="Musitag-color"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    58
    + '            <div class="Musitag-emoticon Musitag-laughing"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    59
    + '        </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    60
    + '        <div class="Musitag-container-80 Musitag-Annotator-tagInSelector">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    61
    + '            <div class="Musitag-shadow"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    62
    + '            <div class="Musitag-color"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    63
    + '            <div class="Musitag-emoticon Musitag-surprised"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    64
    + '        </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    65
    + '    </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    66
    + '</div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    67
    + '<div class="Musitag-Annotator-separator"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    68
    + '<div class="Musitag-Annotator-section">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    69
    + '    <h2>3</h2>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    70
    + '    <h3>Enregistre<br />ta voix</h3>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    71
    + '    <div class="Musitag-Annotator-record"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    72
    + '</div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    73
    + '<div class="Musitag-Annotator-separator"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    74
    + '<div class="Musitag-Annotator-section">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    75
    + '    <h2>4</h2>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    76
    + '    <h3>Envoie<br />ton Musitag</h3>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    77
    + '    <div class="Musitag-Annotator-Note">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    78
    + '        <div class="Musitag-container-80 Musitag-Annotator-tagInSend">'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    79
    + '            <div class="Musitag-shadow"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    80
    + '            <div class="Musitag-color"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    81
    + '            <div class="Musitag-emoticon hidden"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    82
    + '        </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    83
    + '    </div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    84
    + '</div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    85
    + '<div class="Musitag-Annotator-close"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    86
    + '</div></div>';
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    87
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    88
IriSP.Widgets.MusitagAnnotator.prototype.draw = function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    89
    this.renderTemplate();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    90
    this.position_bar = this.$.find(".Musitag-Annotator-PositionBar");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    91
    this.position_bar.hide();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    92
    this.position_width = this.position_bar.outerWidth();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    93
    this.main_div = this.$.find(".Musitag-Annotator-Main");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    94
    this.$.hide();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    95
    this.main_width = this.main_div.outerWidth();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    96
    this.bindPopcorn("timeupdate","onTimeupdate");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    97
    this.bindPopcorn("IriSP.MusitagAnnotator.hide","hide");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    98
    this.bindPopcorn("IriSP.MusitagAnnotator.show","show");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    99
    this.$.find('.Musitag-Annotator-tagInSelector').click(function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   100
        var _class = IriSP.jQuery(this).children(':last-child').attr('class'),
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   101
            _classes = _class.split(' ');
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   102
        IriSP.jQuery('.Musitag-Annotator-tagInSend .' + _classes[0]).attr('class',_class);
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   103
        IriSP.jQuery(this).siblings().removeClass('down')
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   104
            .children(':last-child').css('opacity',.35);
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   105
        IriSP.jQuery(this).addClass('down')
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   106
            .children(':last-child').css('opacity',1);
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   107
    });
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   108
    var _this = this;
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   109
    this.$.find('.Musitag-Annotator-close').click(function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   110
        _this.hide();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   111
        _this.player.popcorn.trigger("IriSP.MusitagAndYou.show");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   112
    })
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   113
}
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   114
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   115
IriSP.Widgets.MusitagAnnotator.prototype.onTimeupdate = function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   116
    var _x = Math.floor(this.width * this.player.popcorn.currentTime() / this.source.getDuration().getSeconds());
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   117
    this.position_bar.css("margin-left", (_x - this.position_width / 2)+"px");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   118
    this.main_div.css("margin-left",Math.max(this.min_left, Math.min(this.max_right - this.main_width, _x - this.main_width / 2))+"px");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   119
}
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   120
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   121
IriSP.Widgets.MusitagAnnotator.prototype.show = function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   122
    this.$.show();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   123
    this.position_bar.slideDown(200);
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   124
}
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   125
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   126
IriSP.Widgets.MusitagAnnotator.prototype.hide = function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   127
    var _this = this;
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   128
    this.position_bar.slideUp(200, function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   129
        _this.$.hide();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   130
    });
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
   131
}