diff --git a/js/events.js b/js/events.js index e2c4e45..29dbc81 100644 --- a/js/events.js +++ b/js/events.js @@ -202,7 +202,8 @@ export function initializePlayerEvents(player, audioPlayer, scrobbler, ui) { console.error(`Media playback error (${element.id}):`, errorMsg, e); playPauseBtn.innerHTML = SVG_PLAY; - const canFallback = player.quality === 'HI_RES_LOSSLESS' && + const canFallback = + player.quality === 'HI_RES_LOSSLESS' && errorMsg.includes('Source not supported') && errorMsg.includes('0x80004005') && !player.isFallbackRetry; diff --git a/js/player.js b/js/player.js index 2fb54a7..6f52b71 100644 --- a/js/player.js +++ b/js/player.js @@ -1047,9 +1047,8 @@ export class Player { } const shuffledSeeds = [...this.radioSeeds].sort(() => 0.5 - Math.random()); - const seeds = shuffledSeeds.length > 0 - ? shuffledSeeds.slice(0, 5) - : this.currentTrack ? [this.currentTrack] : []; + const seeds = + shuffledSeeds.length > 0 ? shuffledSeeds.slice(0, 5) : this.currentTrack ? [this.currentTrack] : []; if (seeds.length === 0) { return; @@ -1068,7 +1067,7 @@ export class Player { ]); const recommendations = await this.api.getRecommendedTracksForPlaylist(seeds, 20, { - knownTrackIds: knownTrackIds + knownTrackIds: knownTrackIds, }); if (recommendations && recommendations.length > 0) { diff --git a/js/settings.js b/js/settings.js index a3b165e..025c1a1 100644 --- a/js/settings.js +++ b/js/settings.js @@ -2273,6 +2273,9 @@ export function initializeSettings(scrobbler, player, api, ui) { ui.visualizer.setPreset(val); } updateButterchurnSettingsVisibility(); + + //Since changing the preset breaks the visualizer, a location.reload() is added to make sure that it works + window.location.reload(); }); } diff --git a/js/visualizers/lcd.js b/js/visualizers/lcd.js index 26fc3ec..6734481 100644 --- a/js/visualizers/lcd.js +++ b/js/visualizers/lcd.js @@ -269,7 +269,8 @@ export class LCDPreset { this.initWebGL(width, height); // Attach WebGL canvas to same parent as main canvas if (this.glCanvas && canvas.parentElement) { - canvas.parentElement.style.position = 'relative'; + //This position:relative was causing the visual bugs and problems in the lcd visualiser. + // canvas.parentElement.style.position = 'relative'; canvas.parentElement.appendChild(this.glCanvas); } } diff --git a/styles.css b/styles.css index 61340a9..e0f4a4d 100644 --- a/styles.css +++ b/styles.css @@ -7589,7 +7589,7 @@ body:has(#side-panel.active) #close-fullscreen-cover-btn { /* EQ Response Curve Canvas */ .eq-response-canvas { - position: absolute; + position: fixed; top: var(--spacing-md); left: 4px; width: calc(100% - 8px);