metadataplayer edwin/metadataplayer/Slice.js
author ymh <ymh.work@gmail.com>
Thu, 30 Aug 2012 01:15:16 +0200
changeset 7 fb450f78bfd1
parent 2 3cc57cb48aea
permissions -rw-r--r--
correct sync files
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
     1
/*
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
     2
 The Slider Widget shows time position and allows seek
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
     3
 */
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
     4
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
     5
IriSP.Widgets.Slice = function(player, config) {
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
     6
    IriSP.Widgets.Widget.call(this, player, config);
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
     7
};
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
     8
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
     9
IriSP.Widgets.Slice.prototype = new IriSP.Widgets.Widget();
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    10
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    11
IriSP.Widgets.Slice.prototype.defaults = {
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    12
    start_visible : false
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    13
};
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    14
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    15
IriSP.Widgets.Slice.prototype.draw = function() {
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    16
    
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    17
    this.$slider = IriSP.jQuery('<div>')
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    18
        .addClass("Ldt-Slice")
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    19
    
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    20
    this.$.append(this.$slider);
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    21
    
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    22
    this.min = 0;
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    23
    this.max = this.source.getDuration().valueOf();
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    24
    
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    25
    var _this = this;
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    26
    
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    27
    this.$slider.slider({
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    28
        range: true,
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    29
        values: [0, 0],
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    30
        min: 0,
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    31
        max: this.max,
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    32
        change: function(event, ui) {
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    33
            _this.player.popcorn.trigger("IriSP.Arrow.updatePosition",{
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    34
                widget:_this.type,
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    35
                time:Math.floor((ui.values[0]+ui.values[1])/2)
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    36
            });
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    37
            _this.player.popcorn.trigger("IriSP.Slice.boundsChanged",[ui.values[0], ui.values[1]]);
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    38
        }
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    39
    });
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    40
    this.$slider.find(".ui-slider-handle:first").addClass("Ldt-Slice-left-handle");
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    41
    this.$slider.find(".ui-slider-handle:last").addClass("Ldt-Slice-right-handle");
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    42
    if (this.start_visible) {
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    43
        this.show();
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    44
    } else {
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    45
        this.hide();
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    46
    }
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    47
    this.bindPopcorn("IriSP.Slice.show","show");
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    48
    this.bindPopcorn("IriSP.Slice.hide","hide");
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    49
    this.bindPopcorn("IriSP.Annotation.boundsChanged","storeBounds");
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    50
};
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    51
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    52
IriSP.Widgets.Slice.prototype.show = function() {
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    53
    this.$slider.show();
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    54
    this.player.popcorn.trigger("IriSP.Arrow.takeover",this.type);
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    55
    this.$slider.slider("values", [this.min, this.max]);
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    56
}
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    57
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    58
IriSP.Widgets.Slice.prototype.hide = function() {
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    59
    this.$slider.hide();
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    60
    this.player.popcorn.trigger("IriSP.Arrow.release");
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    61
}
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    62
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    63
IriSP.Widgets.Slice.prototype.storeBounds = function(_values) {
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    64
    this.min = _values[0];
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    65
    this.max = _values[1];
3cc57cb48aea ajout du repertoire de test "metadataplayer edwin"
Edwin Razafimahatratra <edwin@robotalismsoft.com>
parents:
diff changeset
    66
}