1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

add subtitleSync overlay in separated folder

This commit is contained in:
redSpoutnik 2019-04-08 20:31:18 +02:00
parent 275fd078e2
commit 415ec9e91b
9 changed files with 299 additions and 76 deletions

View file

@ -1637,7 +1637,22 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
self.supportSubtitleOffset = function(player) {
player = player || self._currentPlayer;
return 'setSubtitleOffset' in player;
return player && 'setSubtitleOffset' in player;
}
self.enableShowingSubtitleOffset = function(player) {
player = player || self._currentPlayer;
player.enableShowingSubtitleOffset();
}
self.disableShowingSubtitleOffset = function(player) {
player = player || self._currentPlayer;
player.disableShowingSubtitleOffset();
}
self.isShowingSubtitleOffsetEnabled = function(player) {
player = player || self._currentPlayer;
return player.isShowingSubtitleOffsetEnabled();
}
self.isSubtitleStreamExternal = function(index, player) {
@ -1645,17 +1660,20 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
return stream ? getDeliveryMethod(stream) === 'External' : false;
}
self.setSubtitleOffset = function (sliderValue, player) {
self.setSubtitleOffset = function (value, player) {
player = player || self._currentPlayer;
player.setSubtitleOffset(self.getOffsetFromSliderValue(sliderValue));
player.setSubtitleOffset(value);
};
self.getOffsetFromSliderValue = function(value) {
var offset = (value - 50) / 50;
// multiply by offset min/max range value (-x to +x) :
offset *= 30;
return offset.toFixed(1);
};
self.getPlayerSubtitleOffset = function(player) {
player = player || self._currentPlayer;
return player.getSubtitleOffset();
}
self.canHandleOffsetOnCurrentSubtitle = function(player) {
var index = self.getSubtitleStreamIndex(player);
return index !== -1 && self.isSubtitleStreamExternal(index, player);
}
self.seek = function (ticks, player) {

View file

@ -231,6 +231,15 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
});
}
if (options.suboffset) {
menuItems.push({
name: globalize.translate('SubtitleOffset'),
id: 'suboffset',
asideText: null
});
}
menuItems.push({
name: globalize.translate('SubtitleSettings'),
id: 'subtitlesettings'
@ -302,6 +311,11 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
options.onOption('stats');
}
return Promise.resolve();
case 'suboffset':
if (options.onOption) {
options.onOption('suboffset');
}
return Promise.resolve();
default:
break;
}