crea/integration/metadataplayer/MusitagAndYou.js
author ymh <ymh.work@gmail.com>
Mon, 29 Jul 2024 23:18:55 +0200
changeset 131 2a18dfe8bfc0
parent 59 1c68ad1ea60f
permissions -rw-r--r--
last change before install
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
     1
IriSP.Widgets.MusitagAndYou = 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.MusitagAndYou.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.MusitagAndYou.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
};
59
1c68ad1ea60f Added div titles for rollover messages
veltr
parents: 2
diff changeset
    12
IriSP.Widgets.MusitagAndYou.prototype.messages = {
1c68ad1ea60f Added div titles for rollover messages
veltr
parents: 2
diff changeset
    13
    en: {
1c68ad1ea60f Added div titles for rollover messages
veltr
parents: 2
diff changeset
    14
        add_tag: "Add your Musitag!"
1c68ad1ea60f Added div titles for rollover messages
veltr
parents: 2
diff changeset
    15
    },
1c68ad1ea60f Added div titles for rollover messages
veltr
parents: 2
diff changeset
    16
    fr: {
1c68ad1ea60f Added div titles for rollover messages
veltr
parents: 2
diff changeset
    17
        add_tag: "Ajoute ton Musitag !"
1c68ad1ea60f Added div titles for rollover messages
veltr
parents: 2
diff changeset
    18
    }
1c68ad1ea60f Added div titles for rollover messages
veltr
parents: 2
diff changeset
    19
}
2
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    20
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    21
IriSP.Widgets.MusitagAndYou.prototype.template =
59
1c68ad1ea60f Added div titles for rollover messages
veltr
parents: 2
diff changeset
    22
    '<div class="Musitag-AndYou-PositionBar"></div><div class="Musitag-AndYou-Main" title="{{l10n.add_tag}}">'
2
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    23
    + '<div class="Musitag-AndYou-Tag Musitag-container-50">'
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 Musitag-green Musitag-AndYou-crossfade Musitag-AndYou-anim-6s Musitag-AndYou-cf-3"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    26
    + '<div class="Musitag-color Musitag-yellow Musitag-AndYou-crossfade Musitag-AndYou-anim-6s Musitag-AndYou-cf-2"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    27
    + '<div class="Musitag-color Musitag-red Musitag-AndYou-crossfade Musitag-AndYou-anim-6s Musitag-AndYou-cf-1"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    28
    + '<div class="Musitag-color Musitag-blue Musitag-AndYou-crossfade Musitag-AndYou-anim-6s"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    29
    + '<div class="Musitag-emoticon Musitag-laughing Musitag-AndYou-crossfade Musitag-AndYou-anim-8s"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    30
    + '<div class="Musitag-emoticon Musitag-happy Musitag-AndYou-crossfade Musitag-AndYou-anim-8s Musitag-AndYou-cf-1"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    31
    + '<div class="Musitag-emoticon Musitag-unhappy Musitag-AndYou-crossfade Musitag-AndYou-anim-8s Musitag-AndYou-cf-2"></div>'
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    32
    + '<div class="Musitag-emoticon Musitag-surprised Musitag-AndYou-crossfade Musitag-AndYou-anim-8s Musitag-AndYou-cf-3"></div></div></div>';
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    33
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    34
IriSP.Widgets.MusitagAndYou.prototype.draw = function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    35
    this.renderTemplate();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    36
    this.position_bar = this.$.find(".Musitag-AndYou-PositionBar");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    37
    this.position_bar.hide();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    38
    this.position_width = this.position_bar.outerWidth();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    39
    this.main_div = this.$.find(".Musitag-AndYou-Main");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    40
    this.main_width = this.main_div.outerWidth();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    41
    this.bindPopcorn("timeupdate","onTimeupdate");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    42
    this.bindPopcorn("IriSP.MusitagAndYou.hide","hide");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    43
    this.bindPopcorn("IriSP.MusitagAndYou.show","show");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    44
    this.show();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    45
    var _this = this;
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    46
    this.main_div.click(function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    47
        _this.hide();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    48
        _this.player.popcorn.trigger("IriSP.MusitagAnnotator.show");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    49
    })
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    50
}
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    51
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    52
IriSP.Widgets.MusitagAndYou.prototype.onTimeupdate = function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    53
    var _x = Math.floor(this.width * this.player.popcorn.currentTime() / this.source.getDuration().getSeconds());
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    54
    this.position_bar.css("margin-left", (_x - this.position_width / 2)+"px");
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    55
    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
    56
}
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    57
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    58
IriSP.Widgets.MusitagAndYou.prototype.show = function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    59
    this.$.show();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    60
    this.position_bar.slideDown(500);
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    61
}
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    62
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    63
IriSP.Widgets.MusitagAndYou.prototype.hide = function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    64
    var _this = this;
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    65
    this.position_bar.slideUp(500, function() {
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    66
        _this.$.hide();
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    67
    });
44deeff592e2 Added metadataplayer, "widgetized" the interface
veltr
parents:
diff changeset
    68
}