From 2b4e6992cb9cd6c17dd8f705db4946a4ad2b31c0 Mon Sep 17 00:00:00 2001 From: ThaUnknown <6506529+ThaUnknown@users.noreply.github.com> Date: Thu, 19 May 2022 23:42:25 +0200 Subject: [PATCH] fix: improve batch handling --- package.json | 2 +- src/renderer/src/lib/pages/Player.svelte | 17 ++++- .../pages/watchtogether/WatchTogether.svelte | 62 +++++++++++-------- 3 files changed, 53 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index bbb04d5..4161825 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Miru", - "version": "2.2.4", + "version": "2.2.5", "author": "ThaUnknown_ ", "main": "src/index.js", "homepage": "https://github.com/ThaUnknown/miru#readme", diff --git a/src/renderer/src/lib/pages/Player.svelte b/src/renderer/src/lib/pages/Player.svelte index 694ace4..f681455 100644 --- a/src/renderer/src/lib/pages/Player.svelte +++ b/src/renderer/src/lib/pages/Player.svelte @@ -74,6 +74,10 @@ paused = detail.paused }) + w2gEmitter.on('setindex', ({ detail }) => { + handleCurrent(videos?.[detail]) + }) + function updatew2g () { w2gEmitter.emit('player', { time: Math.floor(currentTime), paused }) } @@ -203,7 +207,7 @@ } function updateFiles (files) { - if (files && files.length) { + if (files?.length) { videos = files.filter(file => videoRx.test(file.name)) if (videos?.length) { handleCurrent(videos[0]) @@ -219,6 +223,7 @@ src = '' video?.load() currentTime = 0 + targetTime = 0 } } @@ -230,6 +235,11 @@ interval: undefined, video: undefined }) + currentTime = 0 + targetTime = 0 + media = null + fileMedia = null + hadImage = false completed = false current = file initSubs() @@ -321,7 +331,9 @@ if (hasNext) { const index = videos.indexOf(current) if (index + 2 < videos.length) { - handleCurrent(videos[(index + 1) % videos.length]) + const target = (index + 1) % videos.length + handleCurrent(videos[target]) + w2gEmitter.emit('index', { index: target }) } else if (media?.nextAiringEpisode?.episode - 1 || media?.episodes > fileMedia?.episodeNumber) { playAnime(media, fileMedia?.episodeNumber + 1) } @@ -332,6 +344,7 @@ const index = videos.indexOf(current) if (index > 1) { handleCurrent(videos[index - 1]) + w2gEmitter.emit('index', { index: index - 1 }) } else if (media && fileMedia?.episodeNumber > 1) { playAnime(media, fileMedia?.episodeNumber - 1) } diff --git a/src/renderer/src/lib/pages/watchtogether/WatchTogether.svelte b/src/renderer/src/lib/pages/watchtogether/WatchTogether.svelte index 11cdacb..f3d44df 100644 --- a/src/renderer/src/lib/pages/watchtogether/WatchTogether.svelte +++ b/src/renderer/src/lib/pages/watchtogether/WatchTogether.svelte @@ -1,14 +1,12 @@