Merge branch 'ciderapp:main' into amaru-dev-1
This commit is contained in:
commit
78c7dad4e6
15 changed files with 100 additions and 30 deletions
|
@ -15,9 +15,6 @@ jobs:
|
||||||
executor: cider-ci
|
executor: cider-ci
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
|
||||||
name: Set App Version
|
|
||||||
command: echo "export APP_VERSION=$(grep '"version":.*' package.json | cut -d '"' -f 4 | head -1)" >> $BASH_ENV
|
|
||||||
# - run:
|
# - run:
|
||||||
# name: Rename Repository
|
# name: Rename Repository
|
||||||
# command: sed -i 's/github:ciderapp\/Cider/github:ciderapp\/cider-releases/' package.json
|
# command: sed -i 's/github:ciderapp\/Cider/github:ciderapp\/cider-releases/' package.json
|
||||||
|
@ -45,6 +42,7 @@ jobs:
|
||||||
root: .
|
root: .
|
||||||
# Must be relative path from root
|
# Must be relative path from root
|
||||||
paths:
|
paths:
|
||||||
|
- src
|
||||||
- node_modules
|
- node_modules
|
||||||
- build
|
- build
|
||||||
- resources
|
- resources
|
||||||
|
@ -155,6 +153,9 @@ jobs:
|
||||||
mv ~/Cider/dist/*.blockmap ~/Cider/dist/artifacts
|
mv ~/Cider/dist/*.blockmap ~/Cider/dist/artifacts
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: ~/Cider/dist/artifacts
|
path: ~/Cider/dist/artifacts
|
||||||
|
- run:
|
||||||
|
name: Set App Version
|
||||||
|
command: echo "export APP_VERSION=$(grep '"version":.*' package.json | cut -d '"' -f 4 | head -1)" >> $BASH_ENV
|
||||||
- run:
|
- run:
|
||||||
name: Publish Release
|
name: Publish Release
|
||||||
command: |
|
command: |
|
||||||
|
|
2
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
|
@ -1,7 +1,7 @@
|
||||||
name: Bug Report
|
name: Bug Report
|
||||||
description: If you encounter an issue whilst using our app, please use this template to help improve the app.
|
description: If you encounter an issue whilst using our app, please use this template to help improve the app.
|
||||||
title: "[Bug]: "
|
title: "[Bug]: "
|
||||||
labels: ["bug", "triage"]
|
labels: ["bug", "needs-triage"]
|
||||||
assignees: []
|
assignees: []
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
|
|
18
.github/workflows/auto-project.yml
vendored
Normal file
18
.github/workflows/auto-project.yml
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
name: Add bugs to bugs project
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
add-to-project:
|
||||||
|
name: Add issue to project
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/add-to-project@main
|
||||||
|
with:
|
||||||
|
project-url: https://github.com/orgs/ciderapp/projects/5
|
||||||
|
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
|
||||||
|
labeled: bug, needs-triage
|
||||||
|
label-operator: OR
|
18
.github/workflows/stale-issues.yml
vendored
Normal file
18
.github/workflows/stale-issues.yml
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
name: 'Close stale issues and PRs'
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '30 1 * * *'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
stale:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@v4
|
||||||
|
with:
|
||||||
|
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
|
||||||
|
days-before-stale: 30
|
||||||
|
days-before-close: 7
|
|
@ -6,7 +6,7 @@
|
||||||
<img src="https://img.shields.io/github/forks/ciderapp/Cider?label=Forks" alt="GitHub Forks"/>
|
<img src="https://img.shields.io/github/forks/ciderapp/Cider?label=Forks" alt="GitHub Forks"/>
|
||||||
<a title="Crowdin" target="_blank" href="https://crowdin.com/project/cider-music"><img src="https://badges.crowdin.net/cider-music/localized.svg"></a>
|
<a title="Crowdin" target="_blank" href="https://crowdin.com/project/cider-music"><img src="https://badges.crowdin.net/cider-music/localized.svg"></a>
|
||||||
<br>
|
<br>
|
||||||
<a target="_blank" href="https://ko-fi.com/cryptofyre"><img src="https://img.shields.io/badge/Buy%20Me%20a%20Coffee-donate-B48C69?logo=Ko-fi&logoColor=FFFFFF" alt="Buy Me A Coffee"/></a>
|
<a target="_blank" href="https://ko-fi.com/cryptofyre"><img src="https://img.shields.io/badge/Buy%20Us%20a%20Coffee-donate-B48C69?logo=Ko-fi&logoColor=FFFFFF" alt="Buy Me A Coffee"/></a>
|
||||||
<a target="_blank" href="https://opencollective.com/ciderapp"><img src="https://img.shields.io/opencollective/all/ciderapp?color=%237FADF2&label=Backers%20and%20Sponsors&logo=opencollective" alt="Open Collective"/></a>
|
<a target="_blank" href="https://opencollective.com/ciderapp"><img src="https://img.shields.io/opencollective/all/ciderapp?color=%237FADF2&label=Backers%20and%20Sponsors&logo=opencollective" alt="Open Collective"/></a>
|
||||||
<a target="_blank" href="https://github.com/sponsors/ciderapp"><img src="https://img.shields.io/github/sponsors/ciderapp?color=C96198&label=GitHub%20Sponsors&logo=GitHub" alt="GitHub Sponsor"/></a>
|
<a target="_blank" href="https://github.com/sponsors/ciderapp"><img src="https://img.shields.io/github/sponsors/ciderapp?color=C96198&label=GitHub%20Sponsors&logo=GitHub" alt="GitHub Sponsor"/></a>
|
||||||
<br>
|
<br>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "cider",
|
"name": "cider",
|
||||||
"applicationId": "Cider",
|
"applicationId": "Cider",
|
||||||
"productName": "Cider",
|
"productName": "Cider",
|
||||||
"version": "1.4.5",
|
"version": "1.4.6",
|
||||||
"description": "A new cross-platform Apple Music experience based on Electron and Vue.js written from scratch with performance in mind.",
|
"description": "A new cross-platform Apple Music experience based on Electron and Vue.js written from scratch with performance in mind.",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./build/index.js",
|
"main": "./build/index.js",
|
||||||
|
|
|
@ -338,3 +338,7 @@ Update 29/04/2022 00:00 UTC
|
||||||
* `menubar.options.conf`: Added for `en_US`
|
* `menubar.options.conf`: Added for `en_US`
|
||||||
|
|
||||||
|
|
||||||
|
Update 08/05/2022 00:29 UTC
|
||||||
|
|
||||||
|
* `settings.option.visual.theme.github.available`: Added for `en_US`,
|
||||||
|
* `settings.option.visual.theme.github.applied`: Added for `en_US`,
|
||||||
|
|
|
@ -434,6 +434,8 @@
|
||||||
"settings.option.visual.theme.manageStyles": "Manage Styles",
|
"settings.option.visual.theme.manageStyles": "Manage Styles",
|
||||||
"settings.option.visual.theme.uninstall": "Uninstall",
|
"settings.option.visual.theme.uninstall": "Uninstall",
|
||||||
"settings.option.visual.theme.viewInfo": "View Info",
|
"settings.option.visual.theme.viewInfo": "View Info",
|
||||||
|
"settings.option.visual.theme.github.available": "Available",
|
||||||
|
"settings.option.visual.theme.github.applied": "Applied",
|
||||||
"settings.notyf.visual.theme.install.success": "Theme installed successfully",
|
"settings.notyf.visual.theme.install.success": "Theme installed successfully",
|
||||||
"settings.notyf.visual.theme.install.error": "Theme installation failed",
|
"settings.notyf.visual.theme.install.error": "Theme installation failed",
|
||||||
"settings.header.visual.plugin": "Plugin",
|
"settings.header.visual.plugin": "Plugin",
|
||||||
|
|
|
@ -366,6 +366,7 @@
|
||||||
"settings.option.audio.audioLab.description": "Una variedad de efectos de audio desarrollados internamente para Cider.",
|
"settings.option.audio.audioLab.description": "Una variedad de efectos de audio desarrollados internamente para Cider.",
|
||||||
"settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California",
|
"settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California",
|
||||||
"settings.warn.audioLab.withoutAF": "Se requiere AudioContext (funcionalidad avanzada) para habilitar Laboratorio de audio de Cider.",
|
"settings.warn.audioLab.withoutAF": "Se requiere AudioContext (funcionalidad avanzada) para habilitar Laboratorio de audio de Cider.",
|
||||||
|
"settings.warn.enableAdvancedFunctionality": "AudioContext (funcionalidad avanzada) es necesaria para habilitar esta característica.",
|
||||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Calidez analógica",
|
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Calidez analógica",
|
||||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simula la calidez analógica inspirada en el Korg Nutube 6P1",
|
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simula la calidez analógica inspirada en el Korg Nutube 6P1",
|
||||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Intensidad de calidez analógica",
|
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Intensidad de calidez analógica",
|
||||||
|
@ -428,6 +429,13 @@
|
||||||
"settings.header.visual.theme.github.page": "Temas de GitHub",
|
"settings.header.visual.theme.github.page": "Temas de GitHub",
|
||||||
"settings.option.visual.theme.github.install.confirm": "¿Está seguro de que desea instalar {{ repo }}?",
|
"settings.option.visual.theme.github.install.confirm": "¿Está seguro de que desea instalar {{ repo }}?",
|
||||||
"settings.prompt.visual.theme.github.URL": "Introduce la URL del tema que quieres instalar",
|
"settings.prompt.visual.theme.github.URL": "Introduce la URL del tema que quieres instalar",
|
||||||
|
"settings.prompt.visual.theme.uninstallTheme": "¿Estas seguro que lo quieres desinstalar {{ theme }}?",
|
||||||
|
"settings.option.visual.theme.checkForUpdates": "Buscar actualizaciones",
|
||||||
|
"settings.option.visual.theme.manageStyles": "Gestionar Estilos",
|
||||||
|
"settings.option.visual.theme.uninstall": "Desinstalar",
|
||||||
|
"settings.option.visual.theme.viewInfo": "Ver Información",
|
||||||
|
"settings.option.visual.theme.github.available": "Disponible",
|
||||||
|
"settings.option.visual.theme.github.applied": "Aplicado",
|
||||||
"settings.notyf.visual.theme.install.success": "Tema Instalado Correctamente",
|
"settings.notyf.visual.theme.install.success": "Tema Instalado Correctamente",
|
||||||
"settings.notyf.visual.theme.install.error": "La Instalación del Tema Falló",
|
"settings.notyf.visual.theme.install.error": "La Instalación del Tema Falló",
|
||||||
"settings.header.visual.plugin": "Plugin",
|
"settings.header.visual.plugin": "Plugin",
|
||||||
|
|
|
@ -378,6 +378,8 @@
|
||||||
"settings.header.visual.theme.github.page": "Témák a GitHub-ról",
|
"settings.header.visual.theme.github.page": "Témák a GitHub-ról",
|
||||||
"settings.option.visual.theme.github.install.confirm": "Biztosan szeretnéd telepíteni a(z) {{ repo }} témát?",
|
"settings.option.visual.theme.github.install.confirm": "Biztosan szeretnéd telepíteni a(z) {{ repo }} témát?",
|
||||||
"settings.prompt.visual.theme.github.URL": "Add meg a telepítendő téma URL-jét",
|
"settings.prompt.visual.theme.github.URL": "Add meg a telepítendő téma URL-jét",
|
||||||
|
"settings.option.visual.theme.github.available": "Elérhető",
|
||||||
|
"settings.option.visual.theme.github.applied": "Alkalmazva",
|
||||||
"settings.notyf.visual.theme.install.success": "Téma sikeresen telepítve",
|
"settings.notyf.visual.theme.install.success": "Téma sikeresen telepítve",
|
||||||
"settings.notyf.visual.theme.install.error": "Sikertelen volt a téma telepítése",
|
"settings.notyf.visual.theme.install.error": "Sikertelen volt a téma telepítése",
|
||||||
"settings.header.visual.plugin": "Plugin",
|
"settings.header.visual.plugin": "Plugin",
|
||||||
|
|
|
@ -366,6 +366,7 @@
|
||||||
"settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.",
|
"settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.",
|
||||||
"settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California",
|
"settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California",
|
||||||
"settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory.",
|
"settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory.",
|
||||||
|
"settings.warn.enableAdvancedFunctionality": "AudioContext (Advanced Functionality) is required to enable this feature.",
|
||||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analog Warmth",
|
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analog Warmth",
|
||||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simulates the analog warmth modelled after the Korg Nutube 6P1",
|
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simulates the analog warmth modelled after the Korg Nutube 6P1",
|
||||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analog Warmth intensity",
|
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analog Warmth intensity",
|
||||||
|
@ -433,6 +434,8 @@
|
||||||
"settings.option.visual.theme.manageStyles": "Manage Styles",
|
"settings.option.visual.theme.manageStyles": "Manage Styles",
|
||||||
"settings.option.visual.theme.uninstall": "Uninstall",
|
"settings.option.visual.theme.uninstall": "Uninstall",
|
||||||
"settings.option.visual.theme.viewInfo": "View Info",
|
"settings.option.visual.theme.viewInfo": "View Info",
|
||||||
|
"settings.option.visual.theme.github.available": "Available",
|
||||||
|
"settings.option.visual.theme.github.applied": "Applied",
|
||||||
"settings.notyf.visual.theme.install.success": "Theme installed successfully",
|
"settings.notyf.visual.theme.install.success": "Theme installed successfully",
|
||||||
"settings.notyf.visual.theme.install.error": "Theme installation failed",
|
"settings.notyf.visual.theme.install.error": "Theme installation failed",
|
||||||
"settings.header.visual.plugin": "Plugin",
|
"settings.header.visual.plugin": "Plugin",
|
||||||
|
|
|
@ -1134,11 +1134,13 @@ const app = new Vue({
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async refreshPlaylists(localOnly = false) {
|
async refreshPlaylists(localOnly = false, useCachedPlaylists = true) {
|
||||||
let self = this
|
let self = this
|
||||||
let trackMap = this.cfg.advanced.playlistTrackMapping
|
let trackMap = this.cfg.advanced.playlistTrackMapping
|
||||||
let newListing = []
|
let newListing = []
|
||||||
let trackMapping = {}
|
let trackMapping = {}
|
||||||
|
|
||||||
|
if (useCachedPlaylists) {
|
||||||
const cachedPlaylist = await CiderCache.getCache("library-playlists")
|
const cachedPlaylist = await CiderCache.getCache("library-playlists")
|
||||||
const cachedTrackMapping = await CiderCache.getCache("library-playlists-tracks")
|
const cachedTrackMapping = await CiderCache.getCache("library-playlists-tracks")
|
||||||
|
|
||||||
|
@ -1157,6 +1159,7 @@ const app = new Vue({
|
||||||
if (localOnly) {
|
if (localOnly) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.library.backgroundNotification.message = "Building playlist cache..."
|
this.library.backgroundNotification.message = "Building playlist cache..."
|
||||||
this.library.backgroundNotification.show = true
|
this.library.backgroundNotification.show = true
|
||||||
|
@ -1260,7 +1263,7 @@ const app = new Vue({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
).then(res => {
|
).then(res => {
|
||||||
self.refreshPlaylists()
|
self.refreshPlaylists(false, false)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async editPlaylist(id, name = app.getLz('term.newPlaylist')) {
|
async editPlaylist(id, name = app.getLz('term.newPlaylist')) {
|
||||||
|
@ -1275,7 +1278,7 @@ const app = new Vue({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
).then(res => {
|
).then(res => {
|
||||||
self.refreshPlaylists()
|
self.refreshPlaylists(false, false)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
copyToClipboard(str) {
|
copyToClipboard(str) {
|
||||||
|
@ -1319,7 +1322,7 @@ const app = new Vue({
|
||||||
})
|
})
|
||||||
self.sortPlaylists()
|
self.sortPlaylists()
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
app.refreshPlaylists()
|
app.refreshPlaylists(false, false)
|
||||||
}, 8000)
|
}, 8000)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -1336,6 +1339,9 @@ const app = new Vue({
|
||||||
if (found) {
|
if (found) {
|
||||||
self.playlists.listing.splice(self.playlists.listing.indexOf(found), 1)
|
self.playlists.listing.splice(self.playlists.listing.indexOf(found), 1)
|
||||||
}
|
}
|
||||||
|
setTimeout(() => {
|
||||||
|
app.refreshPlaylists(false, false);
|
||||||
|
}, 8000);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2581,7 +2587,7 @@ const app = new Vue({
|
||||||
})
|
})
|
||||||
self.sortPlaylists()
|
self.sortPlaylists()
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
app.refreshPlaylists()
|
app.refreshPlaylists(false, false)
|
||||||
}, 13000)
|
}, 13000)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script type="text/x-template" id="lyrics-view">
|
<script type="text/x-template" id="lyrics-view">
|
||||||
<div ref="lyricsview" class="md-body lyric-body">
|
<div ref="lyricsview" class="md-body lyric-body">
|
||||||
<template v-if="lyrics && lyrics != [] && lyrics.length > 0">
|
<template v-if="lyrics && lyrics != [] && lyrics.length > 0 && !qqInstrumental(lyrics)">
|
||||||
<template v-for="(lyric, index) in lyrics" v-if="lyric && lyric.line && lyric.line != 'lrcInstrumental'">
|
<template v-for="(lyric, index) in lyrics" v-if="lyric && lyric.line && lyric.line != 'lrcInstrumental'">
|
||||||
<h3 class="lyric-line" @click="seekTo(lyric.startTime)" :class="{unsynced : lyric.startTime == 9999999}"
|
<h3 class="lyric-line" @click="seekTo(lyric.startTime)" :class="{unsynced : lyric.startTime == 9999999}"
|
||||||
v-bind:line-index="index.toString()">
|
v-bind:line-index="index.toString()">
|
||||||
|
@ -183,6 +183,14 @@
|
||||||
}
|
}
|
||||||
else return []
|
else return []
|
||||||
},
|
},
|
||||||
|
qqInstrumental(lyrics) {
|
||||||
|
for(lyric of lyrics){
|
||||||
|
if (lyric.line.includes("纯音乐") && lyric.line.includes("欣赏")){
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
},
|
||||||
checkIfScrollIsStatic : setInterval(() => {
|
checkIfScrollIsStatic : setInterval(() => {
|
||||||
try {
|
try {
|
||||||
if (position === this.$refs.lyricsview.scrollTop) {
|
if (position === this.$refs.lyricsview.scrollTop) {
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
<div class="gh-content">
|
<div class="gh-content">
|
||||||
<div class="repos-list">
|
<div class="repos-list">
|
||||||
<div class="repo-header">
|
<div class="repo-header">
|
||||||
<h4>Available</h4>
|
<h4>{{$root.getLz('settings.option.visual.theme.github.available')}}</h4>
|
||||||
</div>
|
</div>
|
||||||
<ul class="list-group list-group-flush">
|
<ul class="list-group list-group-flush">
|
||||||
<template v-for="theme in themes">
|
<template v-for="theme in themes">
|
||||||
|
@ -85,7 +85,7 @@
|
||||||
|
|
||||||
<div class="style-editor-container">
|
<div class="style-editor-container">
|
||||||
<div class="repo-header">
|
<div class="repo-header">
|
||||||
<h4>Applied</h4>
|
<h4>{{ $root.getLz("settings.option.visual.theme.github.applied") }} </h4>
|
||||||
</div>
|
</div>
|
||||||
<stylestack-editor ref="stackEditor" v-if="themes.length != 0" :themes="themes"/>
|
<stylestack-editor ref="stackEditor" v-if="themes.length != 0" :themes="themes"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto flex-center">
|
<div class="col-auto flex-center">
|
||||||
<button class="md-btn md-btn-small md-btn-block" @click="$root.checkForThemeUpdates()">
|
<button class="md-btn md-btn-small md-btn-block" @click="$root.checkForThemeUpdates()">
|
||||||
Check for updates
|
{{ $root.getLz('settings.option.visual.theme.checkForUpdates') }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto nopadding flex-center">
|
<div class="col-auto nopadding flex-center">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue