Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ae59f5da5 | ||
|
|
92eaf91173 | ||
|
|
e7410ec22a | ||
|
|
bb43d1e679 | ||
|
|
b6609d23a2 | ||
|
|
9d4cbf37d3 |
@@ -12,7 +12,7 @@
|
||||
<!-- <TreatWarningsAsErrors>false</TreatWarningsAsErrors> -->
|
||||
<Title>Jellyfin Media Bar Enhanced Plugin</Title>
|
||||
<Authors>CodeDevMLH</Authors>
|
||||
<Version>1.6.1.15</Version>
|
||||
<Version>1.6.1.17</Version>
|
||||
<RepositoryUrl>https://github.com/CodeDevMLH/jellyfin-plugin-media-bar-enhanced</RepositoryUrl>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -2318,8 +2318,6 @@ const SlideshowManager = {
|
||||
}
|
||||
|
||||
currentSlide.classList.add("active");
|
||||
|
||||
STATE.slideshow.currentSlideIndex = index;
|
||||
|
||||
// Restore focus for TV mode navigation continuity
|
||||
requestAnimationFrame(() => {
|
||||
@@ -2354,6 +2352,8 @@ const SlideshowManager = {
|
||||
if (logo) logo.classList.add("animate");
|
||||
}
|
||||
|
||||
STATE.slideshow.currentSlideIndex = index;
|
||||
|
||||
if (index === 0 || !previousVisibleSlide) {
|
||||
const dotsContainer = container.querySelector(".dots-container");
|
||||
if (dotsContainer) {
|
||||
@@ -2437,6 +2437,8 @@ const SlideshowManager = {
|
||||
// Preload next slides
|
||||
for (let i = 1; i <= preloadCount; i++) {
|
||||
const nextIndex = (currentIndex + i) % totalItems;
|
||||
if (nextIndex === currentIndex) break;
|
||||
|
||||
const itemId = STATE.slideshow.itemIds[nextIndex];
|
||||
SlideCreator.createSlideForItemId(itemId);
|
||||
}
|
||||
@@ -2444,6 +2446,8 @@ const SlideshowManager = {
|
||||
// Preload previous slides
|
||||
for (let i = 1; i <= preloadCount; i++) {
|
||||
const prevIndex = (currentIndex - i + totalItems) % totalItems;
|
||||
if (prevIndex === currentIndex) break;
|
||||
|
||||
const prevItemId = STATE.slideshow.itemIds[prevIndex];
|
||||
SlideCreator.createSlideForItemId(prevItemId);
|
||||
}
|
||||
@@ -2708,7 +2712,7 @@ const SlideshowManager = {
|
||||
|
||||
videoBackdrop.play().catch(() => {
|
||||
setTimeout(() => {
|
||||
if (videoBackdrop.paused && slide.classList.contains('active')) {
|
||||
if (videoBackdrop.paused) {
|
||||
console.warn(`Autoplay blocked for ${itemId}, attempting muted fallback`);
|
||||
videoBackdrop.muted = true;
|
||||
videoBackdrop.play().catch(err => console.error("Muted fallback failed", err));
|
||||
@@ -2719,7 +2723,7 @@ const SlideshowManager = {
|
||||
}
|
||||
|
||||
// YouTube player
|
||||
const player = STATE.slideshow.videoPlayers?.[itemId];
|
||||
const player = STATE.slideshow.videoPlayers && STATE.slideshow.videoPlayers[itemId];
|
||||
if (player && typeof player.loadVideoById === 'function' && player._videoId) {
|
||||
player.loadVideoById({
|
||||
videoId: player._videoId,
|
||||
@@ -2735,8 +2739,6 @@ const SlideshowManager = {
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
if (!slide.classList.contains('active')) return;
|
||||
|
||||
if (player.getPlayerState &&
|
||||
player.getPlayerState() !== YT.PlayerState.PLAYING &&
|
||||
player.getPlayerState() !== YT.PlayerState.BUFFERING) {
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
"imageUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/raw/branch/main/logo.png",
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.6.1.15",
|
||||
"version": "1.6.1.17",
|
||||
"changelog": "- fix tv mode issue\n- refactor video playback management",
|
||||
"targetAbi": "10.11.0.0",
|
||||
"sourceUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/releases/download/v1.6.1.15/Jellyfin.Plugin.MediaBarEnhanced.zip",
|
||||
"checksum": "b47caa7d04018d3cec864c1ab342c5f5",
|
||||
"timestamp": "2026-02-13T02:41:24Z"
|
||||
"sourceUrl": "https://git.mahom03-spacecloud.de/CodeDevMLH/jellyfin-plugin-media-bar-enhanced/releases/download/v1.6.1.17/Jellyfin.Plugin.MediaBarEnhanced.zip",
|
||||
"checksum": "4f0f1b0bfcb073ae72c6a5ba3b991e65",
|
||||
"timestamp": "2026-02-13T13:49:22Z"
|
||||
},
|
||||
{
|
||||
"version": "1.6.0.2",
|
||||
|
||||
Reference in New Issue
Block a user