Merge branch 'ciderapp:main' into main

This commit is contained in:
Pedro Galhardo 2022-07-26 00:35:10 +01:00 committed by GitHub
commit 940cc78e83
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 41 additions and 34 deletions

View file

@ -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",

View file

@ -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')

View file

@ -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",

View file

@ -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);

View file

@ -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;

View file

@ -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");

View file

@ -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");

View file

@ -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">

View file

@ -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) {

View file

@ -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">

View file

@ -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()">

View file

@ -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",