Merge branch 'ciderapp:main' into main
This commit is contained in:
commit
940cc78e83
12 changed files with 41 additions and 34 deletions
|
@ -122,9 +122,9 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"build": {
|
"build": {
|
||||||
"electronVersion": "18.3.5",
|
"electronVersion": "19.0.8",
|
||||||
"electronDownload": {
|
"electronDownload": {
|
||||||
"version": "18.3.5+wvcus",
|
"version": "20.0.0-beta.11+wvcus",
|
||||||
"mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
|
"mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
|
||||||
},
|
},
|
||||||
"appId": "cider",
|
"appId": "cider",
|
||||||
|
|
|
@ -14,7 +14,7 @@ exports.default = function(context) {
|
||||||
// console.log('Castlabs-evs update complete')
|
// console.log('Castlabs-evs update complete')
|
||||||
|
|
||||||
// xcode 13
|
// xcode 13
|
||||||
if (fs.existsSync('dist/mac-universal--x64') && fs.existsSync('dist/mac-universal--arm64'))
|
if (fs.existsSync('dist/mac-universal--x64') && fs.existsSync('dist/mac-universal--arm64') && fs.existsSync('dist/mac-universal--x64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib/keyedobjects-101300.nib'))
|
||||||
execSync("cp 'dist/mac-universal--x64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib/keyedobjects-101300.nib' 'dist/mac-universal--arm64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib/keyedobjects-101300.nib'",{stdio: 'inherit'})
|
execSync("cp 'dist/mac-universal--x64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib/keyedobjects-101300.nib' 'dist/mac-universal--arm64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib/keyedobjects-101300.nib'",{stdio: 'inherit'})
|
||||||
|
|
||||||
// console.log('VMP signing start')
|
// console.log('VMP signing start')
|
||||||
|
|
|
@ -188,7 +188,7 @@
|
||||||
"term.plugin": "Plugin",
|
"term.plugin": "Plugin",
|
||||||
"term.pluginMenu": "Plugins Menú",
|
"term.pluginMenu": "Plugins Menú",
|
||||||
"term.pluginMenu.none": "Sin Plugins Interactivos",
|
"term.pluginMenu.none": "Sin Plugins Interactivos",
|
||||||
"term.replay": "Repetir",
|
"term.replay": "Replay",
|
||||||
"term.uniqueAlbums": "Álbumes Únicos",
|
"term.uniqueAlbums": "Álbumes Únicos",
|
||||||
"term.uniqueArtists": "Artistas Únicos",
|
"term.uniqueArtists": "Artistas Únicos",
|
||||||
"term.uniqueSongs": "Canciones Únicas",
|
"term.uniqueSongs": "Canciones Únicas",
|
||||||
|
|
|
@ -50,7 +50,7 @@ const CiderAudio = {
|
||||||
connectContext: function (mediaElem) {
|
connectContext: function (mediaElem) {
|
||||||
if (!CiderAudio.context) {
|
if (!CiderAudio.context) {
|
||||||
CiderAudio.context = new window.AudioContext({ sampleRate: 96000, latencyHint: "playback"}); // Don't ever remove the sample rate arg. Ask Maikiwi.
|
CiderAudio.context = new window.AudioContext({ sampleRate: 96000, latencyHint: "playback"}); // Don't ever remove the sample rate arg. Ask Maikiwi.
|
||||||
app.lyricOffset = CiderAudio.context.baseLatency
|
app.lyricOffset = CiderAudio.context.baseLatency + CiderAudio.context.outputLatency
|
||||||
}
|
}
|
||||||
if (!CiderAudio.source) {
|
if (!CiderAudio.source) {
|
||||||
CiderAudio.source = CiderAudio.context.createMediaElementSource(mediaElem);
|
CiderAudio.source = CiderAudio.context.createMediaElementSource(mediaElem);
|
||||||
|
|
|
@ -302,16 +302,23 @@
|
||||||
min-width: 120px;
|
min-width: 120px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.categories{
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, minmax(200px, 1fr));
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
.cd-mediaitem-square.mediaitem-brick {
|
.cd-mediaitem-square.mediaitem-brick {
|
||||||
width: 530px !important;
|
width: 100% !important;
|
||||||
|
height: 168px;
|
||||||
|
padding-block: 0.5rem;
|
||||||
.artwork-container .artwork {
|
.artwork-container .artwork {
|
||||||
height: 168px !important;
|
height: 168px !important;
|
||||||
width: 507px !important;
|
width: 100% !important;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
.info-rect{
|
||||||
|
height: max-content;
|
||||||
|
}
|
||||||
.title {
|
.title {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
justify-content: left;
|
justify-content: left;
|
||||||
|
|
|
@ -16,7 +16,6 @@ const app = new Vue({
|
||||||
drawertest: false,
|
drawertest: false,
|
||||||
platform: "",
|
platform: "",
|
||||||
mk: {},
|
mk: {},
|
||||||
quickPlayQuery: "",
|
|
||||||
pluginInstalled: false,
|
pluginInstalled: false,
|
||||||
pluginMenuEntries: [],
|
pluginMenuEntries: [],
|
||||||
lz: ipcRenderer.sendSync("get-i18n", "en_US"),
|
lz: ipcRenderer.sendSync("get-i18n", "en_US"),
|
||||||
|
@ -131,16 +130,13 @@ const app = new Vue({
|
||||||
webremoteqr: "",
|
webremoteqr: "",
|
||||||
mxmtoken: "",
|
mxmtoken: "",
|
||||||
mkIsReady: false,
|
mkIsReady: false,
|
||||||
playerReady: false,
|
|
||||||
animateBackground: false,
|
animateBackground: false,
|
||||||
currentArtUrl: '',
|
currentArtUrl: '',
|
||||||
currentArtUrlRaw: '',
|
currentArtUrlRaw: '',
|
||||||
lyricon: false,
|
lyricon: false,
|
||||||
currentTrackID: '',
|
currentTrackID: '',
|
||||||
currentTrackIDBG: '',
|
|
||||||
lyrics: [],
|
lyrics: [],
|
||||||
currentLyricsLine: 0,
|
currentLyricsLine: 0,
|
||||||
lyriccurrenttime: 0,
|
|
||||||
richlyrics: [],
|
richlyrics: [],
|
||||||
lyricsMediaItem: {},
|
lyricsMediaItem: {},
|
||||||
lyricsDebug: {
|
lyricsDebug: {
|
||||||
|
@ -280,12 +276,6 @@ const app = new Vue({
|
||||||
}, false)
|
}, false)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
hotReload() {
|
|
||||||
this.appVisible = false
|
|
||||||
setTimeout(() => {
|
|
||||||
this.appVisible = true
|
|
||||||
}, 1000)
|
|
||||||
},
|
|
||||||
setWindowHash(route = "") {
|
setWindowHash(route = "") {
|
||||||
window.location.hash = `#${route}`;
|
window.location.hash = `#${route}`;
|
||||||
},
|
},
|
||||||
|
@ -3945,7 +3935,7 @@ const app = new Vue({
|
||||||
if (width) {
|
if (width) {
|
||||||
width = parseInt(width * window.devicePixelRatio)
|
width = parseInt(width * window.devicePixelRatio)
|
||||||
}
|
}
|
||||||
let newurl = `${url.replace('{w}', width ?? height).replace('{h}', height).replace('{f}', "webp").replace('{c}', ((width === 900) ? "sr" : "cc"))}`;
|
let newurl = `${url.replace('{w}', width ?? height).replace('{h}', height).replace('{f}', "webp").replace('{c}', ((width === 900 || width === 380 || width === 600 ) ? "sr" : "cc"))}`;
|
||||||
|
|
||||||
if (newurl.includes("900x516")) {
|
if (newurl.includes("900x516")) {
|
||||||
newurl = newurl.replace("900x516cc", "900x516sr").replace("900x516bb", "900x516sr");
|
newurl = newurl.replace("900x516cc", "900x516sr").replace("900x516bb", "900x516sr");
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap");
|
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap");
|
||||||
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap");
|
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap");
|
||||||
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100;300;400;500;700;900&display=swap");
|
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100;300;400;500;700;900&display=swap");
|
||||||
@import url("lib/quasar/quasar.min.css");
|
// @import url("lib/quasar/quasar.min.css");
|
||||||
@import url("less/appvars.less");
|
@import url("less/appvars.less");
|
||||||
@import url("less/bootstrap-vue.min.less");
|
@import url("less/bootstrap-vue.min.less");
|
||||||
@import url("less/ameframework.less");
|
@import url("less/ameframework.less");
|
||||||
|
|
|
@ -2,15 +2,18 @@
|
||||||
<div v-observe-visibility="{callback: visibilityChanged}">
|
<div v-observe-visibility="{callback: visibilityChanged}">
|
||||||
<template v-if="isVisible && recom.attributes.display.kind != 'MusicSuperHeroShelf'">
|
<template v-if="isVisible && recom.attributes.display.kind != 'MusicSuperHeroShelf'">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col" v-if="recom?.relationships['primary-content']?.data?.length > 0" style="display: flex;">
|
<div class="col" v-if="recom?.relationships['primary-content']?.data?.length > 0" style="display: flex; margin-block:1rem;">
|
||||||
<div @click="navigateContent(recom?.relationships['primary-content']?.data[0] ?? recom?.attributes?.title?.contentIds[0] ?? '')" class="listennow-chip" style="height: 40px;width: 40px;align-self: center;margin-right: 10px;" :class="{ 'circle': recom?.relationships['primary-content']?.data[0]?.type == 'artists' }">
|
<div @click="navigateContent(recom?.relationships['primary-content']?.data[0] ?? recom?.attributes?.title?.contentIds[0] ?? '')" class="listennow-chip" style="height: 40px;width: 40px;align-self: center;margin-right: 10px;" :class="{ 'circle': recom?.relationships['primary-content']?.data[0]?.type == 'artists' }">
|
||||||
<mediaitem-artwork v-if="recom?.relationships['primary-content']?.data[0]?.attributes?.artwork != null" :url="recom?.relationships['primary-content']?.data[0]?.attributes?.artwork?.url" :size="100"></mediaitem-artwork>
|
<mediaitem-artwork v-if="recom?.relationships['primary-content']?.data[0]?.attributes?.artwork != null" :url="recom?.relationships['primary-content']?.data[0]?.attributes?.artwork?.url" :size="100"></mediaitem-artwork>
|
||||||
</div>
|
</div>
|
||||||
<h3 @click="navigateContent(recom?.relationships['primary-content']?.data[0] ?? recom?.attributes?.title?.contentIds[0] ?? '')" style="width: fit-content;" :class="{'item-navigate' : (recom?.attributes?.title?.contentIds?.length ?? 0) > 0 | recom?.relationships['primary-content']?.data?.length > 0}">
|
<div @click="navigateContent(recom?.relationships['primary-content']?.data[0] ?? recom?.attributes?.title?.contentIds[0] ?? '')" style="width: fit-content;" :class="{'item-navigate' : (recom?.attributes?.title?.contentIds?.length ?? 0) > 0 | recom?.relationships['primary-content']?.data?.length > 0}">
|
||||||
{{ recom.attributes.title ? recom.attributes.title.stringForDisplay : " "}}</h3>
|
<span style="opacity: 0.5; font-weight: bold;"> {{ recom.attributes.titleWithoutName.stringForDisplay }} </span>
|
||||||
|
<h3 style="margin-block: 0"> {{ recom.attributes.title.stringForDisplay.replace(recom.attributes.titleWithoutName.stringForDisplay, '') }}</h3>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col" v-else>
|
<div class="col" v-else style="display: flex; margin-block:1rem;">
|
||||||
<h3 @click="navigateContent(recom?.relationships['primary-content']?.data[0] ?? recom?.attributes?.title?.contentIds[0] ?? '')" style="width: fit-content;" :class="{'item-navigate' : (recom?.attributes?.title?.contentIds?.length ?? 0) > 0 | recom?.relationships['primary-content']?.data?.length > 0}">
|
<h3 @click="navigateContent(recom?.relationships['primary-content']?.data[0] ?? recom?.attributes?.title?.contentIds[0] ?? '')" style="width: fit-content; margin-block:0;" :class="{'item-navigate' : (recom?.attributes?.title?.contentIds?.length ?? 0) > 0 | recom?.relationships['primary-content']?.data?.length > 0}">
|
||||||
{{ recom.attributes.title ? recom.attributes.title.stringForDisplay : " "}}</h3>
|
{{ recom.attributes.title ? recom.attributes.title.stringForDisplay : " "}}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto cider-flex-center" v-if="recom.relationships.contents.data.length >= 10">
|
<div class="col-auto cider-flex-center" v-if="recom.relationships.contents.data.length >= 10">
|
||||||
|
|
|
@ -92,6 +92,11 @@
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
required: false
|
required: false
|
||||||
|
},
|
||||||
|
imageformat: {
|
||||||
|
type: String,
|
||||||
|
default: 'cc',
|
||||||
|
required: false
|
||||||
},
|
},
|
||||||
'contextExt': { type: Object, required: false },
|
'contextExt': { type: Object, required: false },
|
||||||
},
|
},
|
||||||
|
@ -242,11 +247,11 @@
|
||||||
getArtworkUrl(size = -1, includeUrl = false) {
|
getArtworkUrl(size = -1, includeUrl = false) {
|
||||||
let artwork = this.item?.attributes?.artwork ? this.item?.attributes?.artwork?.url : (this.item?.attributes?.editorialArtwork?.subscriptionCover?.url ?? '')
|
let artwork = this.item?.attributes?.artwork ? this.item?.attributes?.artwork?.url : (this.item?.attributes?.editorialArtwork?.subscriptionCover?.url ?? '')
|
||||||
if (size != -1) {
|
if (size != -1) {
|
||||||
artwork = artwork.replace('{w}', size).replace('{h}', size).replace('{f}', "webp").replace('{c}', ((size === 900) ? "sr" : "cc"))
|
artwork = artwork.replace('{w}', size).replace('{h}', size).replace('{f}', "webp").replace('{c}', (size === 900 || size === 380 || size === 600 ) ? "sr" : this.imageformat);
|
||||||
}
|
}
|
||||||
switch (this.kind) {
|
switch (this.kind) {
|
||||||
case "385":
|
case "385":
|
||||||
artwork = this.item.attributes.editorialArtwork?.subscriptionHero?.url ?? (this.item.attributes.artwork?.url ?? (this.item.relationships?.contents?.data[0]?.attributes?.editorialArtwork?.subscriptionHero?.url ?? ''))
|
artwork = (this.item.attributes.editorialArtwork?.subscriptionHero?.url ?? (this.item.attributes.artwork?.url ?? (this.item.relationships?.contents?.data[0]?.attributes?.editorialArtwork?.subscriptionHero?.url ?? ''))).replace('{c}', (size === 900 || size === 380 || size === 600 ) ? "sr" : this.imageformat);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!includeUrl) {
|
if (!includeUrl) {
|
||||||
|
|
|
@ -81,7 +81,7 @@
|
||||||
loadingBar: { skipHijack: true }
|
loadingBar: { skipHijack: true }
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<script src="./lib/quasar/quasar.umd.min.js"></script>
|
<!-- <script src="./lib/quasar/quasar.umd.min.js"></script> -->
|
||||||
<script type="module" src="./main/app.js"></script>
|
<script type="module" src="./main/app.js"></script>
|
||||||
|
|
||||||
<div id="LOADER">
|
<div id="LOADER">
|
||||||
|
|
|
@ -119,7 +119,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else >
|
||||||
<div v-if="categoriesReady || getCategories()">
|
<div v-if="categoriesReady || getCategories()">
|
||||||
<div>
|
<div>
|
||||||
<div class="col" v-if="categoriesView != null && categoriesView != [] && categoriesView[0].attributes != null && categoriesView[0].attributes.title != null">
|
<div class="col" v-if="categoriesView != null && categoriesView != [] && categoriesView[0].attributes != null && categoriesView[0].attributes.title != null">
|
||||||
|
@ -131,7 +131,9 @@
|
||||||
<!-- <mediaitem-square :kind="'385'" size="600" v-for="item in recentlyPlayed.limit(10)" :item="item" :imagesize="800"></mediaitem-square>-->
|
<!-- <mediaitem-square :kind="'385'" size="600" v-for="item in recentlyPlayed.limit(10)" :item="item" :imagesize="800"></mediaitem-square>-->
|
||||||
<h3>{{categoriesView[0].attributes.title.stringForDisplay ?? ""}}</h3>
|
<h3>{{categoriesView[0].attributes.title.stringForDisplay ?? ""}}</h3>
|
||||||
</div>
|
</div>
|
||||||
<mediaitem-square :kind="'385'" size="600"
|
</div>
|
||||||
|
<div class="categories">
|
||||||
|
<mediaitem-square :kind="'385'" :imageformat="'bb'" size="600"
|
||||||
:item="item ? (item.attributes.kind ? item : ((item.relationships && item.relationships.contents ) ? item.relationships.contents.data[0] : item)) : []"
|
:item="item ? (item.attributes.kind ? item : ((item.relationships && item.relationships.contents ) ? item.relationships.contents.data[0] : item)) : []"
|
||||||
:imagesize="800"
|
:imagesize="800"
|
||||||
v-for="item of getFlattenedCategories()">
|
v-for="item of getFlattenedCategories()">
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"electronVersion": "19.0.3",
|
"electronVersion": "19.0.8",
|
||||||
"electronDownload": {
|
"electronDownload": {
|
||||||
"version": "19.0.3+wvcus",
|
"version": "20.0.0-beta.11+wvcus",
|
||||||
"mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
|
"mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
|
||||||
},
|
},
|
||||||
"appId": "cider",
|
"appId": "cider",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue