integration/js/editor.js
author veltr
Tue, 06 Nov 2012 11:01:27 +0100
changeset 32 47f9a2d63a0a
parent 29 5ce5e26091ea
child 39 d3d8a88878ed
permissions -rw-r--r--
Various UI improvements
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
     1
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
     2
IriSP.hc_messages = {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
     3
    duration_ : "Durée :",
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
     4
    edit_segment: "Éditer le segment",
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
     5
    segment_down: "Descendre le segment",
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
     6
    segment_up: "Remonter le segment",
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
     7
    delete_segment: "Supprimer le segment"
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
     8
}
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
     9
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    10
IriSP.Hashcut = function(options) {
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    11
    
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
    12
    
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    13
    /* Load Media List */
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    14
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    15
    var directory = new IriSP.Model.Directory(),
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    16
        project = directory.remoteSource({
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    17
            url: options.url,
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    18
            serializer: IriSP.serializers.medialist
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    19
        }),
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
    20
        mashup = new IriSP.Model.Mashup(false, project),
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    21
        mediatemplate = _.template('<li class="item-video" data-media-id="<%= id %>"><img src="<%= thumbnail %>" alt="<%= title %>" />'
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    22
            + '<span class="video-info"><span class="title-video"><%= title %></span><span class="author"><%= description %></span>'
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
    23
            + '<span class="time-length"><%= IriSP.hc_messages.duration_ %> <span><%= duration.toString() %></span></span></span></li>'),
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    24
        segmenttemplate = _.template('<li class="item-video" data-segment-id="<%= annotation.id %>" data-media-id="<%= annotation.getMedia().id %>">'
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    25
            + '<img src="<%= annotation.getMedia().thumbnail %>" alt="<%= annotation.getMedia().title %>" />'
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    26
            + '<span class="video-info"><span class="title-video"><%= annotation.getMedia().title %></span>'
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    27
            + '<span class="subtitle"><%= annotation.title %></span><span class="duration"><%= annotation.begin.toString() %> - <%= annotation.end.toString() %> (<%= annotation.getDuration().toString() %>)</span>'
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
    28
            + '<ul class="tools"><li><a class="edit" href="#" title="<%= IriSP.hc_messages.edit_segment %>"></a></li><li><a class="bottom" href="#" title="<%= IriSP.hc_messages.segment_down %>"></a></li>'
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
    29
            + '<li><a class="top" href="#" title="<%= IriSP.hc_messages.segment_up %>"></a></li><li><a class="delete" href="#" title="<%= IriSP.hc_messages.delete_segment %>"></a></li></ul></span></li>'),
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
    30
        viztemplate = _.template('<div class="frise-segment" data-segment-id="<%= segmentid %>" style="background-color:<%= color %>; left:<%= left %>%; width:<%= width %>%;"></div>'),
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
    31
        intervaltemplate = _.template('<span class="frise-indication" style="left:<%= left %>%;"><%= time.toString() %></span>'),
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
    32
        mediasegmenttemplate = _.template('<div class="media-segments-list"><div class="media-segment">'
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
    33
            + '<div class="media-section media-segment-section" style="left:<%= left %>px; width:<%= width %>px; background:<%= annotation.getMedia().color %>"></div>'
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
    34
            + '<div class="media-section media-current-section" style="left:<%= currentleft %>px; width:<%= currentwidth %>px;"><div class="media-current-section-inner"></div></div>'
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
    35
            + '<div class="popin media-segment-popin" style="left:<%= popleft %>px"><img style="left:<%= pointerpos %>px;" class="pointer" src="img/popin-triangle.png" alt="" /><div class="popin-content">'
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
    36
            + '<h3><%= annotation.title %></h3><a href="#" class="button reprendre-segment" data-segment-id="<%= annotation.id %>">Cloner le segment</a>'
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
    37
            + '<p>De: <span><%= annotation.begin.toString() %></span> à <span><%= annotation.end.toString() %></span> (durée: <span><%= annotation.getDuration().toString() %></span>)</p>'
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
    38
            + '</div></div></div></div>');
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    39
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    40
    /* Fill left column with Media List */
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
    41
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    42
    project.onLoad(function() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    43
        var html = '';
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    44
        project.getMedias().forEach(function(_m) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    45
            html += mediatemplate(_m);
13
42c59d09670e display media list
veltr
parents: 12
diff changeset
    46
        });
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    47
        $(".col-left .list-video").html(html);
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    48
    });
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    49
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    50
    /* Search Media with left column form */
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    51
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    52
    $(".col-left input").on("keyup change input paste", function() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    53
        var val = $(this).val();
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    54
        if (val) {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    55
            var find = IriSP.Model.regexpFromTextOrArray(val, true),
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    56
                replace = IriSP.Model.regexpFromTextOrArray(val, false);
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    57
        }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    58
        $(".col-left .item-video").each(function() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    59
            var li = $(this),
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    60
                title = $(this).find(".title-video"),
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    61
                titletext = title.text();
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    62
            if (val && find.test(titletext)) {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    63
                title.html(titletext.replace(replace, '<span style="background: yellow;">$1</span>'));
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    64
                li.show();
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    65
            } else {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    66
                title.text(titletext);
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    67
                if (val) {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    68
                    li.hide();
13
42c59d09670e display media list
veltr
parents: 12
diff changeset
    69
                } else {
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    70
                    li.show();
13
42c59d09670e display media list
veltr
parents: 12
diff changeset
    71
                }
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    72
            }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    73
        })
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    74
    });
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
    75
    
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
    76
    /* Fill right column when mashup is updated */
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
    77
   
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    78
    function setPointerToCurrentAnnotation() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    79
        if (mashupCurrentAnnotation) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    80
            var p = (mashupCurrentAnnotation.begin + mashupCurrentAnnotation.end) / (2 * mashup.duration);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    81
            $(".mashup-description .pointer").css("left", (100 * p) + "%");
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    82
        }
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
    83
    }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
    84
    
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    85
    function updateMashupUI() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    86
        var listhtml = '', vizhtml = '', t = 0, k = mashup.duration ? (100 / mashup.duration) : 0;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    87
        mashup.segments.forEach(function(_s) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    88
            listhtml += segmenttemplate(_s);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    89
            var vizdata = {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    90
                left: k * t,
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    91
                width: k * _s.duration,
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
    92
                color: _s.getMedia().color,
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
    93
                segmentid: _s.annotation.id
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    94
            }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    95
            vizhtml += viztemplate(vizdata);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    96
            t += _s.duration.milliseconds;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    97
        });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    98
        
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
    99
        var intervals = [ 1000, 2000, 5000, 10000, 30000, 60000, 120000, 300000, 600000, 900000, 1800000, 3600000, 7200000 ];
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   100
        
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   101
        function createIntervals(maxn) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   102
            for (var i = 0; i < intervals.length; i++) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   103
                if (mashup.duration / intervals[i] <= maxn) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   104
                    var html = '';
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   105
                    for (var j = intervals[i]; j < mashup.duration; j += intervals[i]) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   106
                        html += intervaltemplate({ left: k * j, time: new IriSP.Model.Time(j) });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   107
                    }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   108
                    return html;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   109
                }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   110
            }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   111
            return "";
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   112
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   113
        
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   114
        $(".col-right .list-video").html(listhtml).find(".item-video:last-child .bottom, .item-video:first-child .top").addClass("disable");
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   115
        $(".mashup-total-duration").text(mashup.duration.toString());
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   116
        $(".frise-segments").html(vizhtml);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   117
        $(".col-right .frise-indications").html(createIntervals(4));
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   118
        $(".bloc-pvw .frise-indications").html(createIntervals(8));
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   119
        highlightCurrentSegment();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   120
        if (currentMedia === mashup) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   121
            $(".Ldt-Ctrl-Time-Total").text(currentMedia.duration.toString());
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   122
            if (mashupTimecode > mashup.duration) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   123
                mashup.setCurrentTime(mashup.duration);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   124
            }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   125
            changeCurrentAnnotation();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   126
            setPointerToCurrentAnnotation();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   127
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   128
    }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   129
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   130
    mashup.on("change",updateMashupUI);
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   131
    
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   132
    /* Slider */
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   133
   
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   134
    var timeSlider = $(".Ldt-Slider"),
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   135
        timeSliderContainer = $(".Ldt-Slider-Container"),
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   136
        slidersRange = 920;
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   137
    timeSlider.slider({
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   138
        range: "min",
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   139
        value: 0,
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   140
        min: 0,
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   141
        max: slidersRange,
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   142
        slide: function(event, ui) {
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   143
            if (currentMedia) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   144
                var t = currentMedia.duration * ui.value / slidersRange;
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   145
                currentMedia.setCurrentTime(t);
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   146
            }
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   147
        }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   148
    });
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   149
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   150
    var timeSliderHandle = timeSlider.find('.ui-slider-handle'),
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   151
        timeSliderMaximized = false,
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   152
        timeSliderTimeoutId = false,
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   153
        timeSliderMinimizedHeight = 4,
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   154
        timeSliderMaximizedHeight = 10,
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   155
        timeSliderTimeoutDuration = 1500,
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   156
        timeTooltip = $(".Ldt-Slider-Time");
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   157
    
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   158
    timeSliderContainer.css(calculateSliderCss(timeSliderMinimizedHeight));
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   159
    timeSliderHandle.css(calculateHandleCss(timeSliderMinimizedHeight));
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   160
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   161
    function timeSliderMouseOver() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   162
        if (timeSliderTimeoutId) {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   163
            window.clearTimeout(timeSliderTimeoutId);
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   164
            timeSliderTimeoutId = false;
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   165
        }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   166
        if (!timeSliderMaximized) {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   167
           timeSliderAnimateToHeight(timeSliderMaximizedHeight);
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   168
           timeSliderMaximized = true;
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   169
        }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   170
    }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   171
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   172
    function timeSliderMouseOut() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   173
        timeTooltip.hide();
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   174
        if (timeSliderTimeoutId) {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   175
            clearTimeout(timeSliderTimeoutId);
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   176
            timeSliderTimeoutId = false;
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   177
        }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   178
        timeSliderTimeoutId = setTimeout(function() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   179
            if (timeSliderMaximized) {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   180
                timeSliderAnimateToHeight(timeSliderMinimizedHeight);
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   181
                timeSliderMaximized = false;
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   182
            }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   183
            timeSliderTimeoutId = false;
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   184
        }, timeSliderTimeoutDuration);
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   185
    }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   186
    
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   187
    timeSliderContainer
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   188
        .mouseover(function() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   189
            timeTooltip.show();
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   190
            timeSliderMouseOver();
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   191
        })
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   192
        .mouseout(timeSliderMouseOut);
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   193
    timeSlider.mousemove(function(_e) {
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   194
            var _x = _e.pageX - timeSlider.offset().left,
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   195
                _t = new IriSP.Model.Time(
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   196
                );
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   197
            timeTooltip.text(_t.toString()).css("left",_x);
15
56937307d7f4 cleaning css
veltr
parents: 13
diff changeset
   198
        });
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   199
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   200
    $(".Ldt-Ctrl").mouseover(timeSliderMouseOver).mouseout(timeSliderMouseOut);
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   201
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   202
    function timeSliderAnimateToHeight(_height) {
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   203
        timeSliderContainer.stop().animate(
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   204
            calculateSliderCss(_height),
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   205
            500,
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   206
            function() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   207
                IriSP.jQuery(this).css("overflow","visible");
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   208
            });
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   209
        timeSliderHandle.stop().animate(
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   210
            calculateHandleCss(_height),
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   211
            500,
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   212
            function() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   213
                IriSP.jQuery(this).css("overflow","visible");
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   214
            });
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   215
    }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   216
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   217
    function calculateSliderCss(_size) {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   218
        return {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   219
            height: _size + "px",
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   220
            "margin-top": (timeSliderMinimizedHeight - _size) + "px"
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   221
        };
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   222
    }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   223
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   224
    function calculateHandleCss(_size) {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   225
        return {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   226
            height: (2 + _size) + "px",
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   227
            width: (2 + _size) + "px",
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   228
            "margin-left": -Math.ceil(2 + _size / 2) + "px" 
18
c85b323f5174 Modifications to home
veltr
parents: 15
diff changeset
   229
        }
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   230
    }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   231
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   232
    /* Controller Widget */
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   233
   
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   234
    var volBlock = $(".Ldt-Ctrl-Volume-Control");
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   235
    
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   236
    $('.Ldt-Ctrl-Sound')
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   237
        .click(function() {
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   238
            if (currentMedia) {
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   239
                currentMedia.setMuted(!currentMedia.getMuted());
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   240
            }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   241
        })
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   242
        .mouseover(function() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   243
            volBlock.show();
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   244
        })
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   245
        .mouseout(function() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   246
            volBlock.hide();
18
c85b323f5174 Modifications to home
veltr
parents: 15
diff changeset
   247
        });
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   248
    volBlock.mouseover(function() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   249
        volBlock.show();
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   250
    }).mouseout(function() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   251
        volBlock.hide();
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   252
    });
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   253
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   254
    var volBar = $(".Ldt-Ctrl-Volume-Bar");
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   255
    
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   256
    function ctrlVolumeUpdater() {
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   257
        if (currentMedia) {
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   258
            var _muted = currentMedia.getMuted(),
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   259
                _vol = currentMedia.getVolume();
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   260
            if (_vol === false) {
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   261
                _vol = .5;
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   262
            }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   263
            var _soundCtl = $(".Ldt-Ctrl-Sound");
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   264
            _soundCtl.removeClass("Ldt-Ctrl-Sound-Mute Ldt-Ctrl-Sound-Half Ldt-Ctrl-Sound-Full");
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   265
            if (_muted) {        
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   266
                _soundCtl.attr("title", "Activer le son")
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   267
                    .addClass("Ldt-Ctrl-Sound-Mute");    
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   268
            } else {
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   269
                _soundCtl.attr("title", "Couper le son")
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   270
                    .addClass(_vol < .5 ? "Ldt-Ctrl-Sound-Half" : "Ldt-Ctrl-Sound-Full" )
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   271
            }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   272
            volBar.slider("value", _muted ? 0 : 100 * _vol);
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   273
            volBar.attr("title",'Volume : ' + Math.floor(100 * _vol) + '%');
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   274
        }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   275
    }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   276
    
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   277
    volBar.slider({
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   278
        slide: function(event, ui) {
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   279
            if (currentMedia) {
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   280
                currentMedia.setVolume(ui.value / 100);
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   281
            }
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   282
        }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   283
    });
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   284
    
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   285
    $(".Ldt-Ctrl-Play").click(function() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   286
        if (currentMedia) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   287
            if (currentMedia.getPaused()) {        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   288
                currentMedia.play();
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   289
            } else {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   290
                currentMedia.pause();
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   291
            }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   292
        }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   293
    });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   294
    
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   295
    $(".Ldt-Ctrl-SetIn").click(function() {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   296
        if (currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   297
            currentSegment.setBegin(currentMedia.getCurrentTime());
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   298
        }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   299
    });
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   300
    $(".Ldt-Ctrl-SetOut").click(function() {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   301
        if (currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   302
            currentSegment.setEnd(currentMedia.getCurrentTime());
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   303
        }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   304
    });
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   305
    
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   306
    /* Slice Widget */
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   307
   
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   308
    var sliceSlider = $(".Ldt-Slice"),
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   309
        sliceStartTime;
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   310
    
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   311
    sliceSlider.slider({
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   312
        range: true,
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   313
        values: [0, slidersRange],
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   314
        min: 0,
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   315
        max: slidersRange,
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   316
        start: function() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   317
            if (currentMedia) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   318
                if (!currentMedia.getPaused()) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   319
                    currentMedia.pause();
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   320
                }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   321
            }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   322
        },
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   323
        slide: function(event, ui) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   324
            if (currentMedia && currentSegment) {
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   325
                var t = currentMedia.duration * ui.value / slidersRange;
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   326
                if (ui.value === ui.values[0]) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   327
                    currentSegment.setBegin(t);
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   328
                } else {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   329
                    currentSegment.setEnd(t);
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   330
                }
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   331
            }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   332
        }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   333
    });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   334
    
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   335
    sliceSlider.find(".ui-slider-handle:first")
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   336
        .addClass("Ldt-Slice-left-handle")
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   337
        .click(function() {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   338
            if (currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   339
                currentMedia.setCurrentTime(currentSegment.begin);
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   340
            }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   341
        });
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   342
    sliceSlider.find(".ui-slider-handle:last")
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   343
        .addClass("Ldt-Slice-right-handle")
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   344
        .click(function() {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   345
            if (currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   346
                currentMedia.setCurrentTime(currentSegment.end);
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   347
            }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   348
        });
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   349
    
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   350
    /* UI Events */
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   351
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   352
    function onCurrentMediaPlay() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   353
        $(".Ldt-Ctrl-Play")
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   354
            .attr("title", "Pause")
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   355
            .removeClass("Ldt-Ctrl-Play-PlayState")
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   356
            .addClass("Ldt-Ctrl-Play-PauseState")
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   357
    }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   358
    
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   359
    function onCurrentMediaPause() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   360
        $(".Ldt-Ctrl-Play")
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   361
            .attr("title", "Lecture")
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   362
            .removeClass("Ldt-Ctrl-Play-PauseState")
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   363
            .addClass("Ldt-Ctrl-Play-PlayState")
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   364
    }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   365
    
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   366
    function onCurrentMediaTimeupdate(_time) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   367
        $(".Ldt-Ctrl-Time-Elapsed").text(_time.toString());
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   368
        timeSlider.slider("value",slidersRange * _time / currentMedia.duration);
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   369
    }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   370
    
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   371
    /* Mashup Player */
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   372
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   373
    var mashupCurrentMedia = null,
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   374
        mashupCurrentAnnotation = null,
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   375
        mashupSegmentBegin,
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   376
        mashupSegmentEnd,
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   377
        mashupTimecode = 0,
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   378
        mashupSeeking = false,
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   379
        seekdiv = $(".video-wait"),
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   380
        mashupTimedelta;
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   381
    
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   382
    function showSeek() {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   383
        if (mashupSeeking) {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   384
            seekdiv.show();
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   385
        }
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   386
    }
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   387
    
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   388
    function changeCurrentAnnotation() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   389
        if (mashupTimecode >= mashup.duration) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   390
            if (!mashup.paused) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   391
                mashup.paused = true;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   392
                mashup.trigger("pause");
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   393
            }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   394
            mashupTimecode = 0;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   395
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   396
        var _annotation = mashup.getAnnotationAtTime( mashupTimecode );
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   397
        if (typeof _annotation === "undefined") {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   398
            if (mashupCurrentMedia) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   399
                mashupCurrentMedia.pause();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   400
                if (!mashup.paused) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   401
                    mashup.paused = true;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   402
                    mashup.trigger("pause");
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   403
                }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   404
            }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   405
            return;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   406
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   407
        mashupCurrentAnnotation = _annotation;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   408
        mashupSegmentBegin = mashupCurrentAnnotation.annotation.begin.milliseconds;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   409
        mashupSegmentEnd = mashupCurrentAnnotation.annotation.end.milliseconds;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   410
        mashupTimedelta = mashupSegmentBegin - mashupCurrentAnnotation.begin.milliseconds;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   411
        mashupCurrentMedia = mashupCurrentAnnotation.getMedia();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   412
        
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   413
        project.getMedias().forEach(function(_media) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   414
            if (_media !== mashupCurrentMedia) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   415
                _media.hide();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   416
                _media.pause();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   417
            } else {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   418
                _media.show();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   419
            }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   420
        });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   421
        
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   422
        mashupCurrentMedia.setCurrentTime( mashupTimecode + mashupTimedelta);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   423
        mashupCurrentMedia.seeking = true;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   424
        
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   425
        if (!mashup.paused) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   426
            mashupCurrentMedia.play();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   427
            mashupSeeking = true;
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   428
            setTimeout(showSeek,200);
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   429
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   430
        mashup.trigger("timeupdate", new IriSP.Model.Time(mashupTimecode));
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   431
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   432
    }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   433
    
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   434
    /* Set current Media */
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   435
   
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   436
    var currentMedia, currentSegment;
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   437
    
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   438
    function updateSliderAndTangles() {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   439
        if (currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   440
            var start = currentSegment.begin,
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   441
                end = currentSegment.end,
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   442
                dur = currentSegment.getDuration(),
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   443
                f = slidersRange / currentMedia.duration,
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   444
                tangleStart = $(".tangle-start"),
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   445
                tangleEnd = $(".tangle-end"),
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   446
                tangleDuration = $(".tangle-duration"),
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   447
                k = 100 / currentMedia.duration,
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   448
                p = k * (start + end) / 2;
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   449
            sliceSlider.slider( "values", [ f * start, f * end ] );
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   450
            tangleStart.text(start.toString(tangleStart.hasClass("active"))).attr("data-milliseconds",start.milliseconds);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   451
            tangleEnd.text(end.toString(tangleEnd.hasClass("active"))).attr("data-milliseconds",end.milliseconds);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   452
            tangleDuration.text(dur.toString(tangleDuration.hasClass("active"))).attr("data-milliseconds",dur.milliseconds);
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   453
            $(".segment-info .pointer").css("left", p + "%");
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   454
            $(".media-current-section").css({
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   455
                left: (k * start) + "%",
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   456
                width: (k * dur) + "%"
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   457
            })
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   458
        }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   459
    }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   460
    
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   461
    var addMode;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   462
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   463
    function setMedia(media) {
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   464
        if (currentMedia) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   465
            currentMedia.pause();
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   466
        }
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   467
        currentMedia = media;
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   468
        if (currentMedia.elementType == "media") {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   469
            $("video").hide();
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   470
            showSegmentation();
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   471
            if (!currentMedia.loaded) {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   472
                seekdiv.show();
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   473
            }
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   474
            var currentvideo = $('#video_' + currentMedia.id);
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   475
            if (!currentvideo.length) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   476
                addMediaPlayer(currentMedia);
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   477
            }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   478
            $(".tab-media-title").text(currentMedia.title);
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   479
            
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   480
            addMode = !(currentSegment && mashup.hasAnnotation(currentSegment));
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   481
            
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   482
            if (!currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   483
                currentSegment = new IriSP.Model.Annotation(false, project);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   484
                currentSegment.setMedia(currentMedia.id);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   485
                currentSegment.setBegin(0);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   486
                currentSegment.setEnd(currentMedia.duration);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   487
                currentSegment.title = "Segment sans titre";
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   488
                currentSegment.description = "Extrait de « " + currentMedia.title + " »";
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   489
                currentSegment.on("change-begin", function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   490
                    if (currentMedia && currentSegment === this) {
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   491
                        currentMedia.setCurrentTime(this.begin);
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   492
                        updateSliderAndTangles();
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   493
                    }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   494
                });
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   495
                currentSegment.on("change-end", function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   496
                    if (currentMedia && currentSegment === this) {
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   497
                        currentMedia.setCurrentTime(this.end);
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   498
                        updateSliderAndTangles();
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   499
                    }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   500
                });
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   501
                currentSegment.on("enter", function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   502
                    if (currentMedia === mashup) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   503
                        $(".annotation-title").text(this.title);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   504
                        $(".annotation-begin").text(this.begin.toString());
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   505
                        $(".annotation-end").text(this.end.toString());
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   506
                        $(".annotation-media-title").text(this.getMedia().title);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   507
                        $(".annotation-description").text(this.description);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   508
                        setPointerToCurrentAnnotation();
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   509
                        highlightCurrentSegment();
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   510
                    }
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   511
                });
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   512
            }
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   513
            if (currentMedia.loaded) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   514
                currentMedia.setCurrentTime(currentSegment.begin);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   515
            }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   516
            $(".add-segment").val(addMode ? "Ajouter au Hashcut" : "Sauvegarder");
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   517
            $(".create-or-edit").text(addMode ? "Créer un nouveau segment" : "Modifier le segment");
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   518
            updateSliderAndTangles();
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   519
            media.show();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   520
            $("#segment-title").val(currentSegment.title);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   521
            $("#segment-description").val(currentSegment.description);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   522
            $("#segment-tags").val("");
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   523
            var relatedSegments = mashup.segments.filter(function(_s) {
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   524
                return _s.getMedia() === currentMedia && _s.annotation !== currentSegment;
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   525
            });
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   526
            var html = "";
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   527
            if (relatedSegments.length) {
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   528
                var k = $(".Ldt-Slider").width() / currentSegment.getMedia().duration,
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   529
                    currentleft = k * currentSegment.begin,
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   530
                    currentwidth = k * currentSegment.getDuration();
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   531
                relatedSegments.forEach(function(_s) {
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   532
                    var pos = k * (_s.annotation.begin + _s.annotation.end) / 2,
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   533
                        corrpos = Math.max(145, Math.min(305, pos));
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   534
                    vizdata = {
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   535
                        annotation : _s.annotation,
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   536
                        currentleft : currentleft,
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   537
                        currentwidth : currentwidth,
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   538
                        popleft : corrpos,
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   539
                        left : k * _s.annotation.begin,
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   540
                        width : k * _s.annotation.getDuration(),
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   541
                        pointerpos : (pos - corrpos)
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   542
                    }
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   543
                    html += mediasegmenttemplate(vizdata);
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   544
                });
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   545
                $(".self-media-segments").show();
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   546
            } else {
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   547
                $(".self-media-segments").hide();
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   548
            }
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   549
        }
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   550
        $(".self-media-segments .media-segments-list").html(html);
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   551
        if (currentMedia.elementType === "mashup") {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   552
            showPreview();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   553
            mashup.checkLoaded();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   554
        }
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   555
        $(".Ldt-Ctrl-Time-Total").text(currentMedia.duration.toString());
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   556
        // TODO: Do something with the tags !
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   557
        onCurrentMediaTimeupdate(currentMedia.getCurrentTime());
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   558
        onCurrentMediaPause();
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   559
        highlightCurrentSegment();
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   560
    }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   561
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   562
    function addMediaPlayer(media) {
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   563
        var videoid = "video_" + media.id,
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   564
            videoEl = $('<video>'),
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   565
            width = $(".video").width(),
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   566
            height = $(".video").height(),
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   567
            mp4_file = media.video.replace(/\.webm$/i,'.mp4'),
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   568
            webm_file = media.video.replace(/\.mp4$/i,'.webm'),
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   569
            mp4_src = $('<source>'),
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   570
            webm_src = $('<source>');
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   571
        mp4_src.attr({
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   572
            src: mp4_file,
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   573
            type: "video/mp4"
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   574
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   575
        webm_src.attr({
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   576
            src: webm_file,
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   577
            type: "video/webm"
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   578
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   579
        videoEl.attr({
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   580
            id : videoid,
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   581
            width : width,
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   582
            height : height
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   583
        }).css({
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   584
            position : "absolute",
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   585
            left: 0,
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   586
            top: 0,
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   587
            width : width,
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   588
            height : height
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   589
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   590
        videoEl.append(mp4_src).append(webm_src);
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   591
        $(".video").append(videoEl);
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   592
        
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   593
        media.show = function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   594
            videoEl.show();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   595
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   596
        media.hide = function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   597
            videoEl.hide();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   598
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   599
        
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   600
        var popcorn = Popcorn("#" + videoid);
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   601
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   602
        // Binding functions to Popcorn
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   603
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   604
        media.on("setcurrenttime", function(_milliseconds) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   605
            if (media.loaded) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   606
                popcorn.currentTime(_milliseconds / 1000);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   607
            }
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   608
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   609
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   610
        media.on("setvolume", function(_vol) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   611
            media.volume = _vol;
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   612
            if (media.loaded) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   613
                popcorn.volume(_vol);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   614
            }
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   615
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   616
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   617
        media.on("setmuted", function(_muted) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   618
            media.muted = _muted;
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   619
            if (media.loaded) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   620
                popcorn.muted(_muted);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   621
            }
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   622
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   623
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   624
        media.on("setplay", function() {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   625
            if (media.loaded) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   626
                popcorn.play();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   627
            }
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   628
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   629
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   630
        media.on("setpause", function() {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   631
            if (media.loaded) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   632
                popcorn.pause();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   633
            }
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   634
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   635
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   636
        // Binding Popcorn events to media
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   637
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   638
        function getVolume() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   639
            media.muted = popcorn.muted();
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   640
            media.volume = popcorn.volume();
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   641
        }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   642
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   643
        popcorn.on("loadedmetadata", function() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   644
            getVolume();
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   645
            media.loaded = true;
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   646
            media.trigger("loadedmetadata");
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   647
            media.trigger("volumechange");
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   648
        })
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   649
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   650
        popcorn.on("timeupdate", function() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   651
            media.trigger("timeupdate", new IriSP.Model.Time(1000*popcorn.currentTime()));
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   652
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   653
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   654
        popcorn.on("volumechange", function() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   655
            getVolume();
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   656
            media.trigger("volumechange");
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   657
        })
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   658
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   659
        popcorn.on("play", function() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   660
            media.trigger("play");
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   661
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   662
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   663
        popcorn.on("pause", function() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   664
            media.trigger("pause");
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   665
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   666
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   667
        popcorn.on("seeked", function() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   668
            media.trigger("seeked");
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   669
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   670
        
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   671
        // Binding UI Events and Mashup Playing to Media
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   672
        
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   673
        media.on("loadedmetadata", function() {
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   674
            if (media === currentMedia) {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   675
                seekdiv.hide();
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   676
            }
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   677
            mashup.checkLoaded();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   678
        });
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   679
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   680
        media.on("play", function() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   681
            if (media === currentMedia) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   682
                onCurrentMediaPlay();
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   683
            }
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   684
            if (mashup === currentMedia && media === mashupCurrentMedia) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   685
                mashup.trigger("play");
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   686
            }
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   687
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   688
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   689
        media.on("pause", function() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   690
            if (media === currentMedia) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   691
                onCurrentMediaPause();
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   692
            }
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   693
            if (mashup === currentMedia && media === mashupCurrentMedia) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   694
                mashup.trigger("pause");
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   695
            }
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   696
        });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   697
        
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   698
        media.on("timeupdate", function(_time) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   699
            if (media === currentMedia) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   700
                onCurrentMediaTimeupdate(_time);
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   701
            }
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   702
            if (mashup === currentMedia && !mashup.paused && media === mashupCurrentMedia && !media.seeking) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   703
                if ( _time < mashupSegmentEnd ) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   704
                    if ( _time >= mashupSegmentBegin ) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   705
                        mashupTimecode = _time - mashupTimedelta;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   706
                    } else {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   707
                        mashupTimecode = mashupSegmentBegin - mashupTimedelta;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   708
                        media.setCurrentTime(mashupSegmentBegin);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   709
                    }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   710
                } else {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   711
                    mashupTimecode = mashupSegmentEnd - mashupTimedelta;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   712
                    media.pause();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   713
                    changeCurrentAnnotation();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   714
                }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   715
                mashup.trigger("timeupdate", new IriSP.Model.Time(mashupTimecode));
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   716
            }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   717
        });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   718
        
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   719
        media.on("seeked", function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   720
            media.seeking = false;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   721
            if (mashup === currentMedia && media === mashupCurrentMedia && mashupSeeking) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   722
                mashupSeeking = false;
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   723
                seekdiv.hide();
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   724
            }
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   725
        });
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   726
        
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   727
        media.on("volumechange", function() {
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   728
            if (media === currentMedia) {
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   729
                ctrlVolumeUpdater();
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   730
            }
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   731
            mashup.muted = media.muted;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   732
            mashup.volume = media.volume;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   733
            mashup.trigger("volumechange");
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   734
        })
18
c85b323f5174 Modifications to home
veltr
parents: 15
diff changeset
   735
        
13
42c59d09670e display media list
veltr
parents: 12
diff changeset
   736
    }
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   737
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   738
    // Mashup Events
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   739
    
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   740
    mashup.on("setcurrenttime", function(_milliseconds) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   741
        mashupTimecode = _milliseconds;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   742
        changeCurrentAnnotation();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   743
    });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   744
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   745
    mashup.on("setvolume", function(_vol) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   746
        mashup.getMedias().forEach(function(_media) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   747
            _media.setVolume(_vol);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   748
        });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   749
        mashup.volume = _vol;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   750
    });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   751
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   752
    mashup.on("setmuted", function(_muted) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   753
        mashup.getMedias().forEach(function(_media) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   754
            _media.setMuted(_muted);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   755
        });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   756
        mashup.muted = _muted;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   757
    });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   758
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   759
    mashup.on("setplay", function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   760
        mashup.paused = false;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   761
        changeCurrentAnnotation();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   762
    });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   763
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   764
    mashup.on("setpause", function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   765
        mashup.paused = true;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   766
        if (mashupCurrentMedia) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   767
            mashupCurrentMedia.pause();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   768
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   769
    });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   770
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   771
    mashup.on("loadedmetadata", function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   772
        if (mashup === currentMedia) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   773
            changeCurrentAnnotation();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   774
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   775
    });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   776
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   777
    /* Mashup Events to UI */
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   778
   
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   779
    mashup.on("play", function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   780
        if (mashup === currentMedia) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   781
            onCurrentMediaPlay();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   782
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   783
    });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   784
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   785
    mashup.on("pause", function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   786
        if (mashup === currentMedia) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   787
            onCurrentMediaPause();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   788
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   789
    });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   790
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   791
    mashup.on("timeupdate", function(_time) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   792
        if (mashup === currentMedia) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   793
            $(".frise-position").css("left",(100*_time/mashup.duration)+"%");
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   794
            onCurrentMediaTimeupdate(_time);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   795
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   796
    });
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   797
        
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   798
    /* Segment Form interaction */
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   799
   
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   800
    $("#segment-title").on("keyup change input paste", function() {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   801
        if (currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   802
            currentSegment.title = $(this).val();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   803
            updateMashupUI();
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   804
        }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   805
    });
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   806
    $("#segment-description").on("keyup change input paste", function() {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   807
        if (currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   808
            currentSegment.description = $(this).val();
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   809
        }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   810
    });
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   811
    $("#segment-form").submit(function() {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   812
        if (addMode) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   813
            mashup.addAnnotation(currentSegment);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   814
        } else {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   815
            updateMashupUI();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   816
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   817
        var segment = mashup.getAnnotation(currentSegment);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   818
        currentSegment = undefined;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   819
        setMedia(mashup);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   820
        if (segment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   821
            mashup.setCurrentTime(segment.begin);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   822
        }
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   823
        return false;
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   824
    })
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   825
    
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   826
    /* Click on media items */
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   827
   
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   828
    $(".col-left").on("click", ".item-video", function() {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   829
        currentSegment = undefined;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   830
        setMedia(project.getElement($(this).attr("data-media-id")));
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   831
    });
