added option to disable artwork bg, changes to settings style, fixed selects size on settings

This commit is contained in:
booploops 2022-01-21 05:07:43 -08:00
parent e57fc2528d
commit 2f3e477ce5
5 changed files with 192 additions and 123 deletions

View file

@ -54,6 +54,7 @@ export class ConfigStore {
"theme": "", "theme": "",
"scrollbars": 0, // 0 = show on hover, 2 = always hide, 3 = always show "scrollbars": 0, // 0 = show on hover, 2 = always hide, 3 = always show
"refresh_rate": 0, "refresh_rate": 0,
"window_background_style": "artwork", // "none", "artwork", "color"
"animated_artwork": "limited", // 0 = always, 1 = limited, 2 = never "animated_artwork": "limited", // 0 = always, 1 = limited, 2 = never
"animated_artwork_qualityLevel": 1, "animated_artwork_qualityLevel": 1,
"bg_artwork_rotation": false, "bg_artwork_rotation": false,

View file

@ -731,9 +731,14 @@ const app = new Vue({
document.location.reload() document.location.reload()
}, },
getAppClasses() { getAppClasses() {
let classes = {}
if (this.cfg.advanced.experiments.includes('compactui')) { if (this.cfg.advanced.experiments.includes('compactui')) {
return { compact: true } classes.compact = true
} }
if(this.cfg.visual.window_background_style == "none") {
classes.simplebg = true
}
return classes
}, },
invokeDrawer(panel) { invokeDrawer(panel) {
if (this.drawer.panel == panel && this.drawer.open) { if (this.drawer.panel == panel && this.drawer.open) {
@ -2744,7 +2749,7 @@ const app = new Vue({
// if rgb // if rgb
return `rgb(${rgb[0]},${rgb[1]},${rgb[2]})` return `rgb(${rgb[0]},${rgb[1]},${rgb[2]})`
}, },
getNowPlayingArtworkBG(size = 600) { getNowPlayingArtworkBG(size = 32, force = false) {
let self = this let self = this
if (typeof this.mk.nowPlayingItem === "undefined") return; if (typeof this.mk.nowPlayingItem === "undefined") return;
let bginterval = setInterval(() => { let bginterval = setInterval(() => {
@ -2753,7 +2758,7 @@ const app = new Vue({
} }
try { try {
if (this.mk.nowPlayingItem && this.mk.nowPlayingItem["id"] != this.currentTrackID && document.querySelector('.bg-artwork')) { if ((this.mk.nowPlayingItem && this.mk.nowPlayingItem["id"] != this.currentTrackID && document.querySelector('.bg-artwork')) || force) {
if (document.querySelector('.bg-artwork')) { if (document.querySelector('.bg-artwork')) {
clearInterval(bginterval); clearInterval(bginterval);
} }

View file

@ -46,6 +46,7 @@ body {
transition: opacity .10s var(--appleEase); transition: opacity .10s var(--appleEase);
} }
a:-webkit-any-link { a:-webkit-any-link {
color: var(--keyColor); color: var(--keyColor);
} }
@ -130,6 +131,25 @@ body.notransparency::before {
overflow: hidden; overflow: hidden;
background-size: 400% 400%; background-size: 400% 400%;
&.simplebg {
background: #0e0e0e;
&::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0.5;
z-index:0;
background-image: url(data:image/png;base64,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);
}
.app-chrome {
z-index: 1;
}
}
//&::before { //&::before {
// position: absolute; // position: absolute;
// top: -50%; // top: -50%;
@ -2131,7 +2151,6 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
} }
.md-select { .md-select {
width: 100%;
padding: 6px; padding: 6px;
border-radius: 6px; border-radius: 6px;
border: 1px solid rgba(200, 200, 200, 0.1); border: 1px solid rgba(200, 200, 200, 0.1);
@ -4610,6 +4629,22 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
/* Cider */ /* Cider */
.settings-page {
padding:0px;
.md-option-header {
padding: 1.25em 1.25em;
border-bottom: unset;
border-top: unset;
font-weight: 600;
font-size: 1.0em;
background: rgb(255 255 255 / 3%);
}
.settings-option-body {
margin: 16px;
}
}
// sidebar icon // sidebar icon
.svg-icon { .svg-icon {
--color: #aaa; --color: #aaa;

View file

@ -574,7 +574,7 @@
</div> </div>
</transition> </transition>
<transition name="wpfade"> <transition name="wpfade">
<div class="bg-artwork-container" <div class="bg-artwork-container" v-if="cfg.visual.window_background_style == 'artwork'"
:class="{noanimation: (!cfg.visual.bg_artwork_rotation || !animateBackground)}"> :class="{noanimation: (!cfg.visual.bg_artwork_rotation || !animateBackground)}">
<img @load="chrome.artworkReady = true" class="bg-artwork a " <img @load="chrome.artworkReady = true" class="bg-artwork a "
> >

View file

@ -4,6 +4,7 @@
<div class="md-option-header"> <div class="md-option-header">
<span>Audio</span> <span>Audio</span>
</div> </div>
<div class="settings-option-body">
<div class="md-option-line"> <div class="md-option-line">
<div class="md-option-segment"> <div class="md-option-segment">
Audio Quality Audio Quality
@ -53,9 +54,22 @@
<input type="checkbox" v-model="app.cfg.audio.spatial" v-on:change="toggleSpatial" switch/> <input type="checkbox" v-model="app.cfg.audio.spatial" v-on:change="toggleSpatial" switch/>
</div> </div>
</div> </div>
</div>
<div class="md-option-header"> <div class="md-option-header">
<span>Visual</span> <span>Visual</span>
</div> </div>
<div class="settings-option-body">
<div class="md-option-line">
<div class="md-option-segment">
Window Background Style
</div>
<div class="md-option-segment md-option-segment_auto">
<select class="md-select" @change="$root.getNowPlayingArtworkBG(undefined, true)" v-model="app.cfg.visual.window_background_style">
<option value="none">None</option>
<option value="artwork">Artwork</option>
</select>
</div>
</div>
<div class="md-option-line"> <div class="md-option-line">
<div class="md-option-segment"> <div class="md-option-segment">
Animated Artwork Animated Artwork
@ -111,9 +125,12 @@
<input type="checkbox" v-model="app.cfg.visual.showuserinfo" v-on:change="toggleUserInfo" switch/> <input type="checkbox" v-model="app.cfg.visual.showuserinfo" v-on:change="toggleUserInfo" switch/>
</div> </div>
</div> </div>
</div>
<div class="md-option-header"> <div class="md-option-header">
<span>Lyrics</span> <span>Lyrics</span>
</div> </div>
<div class="settings-option-body">
<div class="md-option-line"> <div class="md-option-line">
<div class="md-option-segment"> <div class="md-option-segment">
Enable Musixmatch Lyrics Enable Musixmatch Lyrics
@ -413,9 +430,12 @@
<input type="checkbox" v-model="app.cfg.lyrics.enable_yt" switch/> <input type="checkbox" v-model="app.cfg.lyrics.enable_yt" switch/>
</div> </div>
</div> </div>
</div>
<div class="md-option-header"> <div class="md-option-header">
<span>Conectivity</span> <span>Conectivity</span>
</div> </div>
<div class="settings-option-body">
<div class="md-option-line"> <div class="md-option-line">
<div class="md-option-segment"> <div class="md-option-segment">
Discord Rich Presence Discord Rich Presence
@ -472,9 +492,12 @@
<input type="checkbox" v-model="app.cfg.lastfm.enabledRemoveFeaturingArtists" switch/> <input type="checkbox" v-model="app.cfg.lastfm.enabledRemoveFeaturingArtists" switch/>
</div> </div>
</div> </div>
</div>
<div class="md-option-header"> <div class="md-option-header">
<span>Experimental</span> <span>Experimental</span>
</div> </div>
<div class="settings-option-body">
<div class="md-option-line"> <div class="md-option-line">
<div class="md-option-segment"> <div class="md-option-segment">
Compact UI Compact UI
@ -485,10 +508,12 @@
</button> </button>
</div> </div>
</div> </div>
</div>
<div style="opacity: 0.5; pointer-events: none"> <div style="opacity: 0.5; pointer-events: none">
<div class="md-option-header"> <div class="md-option-header">
<span>Unfinished / Non Functional</span> <span>Unfinished / Non Functional</span>
</div> </div>
<div class="settings-option-body">
<div class="md-option-line"> <div class="md-option-line">
<div class="md-option-segment"> <div class="md-option-segment">
Theme Theme
@ -563,6 +588,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</script> </script>
<script> <script>
@ -575,9 +601,9 @@
} }
}, },
mounted: function () { mounted: function () {
if (app.cfg.lastfm.enabled){ if (app.cfg.lastfm.enabled) {
const element = document.getElementById('lfmConnect'); const element = document.getElementById('lfmConnect');
if (element){ if (element) {
element.innerHTML = `Disconnect\n<p style="font-size: 8px"><i>(Authed: ${app.cfg.lastfm.auth_token})</i></p>`; element.innerHTML = `Disconnect\n<p style="font-size: 8px"><i>(Authed: ${app.cfg.lastfm.auth_token})</i></p>`;
element.onclick = app.LastFMDeauthorize; element.onclick = app.LastFMDeauthorize;
} }
@ -590,31 +616,33 @@
removeExperiment(flag) { removeExperiment(flag) {
app.cfg.advanced.experiments.splice(app.cfg.advanced.experiments.indexOf(flag), 1); app.cfg.advanced.experiments.splice(app.cfg.advanced.experiments.indexOf(flag), 1);
}, },
toggleAudioContext: function(){ toggleAudioContext: function () {
if (app.cfg.advanced.AudioContext){ if (app.cfg.advanced.AudioContext) {
CiderAudio.init(); CiderAudio.init();
if (app.cfg.audio.normalization){ if (app.cfg.audio.normalization) {
CiderAudio.normalizerOn()} CiderAudio.normalizerOn()
if (app.cfg.audio.spatial){ }
CiderAudio.spatialOn()} if (app.cfg.audio.spatial) {
CiderAudio.spatialOn()
}
} else { } else {
CiderAudio.off(); CiderAudio.off();
} }
}, },
toggleNormalization : function(){ toggleNormalization: function () {
if (app.cfg.audio.normalization){ if (app.cfg.audio.normalization) {
CiderAudio.normalizerOn() CiderAudio.normalizerOn()
} else {CiderAudio.normalizerOff()} } else { CiderAudio.normalizerOff() }
}, },
toggleSpatial : function(){ toggleSpatial: function () {
if (app.cfg.audio.spatial){ if (app.cfg.audio.spatial) {
CiderAudio.spatialOn() CiderAudio.spatialOn()
} else {CiderAudio.spatialOff()} } else { CiderAudio.spatialOff() }
}, },
changeAudioQuality : function(){ changeAudioQuality: function () {
app.mk.bitrate = app.cfg.audio.quality app.mk.bitrate = app.cfg.audio.quality
}, },
toggleUserInfo : function(){ toggleUserInfo: function () {
app.chrome.hideUserInfo = !app.cfg.visual.showuserinfo app.chrome.hideUserInfo = !app.cfg.visual.showuserinfo
} }
} }