mirror of
https://github.com/kristoferssolo/solorice.git
synced 2025-10-21 20:10:34 +00:00
12 lines
45 KiB
JavaScript
12 lines
45 KiB
JavaScript
var eternalDjukebox=(()=>{var e,O=Object.create,i=Object.defineProperty,$=Object.getOwnPropertyDescriptor,j=Object.getOwnPropertyNames,P=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty,t=(e,t)=>function(){return t||(0,e[j(e)[0]])((t={exports:{}}).exports,t),t.exports},G=(t,a,n,r)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let e of j(a))F.call(t,e)||e===n||i(t,e,{get:()=>a[e],enumerable:!(r=$(a,e))||r.enumerable});return t},a=(e,t,a)=>(a=null!=e?O(P(e)):{},G(!t&&e&&e.__esModule?a:i(a,"default",{value:e,enumerable:!0}),e)),n=(e,t,a)=>{var n;return n=a,(t="symbol"!=typeof t?t+"":t)in(e=e)?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,a},r=t({"external-global-plugin:react"(e,t){t.exports=Spicetify.React}}),H=t({"../../node_modules/spcr-whats-new/node_modules/semver/internal/debug.js"(e,t){var a="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};t.exports=a}}),X=t({"../../node_modules/spcr-whats-new/node_modules/semver/internal/constants.js"(e,t){var a=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:a,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}}),U=t({"../../node_modules/spcr-whats-new/node_modules/semver/internal/re.js"(e,t){var{MAX_SAFE_COMPONENT_LENGTH:a,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:r}=X(),i=H(),s=(e=t.exports={}).re=[],o=e.safeRe=[],l=e.src=[],c=e.t={},u=0,t="[a-zA-Z0-9-]",h=[["\\s",1],["\\d",r],[t,n]],r=(e,t,a)=>{var n=(e=>{for(var[t,a]of h)e=e.split(t+"*").join(`${t}{0,${a}}`).split(t+"+").join(`${t}{1,${a}}`);return e})(t),r=u++;i(e,r,t),c[e]=r,l[r]=t,s[r]=new RegExp(t,a?"g":void 0),o[r]=new RegExp(n,a?"g":void 0)};r("NUMERICIDENTIFIER","0|[1-9]\\d*"),r("NUMERICIDENTIFIERLOOSE","\\d+"),r("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${t}*`),r("MAINVERSION",`(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`),r("MAINVERSIONLOOSE",`(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`),r("PRERELEASEIDENTIFIER",`(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`),r("PRERELEASEIDENTIFIERLOOSE",`(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`),r("PRERELEASE",`(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`),r("PRERELEASELOOSE",`(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`),r("BUILDIDENTIFIER",t+"+"),r("BUILD",`(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`),r("FULLPLAIN",`v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`),r("FULL",`^${l[c.FULLPLAIN]}$`),r("LOOSEPLAIN",`[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`),r("LOOSE",`^${l[c.LOOSEPLAIN]}$`),r("GTLT","((?:<|>)?=?)"),r("XRANGEIDENTIFIERLOOSE",l[c.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),r("XRANGEIDENTIFIER",l[c.NUMERICIDENTIFIER]+"|x|X|\\*"),r("XRANGEPLAIN",`[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`),r("XRANGEPLAINLOOSE",`[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`),r("XRANGE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`),r("XRANGELOOSE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`),r("COERCE",`(^|[^\\d])(\\d{1,${a}})(?:\\.(\\d{1,${a}}))?(?:\\.(\\d{1,${a}}))?(?:$|[^\\d])`),r("COERCERTL",l[c.COERCE],!0),r("LONETILDE","(?:~>?)"),r("TILDETRIM",`(\\s*)${l[c.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",r("TILDE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`),r("TILDELOOSE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`),r("LONECARET","(?:\\^)"),r("CARETTRIM",`(\\s*)${l[c.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",r("CARET",`^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`),r("CARETLOOSE",`^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`),r("COMPARATORLOOSE",`^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`),r("COMPARATOR",`^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`),r("COMPARATORTRIM",`(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",r("HYPHENRANGE",`^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`),r("HYPHENRANGELOOSE",`^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`),r("STAR","(<|>)?=?\\s*\\*"),r("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),r("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),z=t({"../../node_modules/spcr-whats-new/node_modules/semver/internal/parse-options.js"(e,t){var a=Object.freeze({loose:!0}),n=Object.freeze({});t.exports=e=>e?"object"!=typeof e?a:e:n}}),q=t({"../../node_modules/spcr-whats-new/node_modules/semver/internal/identifiers.js"(e,t){var r=/^[0-9]+$/,a=(e,t)=>{var a=r.test(e),n=r.test(t);return a&&n&&(e=+e,t=+t),e===t?0:a&&!n||(!n||a)&&e<t?-1:1};t.exports={compareIdentifiers:a,rcompareIdentifiers:(e,t)=>a(t,e)}}}),V=t({"../../node_modules/spcr-whats-new/node_modules/semver/classes/semver.js"(e,t){var r=H(),{MAX_LENGTH:a,MAX_SAFE_INTEGER:n}=X(),{safeRe:i,t:s}=U(),o=z(),l=q()["compareIdentifiers"],c=class{constructor(e,t){if(t=o(t),e instanceof c){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>a)throw new TypeError(`version is longer than ${a} characters`);r("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;t=e.trim().match(t.loose?i[s.LOOSE]:i[s.FULL]);if(!t)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){var t=+e;if(0<=t&&t<n)return t}return e}):this.prerelease=[],this.build=t[5]?t[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.`+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version}toString(){return this.version}compare(e){if(r("SemVer.compare",this.version,this.options,e),!(e instanceof c)){if("string"==typeof e&&e===this.version)return 0;e=new c(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof c||(e=new c(e,this.options)),l(this.major,e.major)||l(this.minor,e.minor)||l(this.patch,e.patch)}comparePre(e){if(e instanceof c||(e=new c(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{var a=this.prerelease[t],n=e.prerelease[t];if(r("prerelease compare",t,a,n),void 0===a&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===a)return-1;if(a!==n)return l(a,n)}while(++t)}compareBuild(e){e instanceof c||(e=new c(e,this.options));let t=0;do{var a=this.build[t],n=e.build[t];if(r("prerelease compare",t,a,n),void 0===a&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===a)return-1;if(a!==n)return l(a,n)}while(++t)}inc(e,t,a){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,a);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,a);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,a),this.inc("pre",t,a);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,a),this.inc("pre",t,a);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":var n=Number(a)?1:0;if(!t&&!1===a)throw new Error("invalid increment argument: identifier is empty");if(0===this.prerelease.length)this.prerelease=[n];else{let e=this.prerelease.length;for(;0<=--e;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);if(-1===e){if(t===this.prerelease.join(".")&&!1===a)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(n)}}if(t){let e=!1===a?[t]:[t,n];(0!==l(this.prerelease[0],t)||isNaN(this.prerelease[1]))&&(this.prerelease=e)}break;default:throw new Error("invalid increment argument: "+e)}return this.raw=this.format(),this.build.length&&(this.raw+="+"+this.build.join(".")),this}};t.exports=c}}),J=t({"../../node_modules/spcr-whats-new/node_modules/semver/functions/compare.js"(e,t){var n=V();t.exports=(e,t,a)=>new n(e,a).compare(new n(t,a))}}),W=t({"../../node_modules/spcr-whats-new/node_modules/semver/functions/gt.js"(e,t){var n=J();t.exports=(e,t,a)=>0<n(e,t,a)}}),t=t({"external-global-plugin:react-dom"(e,t){t.exports=Spicetify.ReactDOM}}),Y={},Z=Y,Q={default:()=>function(){return xt.default.createElement(vt,null)}};for(e in Q)i(Z,e,{get:Q[e],enumerable:!0});var s=a(r()),K="app-module__full-size-container___XoGtP_eternalDjukebox",ee="app-module__empty-container___Or2XU_eternalDjukebox",te="app-module__elements-container___Ac4rM_eternalDjukebox",o={container:"Home-module__container___OGYoy_eternalDjukebox",title:"Home-module__title___r5q25_eternalDjukebox",button:"Home-module__button___C7z3Z_eternalDjukebox",content:"Home-module__content___z3y-o_eternalDjukebox",stats:"Home-module__stats___JAqyz_eternalDjukebox"},l=a(r()),ae={"jukebox-graph":"JukeboxVisualizer-module__jukebox-graph___e-QLA_eternalDjukebox"},c=a(r()),ne=a(r());function re(e){return Spicetify.Platform?.[e]}function ie(e){const[t,a]=(0,ne.useState)(!1);return ne.default.createElement("path",{fill:e.drawData.beat.isPlaying||t?e.drawData.activeColor:e.drawData.color,d:e.drawData.drawCommand,onMouseOver:()=>{a(!0)},onMouseOut:()=>{a(!1)},onClick:async()=>{await function(e){var t=re(e);if(void 0===t)throw new Error(`Platform API "${e}" is not available`);return t}("PlayerAPI").seekTo(e.drawData.beat.start)}},ne.default.createElement("title",null,"Beat ",e.drawData.beat.index))}var se=a(r()),oe={"flex-center":"app-module__flex-center___p5IEY_eternalDjukebox","full-size-container":"app-module__full-size-container___XoGtP_eternalDjukebox","empty-container":"app-module__empty-container___Or2XU_eternalDjukebox","elements-container":"app-module__elements-container___Ac4rM_eternalDjukebox"};function le(e){const[t,a]=(0,se.useState)(!1);return se.default.createElement("path",{className:oe["edge-path"]+" "+(e.drawData.edge.isPlaying?"is-active":""),fill:"none",stroke:e.drawData.edge.isPlaying||t?e.drawData.activeColor:e.drawData.color,strokeWidth:e.drawData.strokeWidth,d:e.drawData.drawCommand,onMouseOver:e=>{e=e.target,document.getElementById("#jukebox-graph")?.firstChild?.appendChild(e),a(!0)},onMouseOut:()=>{a(!1)}},se.default.createElement("title",null,e.drawData.edge.source.index+" - "+e.drawData.edge.destination.index))}function ce(e){return(ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var ue=/^\s+/,he=/\s+$/;function f(e,t){var a;return t=t||{},(e=e||"")instanceof f?e:this instanceof f?(a=function(e){var t={r:0,g:0,b:0},a=1,n=null,r=null,i=null,s=!1,o=!1;"string"==typeof e&&(e=function(e){e=e.replace(ue,"").replace(he,"").toLowerCase();var t,a=!1;if(Ae[e])e=Ae[e],a=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(t=g.rgb.exec(e))return{r:t[1],g:t[2],b:t[3]};if(t=g.rgba.exec(e))return{r:t[1],g:t[2],b:t[3],a:t[4]};if(t=g.hsl.exec(e))return{h:t[1],s:t[2],l:t[3]};if(t=g.hsla.exec(e))return{h:t[1],s:t[2],l:t[3],a:t[4]};if(t=g.hsv.exec(e))return{h:t[1],s:t[2],v:t[3]};if(t=g.hsva.exec(e))return{h:t[1],s:t[2],v:t[3],a:t[4]};if(t=g.hex8.exec(e))return{r:d(t[1]),g:d(t[2]),b:d(t[3]),a:Ce(t[4]),format:a?"name":"hex8"};if(t=g.hex6.exec(e))return{r:d(t[1]),g:d(t[2]),b:d(t[3]),format:a?"name":"hex"};if(t=g.hex4.exec(e))return{r:d(t[1]+""+t[1]),g:d(t[2]+""+t[2]),b:d(t[3]+""+t[3]),a:Ce(t[4]+""+t[4]),format:a?"name":"hex8"};if(t=g.hex3.exec(e))return{r:d(t[1]+""+t[1]),g:d(t[2]+""+t[2]),b:d(t[3]+""+t[3]),format:a?"name":"hex"};return!1}(e));"object"==ce(e)&&(E(e.r)&&E(e.g)&&E(e.b)?(t=function(e,t,a){return{r:255*u(e,255),g:255*u(t,255),b:255*u(a,255)}}(e.r,e.g,e.b),s=!0,o="%"===String(e.r).substr(-1)?"prgb":"rgb"):E(e.h)&&E(e.s)&&E(e.v)?(n=p(e.s),r=p(e.v),t=function(e,t,a){e=6*u(e,360),t=u(t,100),a=u(a,100);var n=Math.floor(e),e=e-n,r=a*(1-t),i=a*(1-e*t),e=a*(1-(1-e)*t),t=n%6;return{r:255*[a,i,r,r,e,a][t],g:255*[e,a,a,i,r,r][t],b:255*[r,r,e,a,a,i][t]}}(e.h,n,r),s=!0,o="hsv"):E(e.h)&&E(e.s)&&E(e.l)&&(n=p(e.s),i=p(e.l),t=function(e,t,a){var n,r,i;function s(e,t,a){return a<0&&(a+=1),1<a&&--a,a<1/6?e+6*(t-e)*a:a<.5?t:a<2/3?e+(t-e)*(2/3-a)*6:e}e=u(e,360),t=u(t,100),a=u(a,100),0===t?n=r=i=a:(n=s(t=2*a-(a=a<.5?a*(1+t):a+t-a*t),a,e+1/3),r=s(t,a,e),i=s(t,a,e-1/3));return{r:255*n,g:255*r,b:255*i}}(e.h,n,i),s=!0,o="hsl"),e.hasOwnProperty("a"))&&(a=e.a);return a=ke(a),{ok:s,format:e.format||o,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:a}}(e),this._originalInput=e,this._r=a.r,this._g=a.g,this._b=a.b,this._a=a.a,this._roundA=Math.round(100*this._a)/100,this._format=t.format||a.format,this._gradientType=t.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),void(this._ok=a.ok)):new f(e,t)}function de(e,t,a){e=u(e,255),t=u(t,255),a=u(a,255);var n,r=Math.max(e,t,a),i=Math.min(e,t,a),s=(r+i)/2;if(r==i)n=l=0;else{var o=r-i,l=.5<s?o/(2-r-i):o/(r+i);switch(r){case e:n=(t-a)/o+(t<a?6:0);break;case t:n=(a-e)/o+2;break;case a:n=(e-t)/o+4}n/=6}return{h:n,s:l,l:s}}function me(e,t,a){e=u(e,255),t=u(t,255),a=u(a,255);var n,r=Math.max(e,t,a),i=Math.min(e,t,a),s=r,o=r-i,l=0===r?0:o/r;if(r==i)n=0;else{switch(r){case e:n=(t-a)/o+(t<a?6:0);break;case t:n=(a-e)/o+2;break;case a:n=(e-t)/o+4}n/=6}return{h:n,s:l,v:s}}function fe(e,t,a,n){e=[m(Math.round(e).toString(16)),m(Math.round(t).toString(16)),m(Math.round(a).toString(16))];return n&&e[0].charAt(0)==e[0].charAt(1)&&e[1].charAt(0)==e[1].charAt(1)&&e[2].charAt(0)==e[2].charAt(1)?e[0].charAt(0)+e[1].charAt(0)+e[2].charAt(0):e.join("")}function pe(e,t,a,n){return[m(Me(n)),m(Math.round(e).toString(16)),m(Math.round(t).toString(16)),m(Math.round(a).toString(16))].join("")}function be(e,t){t=0===t?0:t||10;e=f(e).toHsl();return e.s-=t/100,e.s=h(e.s),f(e)}function ge(e,t){t=0===t?0:t||10;e=f(e).toHsl();return e.s+=t/100,e.s=h(e.s),f(e)}function Ee(e){return f(e).desaturate(100)}function _e(e,t){t=0===t?0:t||10;e=f(e).toHsl();return e.l+=t/100,e.l=h(e.l),f(e)}function ve(e,t){t=0===t?0:t||10;e=f(e).toRgb();return e.r=Math.max(0,Math.min(255,e.r-Math.round(-t/100*255))),e.g=Math.max(0,Math.min(255,e.g-Math.round(-t/100*255))),e.b=Math.max(0,Math.min(255,e.b-Math.round(-t/100*255))),f(e)}function xe(e,t){t=0===t?0:t||10;e=f(e).toHsl();return e.l-=t/100,e.l=h(e.l),f(e)}function ye(e,t){e=f(e).toHsl(),t=(e.h+t)%360;return e.h=t<0?360+t:t,f(e)}function Re(e){e=f(e).toHsl();return e.h=(e.h+180)%360,f(e)}function we(e,t){if(isNaN(t)||t<=0)throw new Error("Argument to polyad must be a positive number");for(var a=f(e).toHsl(),n=[f(e)],r=360/t,i=1;i<t;i++)n.push(f({h:(a.h+i*r)%360,s:a.s,l:a.l}));return n}function Se(e){var t=f(e).toHsl(),a=t.h;return[f(e),f({h:(a+72)%360,s:t.s,l:t.l}),f({h:(a+216)%360,s:t.s,l:t.l})]}function Ie(e,t,a){t=t||6,a=a||30;var n=f(e).toHsl(),r=360/a,i=[f(e)];for(n.h=(n.h-(r*t>>1)+720)%360;--t;)n.h=(n.h+r)%360,i.push(f(n));return i}function Ne(e,t){t=t||6;for(var e=f(e).toHsv(),a=e.h,n=e.s,r=e.v,i=[],s=1/t;t--;)i.push(f({h:a,s:n,v:r})),r=(r+s)%1;return i}f.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e=this.toRgb(),t=e.r/255,a=e.g/255,e=e.b/255,t=t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4),a=a<=.03928?a/12.92:Math.pow((.055+a)/1.055,2.4),e=e<=.03928?e/12.92:Math.pow((.055+e)/1.055,2.4);return.2126*t+.7152*a+.0722*e},setAlpha:function(e){return this._a=ke(e),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var e=me(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=me(this._r,this._g,this._b),t=Math.round(360*e.h),a=Math.round(100*e.s),e=Math.round(100*e.v);return 1==this._a?"hsv("+t+", "+a+"%, "+e+"%)":"hsva("+t+", "+a+"%, "+e+"%, "+this._roundA+")"},toHsl:function(){var e=de(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=de(this._r,this._g,this._b),t=Math.round(360*e.h),a=Math.round(100*e.s),e=Math.round(100*e.l);return 1==this._a?"hsl("+t+", "+a+"%, "+e+"%)":"hsla("+t+", "+a+"%, "+e+"%, "+this._roundA+")"},toHex:function(e){return fe(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){var t=this._r,a=this._g,n=this._b,r=this._a;return t=[m(Math.round(t).toString(16)),m(Math.round(a).toString(16)),m(Math.round(n).toString(16)),m(Me(r))],e&&t[0].charAt(0)==t[0].charAt(1)&&t[1].charAt(0)==t[1].charAt(1)&&t[2].charAt(0)==t[2].charAt(1)&&t[3].charAt(0)==t[3].charAt(1)?t[0].charAt(0)+t[1].charAt(0)+t[2].charAt(0)+t[3].charAt(0):t.join("")},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(100*u(this._r,255))+"%",g:Math.round(100*u(this._g,255))+"%",b:Math.round(100*u(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+Math.round(100*u(this._r,255))+"%, "+Math.round(100*u(this._g,255))+"%, "+Math.round(100*u(this._b,255))+"%)":"rgba("+Math.round(100*u(this._r,255))+"%, "+Math.round(100*u(this._g,255))+"%, "+Math.round(100*u(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&Le[fe(this._r,this._g,this._b,!0)]||!1},toFilter:function(e){var t="#"+pe(this._r,this._g,this._b,this._a),a=t;return"progid:DXImageTransform.Microsoft.gradient("+(this._gradientType?"GradientType = 1, ":"")+"startColorstr="+t+",endColorstr="+(a=e?"#"+pe((t=f(e))._r,t._g,t._b,t._a):a)+")"},toString:function(e){var t=!!e,a=(e=e||this._format,!1),n=this._a<1&&0<=this._a;return t||!n||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(a=this.toRgbString()),"prgb"===e&&(a=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(a=this.toHexString()),"hex3"===e&&(a=this.toHexString(!0)),"hex4"===e&&(a=this.toHex8String(!0)),"hex8"===e&&(a=this.toHex8String()),"name"===e&&(a=this.toName()),"hsl"===e&&(a=this.toHslString()),(a="hsv"===e?this.toHsvString():a)||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return f(this.toString())},_applyModification:function(e,t){e=e.apply(null,[this].concat([].slice.call(t)));return this._r=e._r,this._g=e._g,this._b=e._b,this.setAlpha(e._a),this},lighten:function(){return this._applyModification(_e,arguments)},brighten:function(){return this._applyModification(ve,arguments)},darken:function(){return this._applyModification(xe,arguments)},desaturate:function(){return this._applyModification(be,arguments)},saturate:function(){return this._applyModification(ge,arguments)},greyscale:function(){return this._applyModification(Ee,arguments)},spin:function(){return this._applyModification(ye,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(Ie,arguments)},complement:function(){return this._applyCombination(Re,arguments)},monochromatic:function(){return this._applyCombination(Ne,arguments)},splitcomplement:function(){return this._applyCombination(Se,arguments)},triad:function(){return this._applyCombination(we,[3])},tetrad:function(){return this._applyCombination(we,[4])}},f.fromRatio=function(e,t){if("object"==ce(e)){var a,n={};for(a in e)e.hasOwnProperty(a)&&(n[a]="a"===a?e[a]:p(e[a]));e=n}return f(e,t)},f.equals=function(e,t){return!(!e||!t)&&f(e).toRgbString()==f(t).toRgbString()},f.random=function(){return f.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})},f.mix=function(e,t,a){a=0===a?0:a||50;e=f(e).toRgb(),t=f(t).toRgb(),a/=100;return f({r:(t.r-e.r)*a+e.r,g:(t.g-e.g)*a+e.g,b:(t.b-e.b)*a+e.b,a:(t.a-e.a)*a+e.a})},f.readability=function(e,t){e=f(e),t=f(t);return(Math.max(e.getLuminance(),t.getLuminance())+.05)/(Math.min(e.getLuminance(),t.getLuminance())+.05)},f.isReadable=function(e,t,a){var n=f.readability(e,t),r=!1,e=function(e){var t;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),e=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==e&&"large"!==e&&(e="small");return{level:t,size:e}}(a);switch(e.level+e.size){case"AAsmall":case"AAAlarge":r=4.5<=n;break;case"AAlarge":r=3<=n;break;case"AAAsmall":r=7<=n}return r},f.mostReadable=function(e,t,a){for(var n,r=null,i=0,s=(a=a||{}).includeFallbackColors,o=a.level,l=a.size,c=0;c<t.length;c++)i<(n=f.readability(e,t[c]))&&(i=n,r=f(t[c]));return f.isReadable(e,r,{level:o,size:l})||!s?r:(a.includeFallbackColors=!1,f.mostReadable(e,["#fff","#000"],a))};var Ae=f.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Le=f.hexNames=function(e){var t,a={};for(t in e)e.hasOwnProperty(t)&&(a[e[t]]=t);return a}(Ae);function ke(e){return e=parseFloat(e),e=isNaN(e)||e<0||1<e?1:e}function u(e,t){"string"==typeof(a=e)&&-1!=a.indexOf(".")&&1===parseFloat(a)&&(e="100%");var a="string"==typeof(a=e)&&-1!=a.indexOf("%");return e=Math.min(t,Math.max(0,parseFloat(e))),a&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function h(e){return Math.min(1,Math.max(0,e))}function d(e){return parseInt(e,16)}function m(e){return 1==e.length?"0"+e:""+e}function p(e){return e=e<=1?100*e+"%":e}function Me(e){return Math.round(255*parseFloat(e)).toString(16)}function Ce(e){return d(e)/255}B="[\\s|\\(]+("+(w="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+w+")[,|\\s]+("+w+")\\s*\\)?",b="[\\s|\\(]+("+w+")[,|\\s]+("+w+")[,|\\s]+("+w+")[,|\\s]+("+w+")\\s*\\)?";var b,g={CSS_UNIT:new RegExp(w),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+b),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+b),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+b),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function E(e){return g.CSS_UNIT.exec(e)}var _=class{constructor(e=0,t=0){this.x=e,this.y=t}toString(){return this.x+","+this.y}static getMiddlePoint(e,t){return new _((e.x+t.x)/2,(e.y+t.y)/2)}static getDistanceBetweenPoints(e,t){var a=t.x-e.x,t=t.y-e.y;return Math.sqrt(t*t+a*a)}};function v(e,t,a){e=function(e){e=function(e){return e*Math.PI/180}(e);return new _(Math.cos(e),Math.sin(e))}(360*e/100);return e.x=e.x*t+a/2,e.y=e.y*-t+a/2,e}var x=100,y=x/2,R=40,De=2,Te=.2,Be=1,Oe=y-(R+Be);function $e(e){var t,a,n,r,c,u,h,d,m;return 0===e.beats.length?{beats:[],edges:[]}:([t,a]=function(e){var t=[100,100,100],a=[-100,-100,-100];for(const r of e.segments)for(let e=0;e<3;e++){var n=r.timbre[e+1];n<t[e]&&(t[e]=n),n>a[e]&&(a[e]=n)}return[t,a]}(e),r=e.beats[0].start,n=e.beats[e.beats.length-1].start+e.beats[e.beats.length-1].duration-r,u=r,h=n,d=t,m=a,{beats:r=(c=e).beats.map(e=>{var t=100*(e.start-u)/h,a=100*e.duration/h,n=Math.min(De+Te*e.playCount+(e.isPlaying?Be:0),Oe),n=R+n,r=v(t,n,x),i=v(t+a,n,x),s=v(t,R,x),o=v(t+a,R,x),l=function(e,t,a,n){e=e.remixedBeats[t.index].firstOverlappingSegment??null;return null!==e?function(t,a,n){var r=[];for(let e=0;e<3;e++){var i=(t.timbre[e+1]-a[e])/(n[e]-a[e]);r[e]=i}var e=f.fromRatio({r:r[1],g:r[2],b:r[0]});return e.toHexString()}(e,a,n):"#000"}(c,e,d,m),n=`M ${r.toString()}
|
|
A ${n},${n} 0 0 0 ${i.toString()}
|
|
L ${o.toString()}
|
|
A ${R},${R} 0 0 1 `+s.toString();return{beat:e,percentFromStart:t,percentOfSong:a,outerArcStart:r,outerArcEnd:i,innerArcStart:s,innerArcEnd:o,drawCommand:n,color:l,activeColor:f(l).complement().saturate(100).toHexString()}}),edges:function(e,t){var a=[];for(const o of e)for(const l of o.beat.neighbours){var n=e[l.source.index],r=e[l.destination.index],i=_.getMiddlePoint(n.innerArcStart,n.innerArcEnd),s=_.getMiddlePoint(r.innerArcStart,r.innerArcEnd),n=_.getDistanceBetweenPoints(n.innerArcStart,n.innerArcEnd),r=_.getDistanceBetweenPoints(r.innerArcStart,r.innerArcEnd),n={edge:l,strokeWidth:Math.min(n,r),drawCommand:`
|
|
M ${i.toString()}
|
|
Q ${t},${t} `+s.toString(),color:o.color,activeColor:o.activeColor};a.push(n)}return a}(r,y)})}function je(e){return(0,c.useEffect)(()=>{var e=document.querySelector("svg path.is-active");null!==e&&(e=e,document.getElementById("#jukebox-graph")?.firstChild?.appendChild(e))}),0===e.state.beats.length?c.default.createElement("div",null,"Loading..."):(e=$e(e.state),c.default.createElement("svg",{id:"#jukebox-graph",viewBox:`0 0 ${x} `+x,className:ae["jukebox-graph"]},c.default.createElement("g",{transform:`scale(-1,1) translate(${-x}, 0) rotate(-90,${y},${y}) `},e.beats.map(e=>c.default.createElement(ie,{key:e.beat.index,drawData:e})),e.edges.map(e=>c.default.createElement(le,{key:e.edge.source.index+"-"+e.edge.destination.index,drawData:e})))))}var Pe,Fe,w,Ge={"settings-button":"SettingsButton-module__settings-button___gAdcv_eternalDjukebox"},He=a(r()),Xe=a(r()),Ue={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},ze=(Pe="Settings",Fe=[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],(w=(0,Xe.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:n,className:r="",children:i,...s},o)=>(0,Xe.createElement)("svg",{ref:o,...Ue,width:t,height:t,stroke:e,strokeWidth:n?24*Number(a)/Number(t):a,className:["lucide","lucide-"+Pe.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim(),r].join(" "),...s},[...Fe.map(([e,t])=>(0,Xe.createElement)(e,t)),...Array.isArray(i)?i:[i]]))).displayName=""+Pe,w),qe={"settings-modal":"SettingsModal-module__settings-modal___rQEeB_eternalDjukebox","reset-button-container":"SettingsModal-module__reset-button-container___rD2SS_eternalDjukebox"},S=a(r()),I=class{maxBranchDistance=I.defaultBranchDistance;useDynamicBranchDistance=!1;minRandomBranchChance=I.defaultMinRandomBranchChance;maxRandomBranchChance=I.defaultMaxRandomBranchChance;randomBranchChanceDelta=I.defaultRandomBranchChanceDelta;maxJukeboxPlayTime=0;addLastEdge=!0;justBackwards=!1;justLongBranches=!1;removeSequentialBranches=!1;alwaysFollowLastBranch=!0;static fromPartial(e){var t=new I;return t.maxBranchDistance=e.maxBranchDistance,t.useDynamicBranchDistance=e.useDynamicBranchDistance,t.minRandomBranchChance=e.minRandomBranchChance,t.maxRandomBranchChance=e.maxRandomBranchChance,t.randomBranchChanceDelta=e.randomBranchChanceDelta,t.addLastEdge=e.addLastEdge,t.justBackwards=e.justBackwards,t.justLongBranches=e.justLongBranches,t.removeSequentialBranches=e.removeSequentialBranches,t.alwaysFollowLastBranch=e.alwaysFollowLastBranch,t.maxJukeboxPlayTime=e.maxJukeboxPlayTime,t}toPartial(){return{maxBranchDistance:this.maxBranchDistance,useDynamicBranchDistance:this.useDynamicBranchDistance,minRandomBranchChance:this.minRandomBranchChance,maxRandomBranchChance:this.maxRandomBranchChance,randomBranchChanceDelta:this.randomBranchChanceDelta,addLastEdge:this.addLastEdge,justBackwards:this.justBackwards,justLongBranches:this.justLongBranches,removeSequentialBranches:this.removeSequentialBranches,alwaysFollowLastBranch:this.alwaysFollowLastBranch,maxJukeboxPlayTime:this.maxJukeboxPlayTime}}},N=I,Ve=(n(N,"minBeatsBeforeBranching",5),n(N,"rangeMinBranchDistance",2),n(N,"rangeMaxBranchDistance",80),n(N,"defaultBranchDistance",30),n(N,"defaultMinRandomBranchChance",.18),n(N,"defaultMaxRandomBranchChance",.5),n(N,"minRandomBranchChanceDelta",0),n(N,"maxRandomBranchChanceDelta",.2),n(N,"defaultRandomBranchChanceDelta",.018),class{static get settings(){return N.fromPartial(Ve.storedSettings)}static set settings(e){Ve.storedSettings=e.toPartial()}static get storedSettings(){var e=Spicetify.LocalStorage.get(this.settingId);return null==e?(new N).toPartial():JSON.parse(e)}static set storedSettings(e){Spicetify.LocalStorage.set(this.settingId,JSON.stringify(e))}}),Je=Ve;n(Je,"settingId","jukebox:settings");var We="MultiRangeSlider-module__container___N3Ds6_eternalDjukebox",Ye="MultiRangeSlider-module__slider___o7chs_eternalDjukebox",Ze="MultiRangeSlider-module__slider__track___Hkmv4_eternalDjukebox",Qe="MultiRangeSlider-module__slider__range___EjOl1_eternalDjukebox",Ke="MultiRangeSlider-module__thumb___CwlUJ_eternalDjukebox",et="MultiRangeSlider-module__thumb--zindex-3___5wXiP_eternalDjukebox",tt="MultiRangeSlider-module__thumb--zindex-4___pt5k8_eternalDjukebox",at="MultiRangeSlider-module__thumb--zindex-5___uBskE_eternalDjukebox",A=a(r());function nt(t){const[a,n]=(0,A.useState)(t.minDefaultValue),[r,i]=(0,A.useState)(t.maxDefaultValue),s=(0,A.useRef)(null),o=(0,A.useRef)(null),l=(0,A.useRef)(null),c=(0,A.useCallback)(e=>Math.round((e-t.min)/(t.max-t.min)*100),[t.min,t.max]);return(0,A.useEffect)(()=>{var e,t;o.current&&(e=c(a),t=c(o.current.valueAsNumber),l.current)&&(l.current.style.left=e+"%",l.current.style.width=t-e+"%")},[a,c]),(0,A.useEffect)(()=>{var e,t;s.current&&(e=c(s.current.valueAsNumber),t=c(r),l.current)&&(l.current.style.width=t-e+"%")},[r,c]),(0,A.useEffect)(()=>{t.onChange({min:a,max:r})},[a,r,t.onChange]),A.default.createElement("div",{className:We},A.default.createElement("input",{type:"range",min:t.min,max:t.max,value:a,ref:s,onChange:e=>{var t=Math.min(e.target.valueAsNumber,r-1);n(t),e.target.value=t.toString()},className:Ke+" "+et+(a>t.max-10*t.max/100?" "+at:"")}),A.default.createElement("input",{type:"range",min:t.min,max:t.max,value:r,ref:o,onChange:e=>{var t=Math.max(e.target.valueAsNumber,a+1);i(t),e.target.value=t.toString()},className:Ke+" "+tt}),A.default.createElement("div",{className:Ye},A.default.createElement("div",{className:Ze}),A.default.createElement("div",{ref:l,className:Qe})))}var rt=a(r());function L(e){const{elementType:t="span",children:a,...n}=e;let r;switch(t){case"h1":r=Spicetify.ReactComponent.TextComponent.h1;break;case"h2":r=Spicetify.ReactComponent.TextComponent.h2;break;case"h3":r=Spicetify.ReactComponent.TextComponent.h3;break;case"h4":r=Spicetify.ReactComponent.TextComponent.h4;break;case"h5":r=Spicetify.ReactComponent.TextComponent.h5;break;case"h6":r=Spicetify.ReactComponent.TextComponent.h6;break;case"li":r=Spicetify.ReactComponent.TextComponent.li;break;case"p":r=Spicetify.ReactComponent.TextComponent.p;break;case"small":r=Spicetify.ReactComponent.TextComponent.small;break;case"span":r=Spicetify.ReactComponent.TextComponent.span;break;default:r=Spicetify.ReactComponent.TextComponent}return rt.default.createElement(r,{...n,style:e.style},a)}var k=a(r());function it(t){return k.default.createElement("label",{className:"x-toggle-wrapper"},k.default.createElement("input",{id:t.inputId,className:"x-toggle-input",type:"checkbox",checked:t.value,onChange:e=>{t.onChange(!t.value)}}),k.default.createElement("span",{className:"x-toggle-indicatorWrapper"},k.default.createElement("span",{className:"x-toggle-indicator"})))}var st="CheckboxContainer-module__checkbox-container___H9j0B_eternalDjukebox",M=a(r());function C(e){return M.default.createElement("div",{className:st},M.default.createElement("div",null,M.default.createElement(L,{elementType:"h3",variant:"violaBold"},e.label),M.default.createElement(L,{elementType:"small",semanticColor:"textSubdued"},e.subLabel)),M.default.createElement(it,{inputId:e.inputId,value:e.value,onChange:e.onChange}))}var ot="SliderContainer-module__range-subtext___rvp7-_eternalDjukebox",D=a(r());function lt(e){return D.default.createElement("div",{style:{width:e.containerWidth,...e.style}},D.default.createElement("div",null,D.default.createElement(L,{elementType:"h3",variant:"violaBold"},e.label),D.default.createElement(L,{style:{display:"block"},elementType:"small",semanticColor:"textSubdued",paddingBottom:"8px"},e.subLabel)),e.slider,D.default.createElement("div",{className:ot},D.default.createElement(L,{elementType:"small",semanticColor:"textSubdued"},e.minLabel),D.default.createElement(L,{elementType:"small",semanticColor:"textSubdued"},e.maxLabel)))}function ct(){const[e,n]=(0,S.useState)(Je.storedSettings);function a(t,a){if(typeof a!=typeof e[t])throw new Error("Value type does not match field type");e[t]!==a&&n(e=>({...e,[t]:a}))}return(0,S.useEffect)(()=>{const n=new MutationObserver(e=>{let t=!1;for(const a of e)a.removedNodes.forEach(e=>{"GENERIC-MODAL"===e.nodeName&&(t=!0)});t&&(window.jukebox.reloadSettings().catch(console.error),n.disconnect())});n.observe(document.getElementsByTagName("body")[0],{childList:!0})},[]),(0,S.useEffect)(()=>{Je.storedSettings=e},[e]),S.default.createElement("div",{className:qe["settings-modal"]},S.default.createElement(lt,{label:"Branch Similarity Threshold: "+e.maxBranchDistance,subLabel:"The maximum similarity distance allowed between two beats in order to create a branch.",slider:S.default.createElement("input",{id:"jukebox.settings.maxBranchDistance",type:"range",min:N.rangeMinBranchDistance,max:N.rangeMaxBranchDistance,value:e.maxBranchDistance,step:1,onChange:e=>{a("maxBranchDistance",e.target.valueAsNumber)},disabled:e.useDynamicBranchDistance}),minLabel:"Higher quality",maxLabel:"More branches",style:{opacity:e.useDynamicBranchDistance?.5:1}}),S.default.createElement(C,{inputId:"jukebox.settings.useDynamicBranchDistance",label:"Use dynamic branch distance",subLabel:"If checked, will calculate the branch similarity threshold automatically to try to get as many quality branch as possible.",value:e.useDynamicBranchDistance,onChange:e=>{a("useDynamicBranchDistance",e)}}),S.default.createElement(lt,{label:`Branch Probability Range: ${Math.round(100*e.minRandomBranchChance)}% to
|
|
${Math.round(100*e.maxRandomBranchChance)}%`,subLabel:"The minimum and maximum chance for a branch to be selected each beat.",slider:S.default.createElement(nt,{min:0,max:100,minDefaultValue:100*e.minRandomBranchChance,maxDefaultValue:100*e.maxRandomBranchChance,onChange:({min:e,max:t})=>{a("minRandomBranchChance",e/100),a("maxRandomBranchChance",t/100)}}),minLabel:"Low",maxLabel:"High"}),S.default.createElement(lt,{label:`Branch Probability Ramp-up Speed: ${Math.round(100*e.randomBranchChanceDelta)}%`,subLabel:"Controls how fast the chance to select a branch will increase.",slider:S.default.createElement("input",{id:"jukebox.settings.randomBranchChanceDelta",type:"range",min:0,max:100,value:100*e.randomBranchChanceDelta,step:2,onChange:e=>{a("randomBranchChanceDelta",e.target.valueAsNumber/100)}}),minLabel:"Slow",maxLabel:"Fast"}),S.default.createElement(C,{inputId:"jukebox.settings.addLastEdge",label:"Loop extension optimization",subLabel:"If checked, optimize by adding a good last edge.",value:e.addLastEdge,onChange:e=>{a("addLastEdge",e)}}),S.default.createElement(C,{inputId:"jukebox.settings.justBackwards",label:"Allow only backward branches",subLabel:"If checked, only add backward branches.",value:e.justBackwards,onChange:e=>{a("justBackwards",e)}}),S.default.createElement(C,{inputId:"jukebox.settings.justLongBranches",label:"Allow only long branches",subLabel:"If checked, only add long branches.",value:e.justLongBranches,onChange:e=>{a("justLongBranches",e)}}),S.default.createElement(C,{inputId:"jukebox.settings.removeSequentialBranches",label:"Remove sequential branches",subLabel:"If checked, remove consecutive branches of the same distance.",value:e.removeSequentialBranches,onChange:e=>{a("removeSequentialBranches",e)}}),S.default.createElement(C,{inputId:"jukebox.settings.alwaysFollowLastBranch",label:"Always follow the last branch",subLabel:"If checked, always follow the last possible branch. Note that setting this to false will result in songs not looping indefinitely.",value:e.alwaysFollowLastBranch,onChange:e=>{a("alwaysFollowLastBranch",e)}}),S.default.createElement("div",null,S.default.createElement(L,{elementType:"h3",variant:"violaBold"},"Maximum play time for a song, in seconds"),S.default.createElement(L,{elementType:"p",semanticColor:"textSubdued"},"After the listen time reaches this value, the jukebox will stop branching and continue to the next song where it will activate again. Set this to 0 for no limit."),S.default.createElement("input",{type:"number",className:"x-settings-input",style:{marginTop:"1rem"},id:"jukebox.settings.maxJukeboxPlayTime",value:e.maxJukeboxPlayTime/1e3,onChange:e=>{a("maxJukeboxPlayTime",1e3*e.target.valueAsNumber)}})),S.default.createElement("div",{className:qe["reset-button-container"]},S.default.createElement(Spicetify.ReactComponent.ButtonPrimary,{buttonSize:"sm",onClick:function(){n((new N).toPartial())}},"Reset")))}function ut(){return He.default.createElement("button",{className:Ge["settings-button"],onClick:e=>{Spicetify.PopupModal.display({title:"Jukebox settings",content:He.default.createElement(ct),isLarge:!0})},style:{height:"50px",width:"50px",borderRadius:"15px"}},He.default.createElement(ze,{stroke:"currentColor",size:20}))}function ht(){const[e,t]=(0,l.useState)({trackName:"",artistName:""}),[a,n]=(0,l.useState)({beats:[],remixedBeats:[],segments:[]}),[r,i]=(0,l.useState)({beatsPlayed:0,listenTime:"0",currentRandomBranchChance:0});return(0,l.useEffect)(()=>{const e=window.jukebox.songState$.subscribe(e=>{t({trackName:e?.track?.metadata?.title??"",artistName:e?.track?.metadata?.artist_name??""}),n({beats:e?.graph.beats??[],segments:e?.analysis.segments??[],remixedBeats:e?.analysis.beats??[]})});return()=>{e.unsubscribe()}},[]),(0,l.useEffect)(()=>{const e=window.jukebox.statsChanged$.subscribe(e=>{var t;i({beatsPlayed:e.beatsPlayed,currentRandomBranchChance:100*e.currentRandomBranchChance,listenTime:(e=e.listenTime,t=Math.floor(e/6e4),60===(e=Math.floor(e%6e4/1e3))?t+1+":00":t+":"+(e<10?"0":"")+e)})});return()=>{e.unsubscribe()}},[]),l.default.createElement("div",{className:o.container},l.default.createElement("div",{className:o.title},l.default.createElement("h1",null,e.trackName),l.default.createElement("p",null,"by"),l.default.createElement("h2",null,e.artistName)),l.default.createElement("div",{className:o.button},l.default.createElement(ut,null)),l.default.createElement("div",{className:o.content},l.default.createElement(je,{state:a})),l.default.createElement("div",{className:o.stats},l.default.createElement("span",null,"Total Beats: "+r.beatsPlayed),l.default.createElement("span",null,`Current branch change: ${Math.round(r.currentRandomBranchChance)}%`),l.default.createElement("span",null,"Listen Time: "+r.listenTime)))}var dt="1.0.0-beta.3",mt=a(W()),ft=a(t());var pt=async function(t,a,e){for(;!Spicetify?.PopupModal||!Spicetify?.LocalStorage;)await new Promise(e=>setTimeout(e,100));var n,t=`spcr-whats-new_${t}-version`,r=Spicetify.LocalStorage.get(t)??"";try{(0,mt.default)(a,r)&&(Spicetify.LocalStorage.set(t,a),n={...e,content:function(e){var t=document.createElement("div"),a=(t.setAttribute("id","whats-new-content-wrapper"),document.createElement("style"));return a.textContent=`
|
|
#whats-new-content-wrapper ul, #whats-new-content-wrapper ol {
|
|
list-style: inherit;
|
|
margin-left: 1em;
|
|
}
|
|
`,ft.default.render(e,t),t.appendChild(a),t}(e.content)},Spicetify.PopupModal.display(n))}catch(e){Spicetify.LocalStorage.set(t,a)}},bt=['Fix "No analysis available for this track".'],T=a(r(),1),gt=(()=>"undefined"==typeof window?T.useEffect:T.useLayoutEffect)(),Et=e=>e[1]?.next?e[1]:{next:e[1],error:e[2],complete:e[3]};function _t(e,t,a,n){{var r=T.useEffect,i=[e,t,a,n];const s=(0,T.useRef)(i),o=(0,T.useRef)(),l=(0,T.useRef)();gt(()=>{s.current=i,o.current=Et(i)}),r(()=>{const t=s.current[0],e=(o.current||(o.current=Et(s.current)),t.subscribe({next:e=>{t===s.current[0]&&o.current.next?.(e)},error:e=>{t===s.current[0]&&(o.current.error?o.current:console).error(e)},complete:()=>{t===s.current[0]&&o.current.complete?.()}}));return l.current=e,()=>{e.unsubscribe()}},[i[0]]),l}}var B,vt=function(){var[e,t]=(0,s.useState)(null);return _t(window.jukebox.songState$,t),(0,s.useEffect)(()=>{!async function(){await pt("eternal-jukebox",dt,{title:"New in v"+dt,content:s.default.createElement("p",null,s.default.createElement("ul",null,bt.map(e=>s.default.createElement("li",{key:e},e)))),isLarge:!0})}()},[]),window.jukebox.isEnabled?null!==e?s.default.createElement("div",{className:K},s.default.createElement(ht,null)):s.default.createElement("div",{className:ee},s.default.createElement("div",{className:te},s.default.createElement(ut,null),s.default.createElement("div",null,s.default.createElement("h1",null,"Loading...")))):s.default.createElement("div",{className:ee},s.default.createElement("div",{className:te},s.default.createElement(ut,null),s.default.createElement("div",null,s.default.createElement("h1",null,"Jukebox not enabled."))))},xt=a(r());return B=Y,G(i({},"__esModule",{value:!0}),B)})();const render=()=>eternalDjukebox.default(); |