12
8a8b6097d382 Starting 'editorjs' branch
veltr
parents:
diff changeset
   832
    
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   833
    /* Click on Tabs */
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   834
    
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   835
    function showSegmentation() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   836
        $(".col-middle").removeClass("empty-mode pvw-mode").addClass("segment-mode");
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   837
        return false;
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   838
    }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   839
    function showPreview() {
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   840
        $(".col-middle").removeClass("empty-mode segment-mode").addClass("pvw-mode");
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   841
        return false;
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   842
    }
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   843
    function showEmpty() {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   844
        $("video").hide();
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   845
        $(".col-middle").removeClass("pvw-mode segment-mode").addClass("empty-mode");
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   846
        return false;
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   847
    }
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   848
    
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   849
    $(".tab-pvw").click(function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   850
        if (mashup.segments.length) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   851
            setMedia(mashup);
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   852
        }
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   853
    });
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   854
    
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   855
    /* Click on segments */
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   856
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   857
    function reorganizeMashup() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   858
        var ids = $(".organize-segments .item-video").map(function(){return $(this).attr("data-segment-id")});
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   859
        mashup.setAnnotationsById(ids);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   860
    }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   861
    
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   862
    function highlightCurrentSegment() {
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   863
        $(".organize-segments .item-video, .col-left .item-video, .frise-segment").removeClass("active");
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   864
        var segmentid = undefined;
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   865
        if (currentMedia && currentSegment) {
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   866
            segmentid = currentSegment.id;
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   867
        }
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   868
        if (currentMedia === mashup && mashupCurrentAnnotation) {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   869
            segmentid = mashupCurrentAnnotation.annotation.id;
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   870
        }
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   871
        $(".item-video[data-segment-id='" + segmentid + "']").addClass("active");
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   872
        var mediaid = undefined;
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   873
        if (currentMedia) {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   874
            mediaid = currentMedia.id;
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   875
        }
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   876
        if (currentMedia === mashup && mashupCurrentMedia) {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   877
            mediaid = mashupCurrentMedia.id
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   878
        }
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   879
        $(".col-left .item-video[data-media-id='" + mediaid + "']").addClass("active");
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   880
    }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   881
    
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   882
    function hoverSegment() {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   883
        var segmentid = $(this).attr("data-segment-id");
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   884
        $(".organize-segments .item-video, .frise-segment").removeClass("active");
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   885
        $(".item-video[data-segment-id='" + segmentid + "'], .frise-segment[data-segment-id='" + segmentid + "']").addClass("active");
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   886
    }
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   887
    
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   888
    $(".frise")
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   889
    .on("mouseover", ".frise-segment", hoverSegment)
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   890
    .on("mouseout", ".frise-segment", highlightCurrentSegment)
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   891
    
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   892
    $(".organize-segments")
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   893
    .sortable({
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   894
        stop : reorganizeMashup
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   895
    })
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   896
    .on("mouseover", ".item-video", hoverSegment)
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   897
    .on("mouseout", ".item-video", highlightCurrentSegment)
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   898
    .on("click", ".item-video", function(e) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   899
        var el = $(this),
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   900
            segment = mashup.getAnnotationById(el.attr("data-segment-id"));
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   901
        setMedia(mashup);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   902
        if (segment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   903
            mashup.setCurrentTime(segment.begin);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   904
        }
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   905
        return false;
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   906
    })
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   907
    .on("click", ".edit", function(e) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   908
        var currentItem = $(this).parents(".item-video"),
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   909
            media = project.getElement(currentItem.attr("data-media-id")),
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   910
            segment = project.getElement(currentItem.attr("data-segment-id"));
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   911
        currentSegment = segment;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   912
        setMedia(media);
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   913
        return false;
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   914
    })
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   915
    .on("click", ".top", function(e){
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   916
        var currentItem = $(this).parents(".item-video");
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   917
        currentItem.insertBefore(currentItem.prev());
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   918
		reorganizeMashup();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   919
		return false;
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   920
    })
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   921
    .on("click", ".bottom", function(e){
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   922
        var currentItem = $(this).parents(".item-video");
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   923
        currentItem.insertAfter(currentItem.next());
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   924
		reorganizeMashup();
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   925
        return false;
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   926
    })
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   927
    .on("click", ".delete", function(e){
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   928
        var id = $(this).parents(".item-video").attr("data-segment-id");
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   929
        mashup.removeAnnotationById(id);
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   930
        if (!mashup.segments.length) {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   931
            showEmpty();
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
   932
        }
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   933
        return false;
22
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   934
    });
