-
+
-
+
-
+
-
-
+
<%- include('../svg/chevron-right.svg') %>
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
-
-
-
+ :title="$root.getLz('term.stop')" v-b-tooltip.hover>
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
{{ mk.nowPlayingItem["attributes"]["name"] }}
-
+
{{ mk.nowPlayingItem["attributes"]["artistName"] }}
-
+
{{
- mk.nowPlayingItem["attributes"]["albumName"]
- ? mk.nowPlayingItem["attributes"]["albumName"]
- : ""
+ mk.nowPlayingItem["attributes"]["albumName"]
+ ? mk.nowPlayingItem["attributes"]["albumName"]
+ : ""
}}
-
+
{{ $root.getLz("term.miniplayer") }}
-
+
{{ $root.getLz("term.fullscreenView") }}
@@ -219,183 +120,121 @@
-
- {{ mk.nowPlayingItem["attributes"]["name"] }}
-
-
-
-
+
+ {{ mk.nowPlayingItem["attributes"]["name"] }}
+
+
+
+
-
- {{ mk.nowPlayingItem["attributes"]["artistName"] }}
-
-
-
- {{ "—" }}
+ ">
+
+ {{ mk.nowPlayingItem["attributes"]["artistName"] }}
- {{
+
+
+ {{ "—" }}
+
+ {{
mk.nowPlayingItem["attributes"]["albumName"]
- ? mk.nowPlayingItem["attributes"]["albumName"]
- : ""
- }}
+ ? mk.nowPlayingItem["attributes"]["albumName"]
+ : ""
+ }}
+
-
-
+
{{ convertTime(getSongProgress()) }}
{{ convertTime(mk.currentPlaybackDuration) }}
-
{playerLCD.desiredDuration = 0;playerLCD.userInteraction = false}, 1000);"
@touchend="mk.seekToTime($event.target.value);setTimeout(()=>{playerLCD.desiredDuration = 0;playerLCD.userInteraction = false}, 1000);"
- :max="mk.currentPlaybackDuration"
- :value="getSongProgress()"
- />
+ :max="mk.currentPlaybackDuration" :value="getSongProgress()" />
-
+
+
+
-
-
+ :title="cfg.audio.muted ? $root.getLz('term.unmute') : $root.getLz('term.mute')" v-b-tooltip.hover>
+
-
+ v-b-tooltip.hover>
-
+
-
+
-
+
@@ -403,31 +242,16 @@
\ No newline at end of file
diff --git a/src/renderer/views/app/panels.ejs b/src/renderer/views/app/panels.ejs
index a9bc17b5..972d0546 100644
--- a/src/renderer/views/app/panels.ejs
+++ b/src/renderer/views/app/panels.ejs
@@ -13,9 +13,6 @@
-
-
-
diff --git a/src/renderer/views/app/sidebar.ejs b/src/renderer/views/app/sidebar.ejs
index f25539b9..8d30c9dd 100644
--- a/src/renderer/views/app/sidebar.ejs
+++ b/src/renderer/views/app/sidebar.ejs
@@ -183,136 +183,6 @@
-
-
-
-
-
-
+
+
+
@@ -373,6 +240,7 @@
class="playback-button--small repeat"
v-if="mk.repeatMode == 0"
@click="mk.repeatMode = 1"
+ :class="$root.isDisabled() && 'disabled'"
:title="$root.getLz('term.enableRepeatOne')"
v-b-tooltip.hover
>
@@ -381,6 +249,7 @@
@click="mk.repeatMode = 2"
v-else-if="mk.repeatMode == 1"
:title="$root.getLz('term.disableRepeatOne')"
+ :class="$root.isDisabled() && 'disabled'"
v-b-tooltip.hover
>
diff --git a/src/renderer/views/components/artist-chip.ejs b/src/renderer/views/components/artist-chip.ejs
index 9c2d884b..eed505fc 100644
--- a/src/renderer/views/components/artist-chip.ejs
+++ b/src/renderer/views/components/artist-chip.ejs
@@ -1,13 +1,15 @@
@@ -21,6 +23,7 @@
},
data: function() {
return {
+ image: false,
artist: {
id: null
}
@@ -34,6 +37,7 @@
}
app.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/artists/${artistId}`).then(response => {
this.artist = response.data.data[0];
+ this.image = true;
});
},
methods: {
diff --git a/src/renderer/views/components/artwork-material.ejs b/src/renderer/views/components/artwork-material.ejs
index 3cfe9891..9eae3e7c 100644
--- a/src/renderer/views/components/artwork-material.ejs
+++ b/src/renderer/views/components/artwork-material.ejs
@@ -1,6 +1,6 @@
diff --git a/src/renderer/views/components/audio-controls.ejs b/src/renderer/views/components/audio-controls.ejs
index 497f578a..e82ec798 100644
--- a/src/renderer/views/components/audio-controls.ejs
+++ b/src/renderer/views/components/audio-controls.ejs
@@ -35,6 +35,16 @@
v-model="maxVolume"/>
+
+
+ {{$root.getLz('settings.option.audio.advanced')}}
+
+
+
+
+
diff --git a/src/renderer/views/components/equalizer.ejs b/src/renderer/views/components/equalizer.ejs
index d915b0d1..64acca69 100644
--- a/src/renderer/views/components/equalizer.ejs
+++ b/src/renderer/views/components/equalizer.ejs
@@ -298,7 +298,7 @@
try {
for (var i = 0; i < 21; i++) {
CiderAudio.audioNodes.vibrantbassNode[i].gain.value = app.cfg.audio.maikiwiAudio.vibrantBass.gain[i] * (app.cfg.audio.equalizer.vibrantBass / 10);
- } CiderAudio.intelliGainComp_h0_0();
+ } CiderAudio.intelliGainComp_n0_0();
}
catch (e) {
CiderAudio.hierarchical_loading();
@@ -315,7 +315,7 @@
for (var i = 0; i < 10; i++) {
CiderAudio.audioNodes.audioBands[i].gain.value = app.cfg.audio.equalizer.gain[i] * app.cfg.audio.equalizer.mix
}
- CiderAudio.intelliGainComp_h0_0();
+ CiderAudio.intelliGainComp_n0_0();
} catch (e) { CiderAudio.hierarchical_loading(); }
}
},
@@ -323,7 +323,7 @@
if (Math.max(...app.cfg.audio.equalizer.gain) != 0) {
try {
CiderAudio.audioNodes.audioBands[i].gain.value = app.cfg.audio.equalizer.gain[i] * app.cfg.audio.equalizer.mix
- CiderAudio.intelliGainComp_h0_0();
+ CiderAudio.intelliGainComp_n0_0();
}
catch (e) { CiderAudio.hierarchical_loading(); }
}
@@ -413,7 +413,7 @@
CiderAudio.audioNodes.audioBands[i].frequency.value = app.cfg.audio.equalizer.frequencies[i]
CiderAudio.audioNodes.audioBands[i].Q.value = app.cfg.audio.equalizer.Q[i]
}
- CiderAudio.intelliGainComp_h0_0();
+ CiderAudio.intelliGainComp_n0_0();
},
changePreset(id) {
let userPresets = app.cfg.audio.equalizer.presets
diff --git a/src/renderer/views/components/fullscreen.ejs b/src/renderer/views/components/fullscreen.ejs
index 658fdc2b..ee7f7ed2 100644
--- a/src/renderer/views/components/fullscreen.ejs
+++ b/src/renderer/views/components/fullscreen.ejs
@@ -14,7 +14,9 @@
@@ -52,39 +54,40 @@
- {{app.getLz('term.seeAll')}}
+ {{app.getLz('term.seeAll')}}
-
+
@@ -39,6 +39,10 @@
visibilityChanged: function (isVisible, entry) {
// this.isVisible = isVisible
},
+ showCollection: function (recom) {
+ console.debug(recom)
+ app.showCollection(recom.relationships.contents, recom.attributes.title ? recom.attributes.title.stringForDisplay : '', 'listen_now')
+ }
}
})
\ No newline at end of file
diff --git a/src/renderer/views/components/mediaitem-artwork.ejs b/src/renderer/views/components/mediaitem-artwork.ejs
index 7fa4ea0d..a58a2590 100644
--- a/src/renderer/views/components/mediaitem-artwork.ejs
+++ b/src/renderer/views/components/mediaitem-artwork.ejs
@@ -1,9 +1,10 @@
diff --git a/src/renderer/views/components/mediaitem-square.ejs b/src/renderer/views/components/mediaitem-square.ejs
index b059aed1..3ace5791 100644
--- a/src/renderer/views/components/mediaitem-square.ejs
+++ b/src/renderer/views/components/mediaitem-square.ejs
@@ -8,8 +8,7 @@
{{item?.meta?.reason?.stringForDisplay ?? ''}}
@@ -88,6 +87,11 @@
default: false,
required: false
},
+ noScale: {
+ type: Boolean,
+ default: false,
+ required: false
+ },
'contextExt': { type: Object, required: false },
},
data: function () {
@@ -252,6 +256,10 @@
},
getClasses() {
let type = []
+ let classes = []
+ if(this.noScale) {
+ classes.push("noscale")
+ }
try {
type = this.item.type
@@ -264,25 +272,26 @@
}
switch (type) {
default:
- return []
+
break;
case "editorial-elements":
case "card":
- return ["mediaitem-card"]
+ classes.push("mediaitem-card")
break;
case "385": // editorial
- return ["mediaitem-brick"]
+ classes.push("mediaitem-brick")
break;
case "small":
- return ["mediaitem-small"]
+ classes.push("mediaitem-small")
break;
case "music-videos":
case "uploadedVideo":
case "uploaded-videos":
case "library-music-videos":
- return "mediaitem-video";
+ classes.push("mediaitem-video")
break;
}
+ return classes
},
visibilityChanged: function (isVisible, entry) {
this.isVisible = isVisible
@@ -534,19 +543,16 @@
let followActions = {
follow: {
icon: "./assets/feather/plus-circle.svg",
- name: app.getLz('action.follow'),
+ name: app.getLz('action.favorite'),
action: () => {
- self.app.cfg.home.followedArtists.push(this.item.id)
+ self.$root.setArtistFavorite(this.item.id, true)
}
},
unfollow: {
icon: "./assets/feather/x-circle.svg",
- name: app.getLz('action.unfollow'),
+ name: app.getLz('action.removeFavorite'),
action: () => {
- let index = self.app.cfg.home.followedArtists.indexOf(this.item.id)
- if (index > -1) {
- self.app.cfg.home.followedArtists.splice(index, 1)
- }
+ self.$root.setArtistFavorite(this.item.id, false)
}
}
}
diff --git a/src/renderer/views/components/miniplayer.ejs b/src/renderer/views/components/miniplayer.ejs
index a073e493..66c712d7 100644
--- a/src/renderer/views/components/miniplayer.ejs
+++ b/src/renderer/views/components/miniplayer.ejs
@@ -66,30 +66,40 @@
+
{{app.getLz('home.syncFavorites')}}
+
{{app.getLz('term.seeAll')}}
@@ -113,7 +115,8 @@
page: "main",
sectionsReady: [],
year: new Date().getFullYear(),
- seenReplay: localStorage.getItem('seenReplay')
+ seenReplay: localStorage.getItem('seenReplay'),
+ syncingFavs: false
}
},
async mounted() {
@@ -128,6 +131,12 @@
}
},
methods: {
+ async syncFavorites() {
+ this.syncingFavs = true
+ await app.syncFavorites()
+ await this.getArtistFeed()
+ this.syncingFavs = false
+ },
async seeAllRecentlyPlayed() {
let hist = await app.mk.api.v3.music(`/v1/me/recent/played`, {
l: this.$root.mklang,
@@ -188,7 +197,7 @@
async getArtistFeed() {
let artists = this.followedArtists
let self = this
-
+ this.artistFeed = []
let chunks = []
for (let artistIdx = 0; artistIdx < artists.length; artistIdx += 50) {
chunks.push(artists.slice(artistIdx, artistIdx + 50));
diff --git a/src/renderer/views/pages/installed-themes.ejs b/src/renderer/views/pages/installed-themes.ejs
index 487a1baa..6a4b2563 100644
--- a/src/renderer/views/pages/installed-themes.ejs
+++ b/src/renderer/views/pages/installed-themes.ejs
@@ -226,10 +226,10 @@
name: "Reduce Visuals",
file: "reduce_visuals.less"
})
- themes.unshift({
- name: "Inline Drawer",
- file: "inline_drawer.less"
- })
+ // themes.unshift({
+ // name: "Inline Drawer",
+ // file: "inline_drawer.less"
+ // })
themes.unshift({
name: "Dark",
file: "dark.less"
diff --git a/src/renderer/views/pages/keybinds.ejs b/src/renderer/views/pages/keybinds.ejs
index fb03f52b..e0e24acf 100644
--- a/src/renderer/views/pages/keybinds.ejs
+++ b/src/renderer/views/pages/keybinds.ejs
@@ -170,6 +170,11 @@
Vue.component('keybinds-settings', {
template: "#keybinds-settings",
props: [],
+ data: function () {
+ return {
+ app: this.$root
+ }
+ },
methods: {
keyBindUpdate: function (action) {
const blur = document.createElement('div');
@@ -230,14 +235,14 @@
app.cfg.general.keybindings.browse = [app.platform == "darwin" ? "Command" : "Control", "B"];
app.cfg.general.keybindings.recentAdd = [app.platform == "darwin" ? "Command" : "Control", "G"];
app.cfg.general.keybindings.songs = [app.platform == "darwin" ? "Command" : "Control", "J"];
- app.cfg.general.keybindings.albums = [app.platform == "darwin" ? "Command" : "Control", "S"];
+ app.cfg.general.keybindings.albums = [app.platform == "darwin" ? "Command" : "Control", "A"];
app.cfg.general.keybindings.artists = [app.platform == "darwin" ? "Command" : "Control", "D"];
app.cfg.general.keybindings.togglePrivateSession = [app.platform == "darwin" ? "Command" : "Control", "P"];
- app.cfg.general.keybindings.webRemote = [app.platform == "darwin" ? "Command" : "Control", "W"];
- app.cfg.general.keybindings.audioSettings = [app.platform == "darwin" ? "Option" : "Alt", "A"];
- app.cfg.general.keybindings.pluginMenu = [app.platform == "darwin" ? "Option" : "Alt", "P"];
- app.cfg.general.keybindings.castToDevices = [app.platform == "darwin" ? "Option" : "Alt", "C"];
- app.cfg.general.keybindings.settings = [app.platform == "darwin" ? "Option" : "Alt", "S"];
+ app.cfg.general.keybindings.webRemote = [app.platform == "darwin" ? "Command" : "Control",app.platform == "darwin" ? "Option" : (app.platform == "linux" ? "Shift" : "Alt"), "W"];
+ app.cfg.general.keybindings.audioSettings = [app.platform == "darwin" ? "Command" : "Control",app.platform == "darwin" ? "Option" : (app.platform == "linux" ? "Shift" : "Alt"), "A"];
+ app.cfg.general.keybindings.pluginMenu = [app.platform == "darwin" ? "Command" : "Control",app.platform == "darwin" ? "Option" : (app.platform == "linux" ? "Shift" : "Alt"), "P"];
+ app.cfg.general.keybindings.castToDevices = [app.platform == "darwin" ? "Command" : "Control",app.platform == "darwin" ? "Option" : (app.platform == "linux" ? "Shift" : "Alt"), "C"];
+ app.cfg.general.keybindings.settings = [app.platform == "darwin" ? "Command" : "Control", ","];
app.cfg.general.keybindings.openDeveloperTools = [app.platform == "darwin" ? "Command" : "Control", app.platform == "darwin" ? "Option" : "Shift", "I"];
notyf.success(app.getLz('settings.notyf.general.keybindings.update.success'));
bootbox.confirm(app.getLz("settings.prompt.general.keybindings.update.success"), (ok) => {
diff --git a/src/renderer/views/pages/library-recentlyadded.ejs b/src/renderer/views/pages/library-recentlyadded.ejs
index df697eff..9f5b2151 100644
--- a/src/renderer/views/pages/library-recentlyadded.ejs
+++ b/src/renderer/views/pages/library-recentlyadded.ejs
@@ -1,58 +1,70 @@
-
+
+
+
diff --git a/src/renderer/views/pages/oobe.ejs b/src/renderer/views/pages/oobe.ejs
new file mode 100644
index 00000000..6647e251
--- /dev/null
+++ b/src/renderer/views/pages/oobe.ejs
@@ -0,0 +1,179 @@
+
+
\ No newline at end of file
diff --git a/src/renderer/views/pages/playlist-inline.ejs b/src/renderer/views/pages/playlist-inline.ejs
index b138e92f..f77a9a2e 100644
--- a/src/renderer/views/pages/playlist-inline.ejs
+++ b/src/renderer/views/pages/playlist-inline.ejs
@@ -539,7 +539,7 @@
icon: "./assets/feather/plus-circle.svg",
hidden: false,
action: () => {
- app.followArtistById(artistId, true)
+ app.setArtistFavorite(artistId, true)
}
},
"unfollow": {
@@ -547,7 +547,7 @@
icon: "./assets/feather/x-circle.svg",
hidden: true,
action: () => {
- app.followArtistById(artistId, false)
+ app.setArtistFavorite(artistId, false)
}
},
}
diff --git a/src/renderer/views/pages/plugins-github.ejs b/src/renderer/views/pages/plugins-github.ejs
index a07d8aa1..7d207ad3 100644
--- a/src/renderer/views/pages/plugins-github.ejs
+++ b/src/renderer/views/pages/plugins-github.ejs
@@ -176,7 +176,7 @@
redirect: 'follow'
};
- fetch("https://api.github.com/search/repositories?q=topic:cidermusicplugin fork:true", requestOptions)
+ fetch("https://api.github.com/search/repositories?q=topic:cidermusicplugin fork:true&per_page=100", requestOptions)
.then(response => response.text())
.then(result => {
self.repos = JSON.parse(result).items
@@ -185,4 +185,4 @@
}
}
})
-
\ No newline at end of file
+
diff --git a/src/renderer/views/pages/podcasts.ejs b/src/renderer/views/pages/podcasts.ejs
index 169a8b76..6fb60c4c 100644
--- a/src/renderer/views/pages/podcasts.ejs
+++ b/src/renderer/views/pages/podcasts.ejs
@@ -68,7 +68,7 @@
diff --git a/src/renderer/views/pages/replay.ejs b/src/renderer/views/pages/replay.ejs
index ba14dd64..be4f09c7 100644
--- a/src/renderer/views/pages/replay.ejs
+++ b/src/renderer/views/pages/replay.ejs
@@ -28,7 +28,7 @@
{{ loaded.attributes.uniqueSongCount }} {{$root.getLz('term.uniqueSongs')}}
-
+
diff --git a/src/renderer/views/pages/search.ejs b/src/renderer/views/pages/search.ejs
index 292f1a62..966404e8 100644
--- a/src/renderer/views/pages/search.ejs
+++ b/src/renderer/views/pages/search.ejs
@@ -1,82 +1,105 @@
@@ -1393,8 +1458,7 @@
if (app.cfg.audio.normalization === true) {
CiderAudio.normalizerOn()
}
- if (app.cfg.audio.spatial === true) {
- CiderAudio.spatialOn()
+ if (app.cfg.audio.maikiwiAudio.spatial === true) {
CiderAudio.hierarchical_loading();
}
}
@@ -1404,8 +1468,7 @@
if (app.cfg.audio.normalization === true) {
CiderAudio.normalizerOn()
}
- if (app.cfg.audio.spatial === true) {
- CiderAudio.spatialOn()
+ if (app.cfg.audio.maikiwiAudio.spatial === true) {
CiderAudio.hierarchical_loading();
}
}
@@ -1421,7 +1484,6 @@
}
},
changeAudioQuality: function () {
- 1
app.mk.bitrate = MusicKit.PlaybackBitrate[app.cfg.audio.quality];
},
toggleUserInfo: function () {
@@ -1455,6 +1517,9 @@
logoutCC() {
ipcRenderer.send('cc-logout')
},
+ reloadDiscordRPC() {
+ ipcRenderer.send('reloadRPC')
+ }
}
})
\ No newline at end of file
diff --git a/src/renderer/views/pages/themes-github.ejs b/src/renderer/views/pages/themes-github.ejs
index 635ba9d3..95635852 100644
--- a/src/renderer/views/pages/themes-github.ejs
+++ b/src/renderer/views/pages/themes-github.ejs
@@ -184,7 +184,7 @@
redirect: 'follow'
};
- fetch("https://api.github.com/search/repositories?q=topic:cidermusictheme fork:true", requestOptions)
+ fetch("https://api.github.com/search/repositories?q=topic:cidermusictheme fork:true&per_page=100", requestOptions)
.then(response => response.text())
.then(result => {
let items = JSON.parse(result).items
@@ -194,4 +194,4 @@
}
}
})
-
\ No newline at end of file
+
diff --git a/src/renderer/views/pages/zoo.ejs b/src/renderer/views/pages/zoo.ejs
index e36155e6..b8c955b7 100644
--- a/src/renderer/views/pages/zoo.ejs
+++ b/src/renderer/views/pages/zoo.ejs
@@ -9,6 +9,20 @@
v-if="artistLoaded"
:item="artist"
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+