wwwcorpus/metadataplayer/PlaceholderPlayer.js
author cavaliet
Wed, 26 Mar 2014 13:55:12 +0100
changeset 34 ac9fcd121fc3
parent 17 d8b6ea26da6e
permissions -rw-r--r--
v0.3 style unification
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     1
/* This is a fake player, for when no video is available */
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     2
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     3
IriSP.Widgets.PlaceholderPlayer = function(player, config) {
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     4
    IriSP.Widgets.Widget.call(this, player, config);
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     5
};
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     6
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     7
IriSP.Widgets.PlaceholderPlayer.prototype = new IriSP.Widgets.Widget();
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     8
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
     9
IriSP.Widgets.PlaceholderPlayer.prototype.defaults = {
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    10
    autostart: false
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    11
};
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    12
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    13
IriSP.Widgets.PlaceholderPlayer.prototype.template = '<div class="Ldt-PlaceholderPlayer">(loading)</div>';
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    14
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    15
IriSP.Widgets.PlaceholderPlayer.prototype.draw = function() {
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    16
    
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    17
    this.renderTemplate();
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    18
    
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    19
    var paused = true,
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    20
        timeDelta = 0,
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    21
        currentTime = new IriSP.Model.Time(0),
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    22
        media = this.media,
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    23
        sel = this.$.find(".Ldt-PlaceholderPlayer");
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    24
    
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    25
    function updateTime() {
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    26
        if (!paused) {
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    27
            currentTime = new IriSP.Model.Time(new Date().valueOf() - timeDelta);
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    28
            if (currentTime <= media.duration) {
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    29
                media.trigger("timeupdate", currentTime);
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    30
                setTimeout(updateTime, 100);
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    31
            } else {
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    32
                currentTime = media.duration;
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    33
                media.pause();
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    34
            }
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    35
        }
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    36
        sel.text(currentTime.toString(true));
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    37
    }
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    38
    
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    39
    
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    40
    // Binding functions to Popcorn
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    41
    media.on("setcurrenttime", function(_milliseconds) {
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    42
        timeDelta = new Date().valueOf() - _milliseconds;
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    43
        currentTime = new IriSP.Model.Time(_milliseconds);
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    44
        media.trigger("seeked");
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    45
        media.trigger("timeupdate", currentTime);
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    46
        sel.text(currentTime.toString(true));
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    47
    });
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    48
    
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    49
    media.on("setplay", function() {
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    50
        paused = false;
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    51
        timeDelta = new Date().valueOf() - currentTime
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    52
        media.trigger("play");
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    53
        updateTime();
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    54
    });
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    55
    
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    56
    media.on("setpause", function() {
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    57
        paused = true;
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    58
        media.trigger("pause");
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    59
        updateTime();
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    60
    });
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    61
    
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    62
    media.trigger("loadedmetadata");
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    63
    media.trigger("setcurrenttime", 0);
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    64
    
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    65
    if (this.autostart) {
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    66
        media.trigger("setplay");
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    67
    }
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    68
    
d8b6ea26da6e Add interface d'accès au corpus sur le serveur spectacleenlignes.fr/corpus/ alias http://spectacleenlignes.insa-lyon.fr/corpus/
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff changeset
    69
};