bd904d592881 Started player integration
veltr
parents: 18
diff changeset
   935
    
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   936
    /* Tangles */
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   937
    var tangleMsPerPixel = 100,
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   938
        activeTangle,
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   939
        tangleStartX,
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   940
        tangleStartVal,
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   941
        tangleHasMoved;
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   942
    
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   943
    $(".time-tangle").mousedown(function(evt) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   944
        activeTangle = $(this);
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   945
        activeTangle.addClass("active");
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   946
        tangleStartVal = +activeTangle.attr("data-milliseconds");
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   947
        tangleStartX = evt.pageX;
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   948
        tangleHasMoved = false;
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   949
        $(this).siblings(".time-tangle").addClass("deactivate");
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   950
        return false;
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   951
    });
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   952
    $(document)
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   953
        .mousemove(function(evt) {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   954
            if (activeTangle) {
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   955
                tangleHasMoved = true;
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   956
                var newval = new IriSP.Model.Time(tangleMsPerPixel * (evt.pageX - tangleStartX) + tangleStartVal);
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   957
                activeTangle.trigger("valuechange", newval);
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   958
                return false;
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   959
            }
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   960
        })
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   961
        .mouseup(function() {
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   962
            if (activeTangle) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   963
                activeTangle.text(activeTangle.text().replace(/\.\d+$/,''));
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   964
                $(".time-tangle").removeClass("active deactivate");
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   965
                activeTangle = undefined;
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   966
            }
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   967
        });
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   968
        
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   969
    $(".tangle-start")
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   970
        .mouseup(function(evt) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   971
            if (!tangleHasMoved && currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   972
                currentMedia.setCurrentTime(currentSegment.begin);
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   973
            }
23
c9dc489913af Work on video loading - Commit before weekend
veltr
parents: 22
diff changeset
   974
        })
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   975
        .on("valuechange", function(evt, val) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   976
            if (currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   977
                currentSegment.setBegin(val);
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   978
            }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   979
        });
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   980
    $(".tangle-end")
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   981
        .mouseup(function(evt) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   982
            if (!tangleHasMoved && currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   983
                currentMedia.setCurrentTime(currentSegment.end);
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   984
            }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   985
        })
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   986
        .on("valuechange", function(evt, val) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   987
            if (currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   988
                currentSegment.setEnd(val);
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   989
            }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   990
        });
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   991
    $(".tangle-duration").on("valuechange", function(evt, val) {
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   992
        if (currentMedia && currentSegment) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   993
            currentSegment.setDuration(val);
25
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   994
        }
eea45f9b124b commit before merge
veltr
parents: 23
diff changeset
   995
    });
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   996
    
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   997
    /* Click on current segment in Preview */
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
   998
    
27
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
   999
    $(".mashup-description .edit").click(function() {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
  1000
        if (mashupCurrentAnnotation) {
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
  1001
            currentSegment = mashupCurrentAnnotation.annotation;
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
  1002
            setMedia(mashupCurrentAnnotation.getMedia());
b2d068afdbd8 Mashup editing and preview
veltr
parents: 26
diff changeset
  1003
        }
29
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1004
    });
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1005
    
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1006
    /* Handling related segments */
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1007
   
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1008
    $(".media-segments-list").on("mouseover", ".media-segment", function() {
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1009
        $(this).find(".media-segment-popin").show();
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1010
    }).on("mouseout", ".media-segment", function() {
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1011
        $(this).find(".media-segment-popin").hide();
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1012
    }).on("click", ".reprendre-segment", function() {
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1013
        var s = project.getElement($(this).attr("data-segment-id"));
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1014
        currentSegment.title = s.title;
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1015
        currentSegment.description = s.description;
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1016
        $("#segment-title").val(s.title);
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1017
        $("#segment-description").val(s.description);
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1018
        currentSegment.setBegin(s.begin);
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1019
        currentSegment.setEnd(s.end);
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1020
        return false;
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1021
    });
5ce5e26091ea Various improvements
veltr
parents: 27
diff changeset
  1022
    
32
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
  1023
    /* Changing Hashcut Title and description */
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
  1024
   
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
  1025
    $("#hashcut-title").on("keyup change input paste", function() {
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
  1026
        mashup.title = $(this).val();
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
  1027
        $(".title-video-wrap a").text(mashup.title);
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
  1028
    });
47f9a2d63a0a Various UI improvements
veltr
parents: 29
diff changeset
  1029
    
13
42c59d09670e display media list
veltr
parents: 12
diff changeset
  1030
}