tkurz/lime

Implement scheduler

Closed this issue · 1 comments

.. so plugins can take an action (show/hide/..) even independently from annotations, based on time codes. The API should be simple, something like:

player.schedule = function(startmilliseconds, endmilliseconds, [data, ] callback)

Based on that, a plugin could call

player.schedule(0, 6500, {annotation: currAnnot, ...}, function(active, data) {
    if(active){
        showSomethingBasedOn(data.annotation);
    } else {
        hideIt();
    }
}

With this approach the plugins are more flexible in how they schedule showing/hiding a widget.

Using the latest interaction model the scheduler is not necessary. The latest widget is always on top, previous widgets are below. Configuration can also filter widgets being shown.