From dccaa34d584f1bccdd5521a9e295eb7fcecf5de8 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Sun, 28 Jun 2020 19:13:50 +0300 Subject: [PATCH 1/4] Fix SubtitleSync slider lagging --- src/components/subtitlesync/subtitlesync.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/components/subtitlesync/subtitlesync.js b/src/components/subtitlesync/subtitlesync.js index fb986ec348..4f78cf52ae 100644 --- a/src/components/subtitlesync/subtitlesync.js +++ b/src/components/subtitlesync/subtitlesync.js @@ -87,14 +87,6 @@ define(['playbackManager', 'layoutManager', 'text!./subtitlesync.template.html', getOffsetFromPercentage(this.value)); }); - subtitleSyncSlider.addEventListener('touchmove', function () { - // set new offset - playbackManager.setSubtitleOffset(getOffsetFromPercentage(this.value), player); - // synchronize with textField value - subtitleSyncTextField.updateOffset( - getOffsetFromPercentage(this.value)); - }); - subtitleSyncSlider.getBubbleHtml = function (value) { var newOffset = getOffsetFromPercentage(value); return '

' + From 70b0fbafd097e224b65e9b7bc5e39c595d5f7a41 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Sun, 28 Jun 2020 19:15:53 +0300 Subject: [PATCH 2/4] Add minimum width for SubtitleSync dialog --- src/components/subtitlesync/subtitlesync.css | 12 +++++++++--- .../subtitlesync/subtitlesync.template.html | 12 +++++++----- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/components/subtitlesync/subtitlesync.css b/src/components/subtitlesync/subtitlesync.css index 2ff8a3e905..a63d9915bb 100644 --- a/src/components/subtitlesync/subtitlesync.css +++ b/src/components/subtitlesync/subtitlesync.css @@ -1,12 +1,18 @@ +.subtitleSync { + position: absolute; + width: 100%; +} + .subtitleSyncContainer { width: 40%; - margin-left: 30%; - margin-right: 30%; + min-width: 18em; + margin-left: auto; + margin-right: auto; height: 4.2em; background: rgba(28, 28, 28, 0.8); border-radius: 0.3em; color: #fff; - position: absolute; + position: relative; } .subtitleSync-closeButton { diff --git a/src/components/subtitlesync/subtitlesync.template.html b/src/components/subtitlesync/subtitlesync.template.html index 4ca039aa03..48ac91b6a3 100644 --- a/src/components/subtitlesync/subtitlesync.template.html +++ b/src/components/subtitlesync/subtitlesync.template.html @@ -1,7 +1,9 @@ -
- -
0s
-
- +
+
+ +
0s
+
+ +
From 891cc78bdb53a7821330cbe5764b6680dd5235f5 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Sun, 28 Jun 2020 20:50:11 +0300 Subject: [PATCH 3/4] Prevent OSD from being hidden when user works with UI --- src/controllers/playback/videoosd.js | 49 +++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/src/controllers/playback/videoosd.js b/src/controllers/playback/videoosd.js index 9be5660b4a..85499dc537 100644 --- a/src/controllers/playback/videoosd.js +++ b/src/controllers/playback/videoosd.js @@ -333,13 +333,21 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med osdPoster.innerHTML = ''; } + let osdLockCount = 0; + function showOsd() { slideDownToShow(headerElement); showMainOsdControls(); - startOsdHideTimer(); + if (!osdLockCount) { + startOsdHideTimer(); + } } function hideOsd() { + if (osdLockCount) { + return; + } + slideUpToHide(headerElement); hideMainOsdControls(); } @@ -352,6 +360,19 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med } } + function lockOsd() { + osdLockCount++; + stopOsdHideTimer(); + } + + function unlockOsd() { + osdLockCount--; + // Restart hide timer if OSD is currently visible + if (currentVisibleMenu && !osdLockCount) { + startOsdHideTimer(); + } + } + function startOsdHideTimer() { stopOsdHideTimer(); osdHideTimeout = setTimeout(hideOsd, 3e3); @@ -1196,10 +1217,20 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med function onWindowMouseDown(e) { clickedElement = e.srcElement; + lockOsd(); + } + + function onWindowMouseUp() { + unlockOsd(); } function onWindowTouchStart(e) { clickedElement = e.srcElement; + lockOsd(); + } + + function onWindowTouchEnd() { + unlockOsd(); } function getImgUrl(item, chapter, index, maxWidth, apiClient) { @@ -1336,9 +1367,17 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med dom.addEventListener(window, window.PointerEvent ? 'pointerdown' : 'mousedown', onWindowMouseDown, { passive: true }); + dom.addEventListener(window, window.PointerEvent ? 'pointerup' : 'mouseup', onWindowMouseUp, { + passive: true + }); dom.addEventListener(window, 'touchstart', onWindowTouchStart, { passive: true }); + ['touchend', 'touchcancel'].forEach((event) => { + dom.addEventListener(window, event, onWindowTouchEnd, { + passive: true + }); + }); } catch (e) { require(['appRouter'], function(appRouter) { appRouter.goHome(); @@ -1356,9 +1395,17 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med dom.removeEventListener(window, window.PointerEvent ? 'pointerdown' : 'mousedown', onWindowMouseDown, { passive: true }); + dom.removeEventListener(window, window.PointerEvent ? 'pointerup' : 'mouseup', onWindowMouseUp, { + passive: true + }); dom.removeEventListener(window, 'touchstart', onWindowTouchStart, { passive: true }); + ['touchend', 'touchcancel'].forEach((event) => { + dom.removeEventListener(window, event, onWindowTouchEnd, { + passive: true + }); + }); stopOsdHideTimer(); headerElement.classList.remove('osdHeader'); headerElement.classList.remove('osdHeader-hidden'); From 4d8c1bd7c610f7229a8fff7e9c19daa5b5ec84f1 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Mon, 29 Jun 2020 13:36:17 +0300 Subject: [PATCH 4/4] Keep slider progress, as it is updated on change event --- src/components/subtitlesync/subtitlesync.template.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/subtitlesync/subtitlesync.template.html b/src/components/subtitlesync/subtitlesync.template.html index 48ac91b6a3..fe202ebf60 100644 --- a/src/components/subtitlesync/subtitlesync.template.html +++ b/src/components/subtitlesync/subtitlesync.template.html @@ -3,7 +3,7 @@
0s
- +