Merge branch 'ciderapp:develop' into develop
This commit is contained in:
commit
1f096e694f
6 changed files with 44 additions and 5 deletions
|
@ -2,7 +2,7 @@
|
||||||
"name": "cider",
|
"name": "cider",
|
||||||
"applicationId": "Cider",
|
"applicationId": "Cider",
|
||||||
"productName": "Cider",
|
"productName": "Cider",
|
||||||
"version": "1.4.5",
|
"version": "1.4.4",
|
||||||
"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",
|
||||||
|
@ -38,7 +38,6 @@
|
||||||
"@sentry/electron": "^3.0.7",
|
"@sentry/electron": "^3.0.7",
|
||||||
"@sentry/integrations": "^6.19.6",
|
"@sentry/integrations": "^6.19.6",
|
||||||
"adm-zip": "0.4.10",
|
"adm-zip": "0.4.10",
|
||||||
"airtunes2": "git+https://github.com/vapormusic/node_airtunes2.git",
|
|
||||||
"castv2-client": "^1.2.0",
|
"castv2-client": "^1.2.0",
|
||||||
"chokidar": "^3.5.3",
|
"chokidar": "^3.5.3",
|
||||||
"discord-rpc": "^4.0.1",
|
"discord-rpc": "^4.0.1",
|
||||||
|
|
26
src/ciderkit/public.js
Normal file
26
src/ciderkit/public.js
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
const CiderKit = {
|
||||||
|
v1: {
|
||||||
|
musickit: {
|
||||||
|
async mkv3(route, body, options) {
|
||||||
|
let opts = {
|
||||||
|
method: 'POST',
|
||||||
|
cache: 'no-cache',
|
||||||
|
credentials: 'same-origin',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
redirect: 'follow',
|
||||||
|
referrerPolicy: 'no-referrer',
|
||||||
|
body: {}
|
||||||
|
}
|
||||||
|
opts.body = JSON.stringify({
|
||||||
|
route: route,
|
||||||
|
body: body,
|
||||||
|
options: options
|
||||||
|
})
|
||||||
|
let response = await fetch("http://localhost:9000/api/musickit/v3", opts);
|
||||||
|
return response.json()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -328,10 +328,9 @@
|
||||||
"settings.option.lyrics.enableYoutubeLyrics": "播放 MV 時,使用 YouTube 歌詞",
|
"settings.option.lyrics.enableYoutubeLyrics": "播放 MV 時,使用 YouTube 歌詞",
|
||||||
"settings.header.connectivity": "外部連接",
|
"settings.header.connectivity": "外部連接",
|
||||||
"settings.header.connectivity.description": "調整 Cider 與外部的連接",
|
"settings.header.connectivity.description": "調整 Cider 與外部的連接",
|
||||||
"settings.option.connectivity.discordRPC": "Discord 動態",
|
|
||||||
"settings.option.connectivity.playbackNotifications": "歌曲播放通知",
|
"settings.option.connectivity.playbackNotifications": "歌曲播放通知",
|
||||||
"settings.header.connectivity.discordRPC.cider": "顯示正在使用 Cider",
|
"settings.option.connectivity.discordRPC": "Discord 動態",
|
||||||
"settings.header.connectivity.discordRPC.appleMusic": "顯示正在使用 Apple Music",
|
"settings.option.connectivity.discordRPC.clientName": "應用程式名稱",
|
||||||
"settings.option.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 動態",
|
"settings.option.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 動態",
|
||||||
"settings.option.connectivity.discordRPC.hideButtons": "隱藏 Discord 動態上的按鈕",
|
"settings.option.connectivity.discordRPC.hideButtons": "隱藏 Discord 動態上的按鈕",
|
||||||
"settings.option.connectivity.lastfmScrobble": "Last.FM Scrobbling 記錄",
|
"settings.option.connectivity.lastfmScrobble": "Last.FM Scrobbling 記錄",
|
||||||
|
@ -357,6 +356,9 @@
|
||||||
"settings.option.visual.transparent": "透明視窗框架",
|
"settings.option.visual.transparent": "透明視窗框架",
|
||||||
"settings.option.visual.transparent.description": "需主題有支援透明框架,且須重新啟動才會套用。",
|
"settings.option.visual.transparent.description": "需主題有支援透明框架,且須重新啟動才會套用。",
|
||||||
"settings.header.advanced": "進階",
|
"settings.header.advanced": "進階",
|
||||||
|
"settings.header.connect": "同步",
|
||||||
|
"settings.option.connect.link_account": "開啟與 Cider Connect 同步",
|
||||||
|
"settings.option.connect.link_account.description": "將您的 Discord 帳戶與 Cider Connect 連接後,你可以儲存使用者資料,包括設定、等化器,並最終在完成後儲存更多資料。(正在進行中)",
|
||||||
"spatial.notTurnedOn": "空間音訊目前是關閉狀態,請先開啟再使用。",
|
"spatial.notTurnedOn": "空間音訊目前是關閉狀態,請先開啟再使用。",
|
||||||
"spatial.spatialProperties": "空間音訊屬性設定",
|
"spatial.spatialProperties": "空間音訊屬性設定",
|
||||||
"spatial.width": "寬度",
|
"spatial.width": "寬度",
|
||||||
|
|
|
@ -157,6 +157,10 @@ export class wsapi {
|
||||||
this._win.webContents.executeJavaScript(`MusicKit.getInstance().pause()`);
|
this._win.webContents.executeJavaScript(`MusicKit.getInstance().pause()`);
|
||||||
response.message = "Paused";
|
response.message = "Paused";
|
||||||
break;
|
break;
|
||||||
|
case "playpause":
|
||||||
|
this._win.webContents.executeJavaScript(`MusicKitInterop.playPause()`);
|
||||||
|
response.message = "Play/Pause";
|
||||||
|
break
|
||||||
case "play":
|
case "play":
|
||||||
this._win.webContents.executeJavaScript(`MusicKit.getInstance().play()`);
|
this._win.webContents.executeJavaScript(`MusicKit.getInstance().play()`);
|
||||||
response.message = "Playing";
|
response.message = "Playing";
|
||||||
|
|
|
@ -1,6 +1,14 @@
|
||||||
const wsapi = {
|
const wsapi = {
|
||||||
cache: {playParams: {id: 0}, status: null, remainingTime: 0},
|
cache: {playParams: {id: 0}, status: null, remainingTime: 0},
|
||||||
playbackCache: {status: null, time: Date.now()},
|
playbackCache: {status: null, time: Date.now()},
|
||||||
|
async v3(encoded = "") {
|
||||||
|
let decoded = atob(encoded);
|
||||||
|
let json = JSON.parse(decoded);
|
||||||
|
console.log(json)
|
||||||
|
let response = await (await MusicKit.getInstance().api.v3.music(json.route, json.body, json.options))
|
||||||
|
let ret = response.data
|
||||||
|
return JSON.stringify(ret)
|
||||||
|
},
|
||||||
search(term, limit) {
|
search(term, limit) {
|
||||||
MusicKit.getInstance().api.search(term, {limit: limit, types: 'songs,artists,albums,playlists'}).then((results)=>{
|
MusicKit.getInstance().api.search(term, {limit: limit, types: 'songs,artists,albums,playlists'}).then((results)=>{
|
||||||
ipcRenderer.send('wsapi-returnSearch', JSON.stringify(results))
|
ipcRenderer.send('wsapi-returnSearch', JSON.stringify(results))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue