forked from 0x2620/pandora
enable subtitles on edits
This commit is contained in:
parent
b62a7f2f42
commit
c187102b0d
1 changed files with 30 additions and 0 deletions
|
@ -136,6 +136,7 @@ pandora.ui.editPanel = function() {
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
),
|
),
|
||||||
|
subtitles: getSubtitles(edit.clips),
|
||||||
timeline: ui.videoTimeline,
|
timeline: ui.videoTimeline,
|
||||||
timelineTooltip: 'timeline <span class="OxBright">' + Ox.SYMBOLS.SHIFT + 'T</span>',
|
timelineTooltip: 'timeline <span class="OxBright">' + Ox.SYMBOLS.SHIFT + 'T</span>',
|
||||||
video: getVideos(),
|
video: getVideos(),
|
||||||
|
@ -414,6 +415,34 @@ pandora.ui.editPanel = function() {
|
||||||
return layers;
|
return layers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getSubtitles(clips) {
|
||||||
|
var subtitles = [],
|
||||||
|
subtitlesLayer = pandora.site.layers.filter(function(layer) {
|
||||||
|
return layer.isSubtitles;
|
||||||
|
}).map(function(layer) {
|
||||||
|
return layer.id;
|
||||||
|
})[0];
|
||||||
|
subtitlesLayer && clips.map(function(clip) {
|
||||||
|
if (clip.layers[subtitlesLayer]) {
|
||||||
|
clip.layers[subtitlesLayer].forEach(function(subtitle) {
|
||||||
|
subtitles.push({
|
||||||
|
id: subtitle.id,
|
||||||
|
'in': Math.max(
|
||||||
|
clip['position'],
|
||||||
|
subtitle['in'] - clip['in'] + clip['position']
|
||||||
|
),
|
||||||
|
out: Math.min(
|
||||||
|
clip['position'] + clip['duration'],
|
||||||
|
subtitle.out - clip['in'] + clip['position']
|
||||||
|
),
|
||||||
|
text: subtitle.value.replace(/\n/g, ' ').replace(/<br\/?>/g, '\n')
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return subtitles;
|
||||||
|
}
|
||||||
|
|
||||||
function serializeClips(clips) {
|
function serializeClips(clips) {
|
||||||
// can be ids or clips
|
// can be ids or clips
|
||||||
return clips.map(function(clip) {
|
return clips.map(function(clip) {
|
||||||
|
@ -439,6 +468,7 @@ pandora.ui.editPanel = function() {
|
||||||
duration: edit.duration,
|
duration: edit.duration,
|
||||||
layers: getLayers(edit.clips),
|
layers: getLayers(edit.clips),
|
||||||
smallTimelineURL: getSmallTimelineURL(),
|
smallTimelineURL: getSmallTimelineURL(),
|
||||||
|
subtitles: getSubtitles(edit.clips),
|
||||||
video: getVideos()
|
video: getVideos()
|
||||||
});
|
});
|
||||||
updateSmallTimelineURL();
|
updateSmallTimelineURL();
|
||||||
|
|
Loading…
Reference in a new issue