This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -637,15 +647,15 @@ the “copyright” line and a pointer to where the full notice is found.
Also add information on how to contact you by electronic and paper mail.
-If your software can interact with users remotely through a computer
+ If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
-interface could display a “Source” link that leads users to an archive
+interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
-You should also get your employer (if you work as a programmer) or school,
-if any, to sign a “copyright disclaimer” for the program, if necessary.
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
-<>.
\ No newline at end of file
+.
\ No newline at end of file
diff --git a/src/main/base/store.ts b/src/main/base/store.ts
index a62ac282..b2f53d9f 100644
--- a/src/main/base/store.ts
+++ b/src/main/base/store.ts
@@ -55,6 +55,7 @@ export class ConfigStore {
}
},
"equalizer": {
+ 'preset': "default",
'frequencies': [32, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000],
'gain': [0,0,0,0,0,0,0,0,0,0],
'Q' : [1,1,1,1,1,1,1,1,1,1],
diff --git a/src/main/plugins/discordrpc.ts b/src/main/plugins/discordrpc.ts
index cc112db2..fb76643d 100644
--- a/src/main/plugins/discordrpc.ts
+++ b/src/main/plugins/discordrpc.ts
@@ -102,8 +102,8 @@ export default class DiscordRichPresence {
return;
}
const listenURL = `https://cider.sh/p?s&id=${attributes.playParams.id}` // cider://play/s/[id] (for song)
- let AMWebURL = `https://music.apple.com/${attributes.storefrontId}/song/${attributes.playParams.catalogId || attributes.playParams.id}`
- console.log("AMWeb URL: ", AMWebURL);
+ const amURL = `https://music.apple.com/${attributes.storefrontId}/song/${attributes.playParams.catalogId || attributes.playParams.id}`;
+ console.log("DiscordRPC URL: ", amURL);
this._activity = {
details: attributes.name,
state: `${attributes.artistName ? `by ${attributes.artistName}` : ''}`,
@@ -115,7 +115,7 @@ export default class DiscordRichPresence {
buttons: [
{label: "Listen on Cider", url: listenURL},
- {label: "Open In Apple Music", url: AMWebURL},
+ {label: "View on Apple Music", url: amURL},
]
};
diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js
index 79851511..948a4d7a 100644
--- a/src/renderer/audio/audio.js
+++ b/src/renderer/audio/audio.js
@@ -106,7 +106,6 @@ var CiderAudio = {
let Q = app.cfg.audio.equalizer.Q;
CiderAudio.audioNodes.audioBands = [];
-
for (i = 0; i < BANDS.length; i++) {
CiderAudio.audioNodes.audioBands[i] = CiderAudio.context.createBiquadFilter();
CiderAudio.audioNodes.audioBands[i].type = 'peaking'; // 'peaking';
diff --git a/src/renderer/index.js b/src/renderer/index.js
index 7e7a5ded..6186c9dd 100644
--- a/src/renderer/index.js
+++ b/src/renderer/index.js
@@ -686,12 +686,7 @@ const app = new Vue({
app.mk.play()
})
} else {
- let data = MusicKit.formattedMediaURL(id);
- if (data != null && data.contentId != null && data.kind != null){
- self.mk.setQueue({[data.kind]: data.contentId}).then(() => {
- app.mk.play()
- })
- }
+ app.openAppleMusicURL(id)
}
});
diff --git a/src/renderer/views/components/equalizer.ejs b/src/renderer/views/components/equalizer.ejs
index ee20e848..1bba8519 100644
--- a/src/renderer/views/components/equalizer.ejs
+++ b/src/renderer/views/components/equalizer.ejs
@@ -4,6 +4,20 @@
@@ -139,7 +153,162 @@
this.changeFreq(i)
this.changeQ(i)
}
- }
+ },
+
+ changePreset() {
+
+ switch (app.cfg.audio.equalizer.preset) {
+
+ case "default":
+ this.app.cfg.audio.equalizer = {
+ 'preset': 'default',
+ 'frequencies': [32, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000],
+ 'gain': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ 'Q': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
+ 'preamp': 0,
+ 'mix': 1,
+ }
+ for (var i = 0; i < 10; i++) {
+ this.changeGain(i)
+ this.changeFreq(i)
+ this.changeQ(i)}
+ break;
+
+ case "boostBrightness":
+ this.app.cfg.audio.equalizer = {
+ 'preset': 'boostBrightness',
+ 'frequencies': [32, 63, 125, 250, 466, 1000, 2000, 4000, 8000, 20000],
+ 'gain': [0, 0, 0, 0, -2, 0, 0, 0, 0, 10],
+ 'Q': [1, 1, 1, 1, 0.6, 1, 1, 1, 1, 0.1],
+ 'preamp': 0,
+ 'mix': 1,
+ }
+ for (var i = 0; i < 10; i++) {
+ this.changeGain(i)
+ this.changeFreq(i)
+ this.changeQ(i)}
+ break;
+
+ case "warmth":
+ this.app.cfg.audio.equalizer = {
+ 'preset': 'warmth',
+ 'frequencies': [32, 75, 125, 197, 500, 1000, 2000, 3040, 8000, 16000],
+ 'gain': [0, 2.1, 0, 0.8, 0, 0, 0, -1.5, 0, 0],
+ 'Q': [1, 0.7, 1, 1.5, 1, 1, 1, 2, 1, 1],
+ 'preamp': 0,
+ 'mix': 1,
+ }
+ for (var i = 0; i < 10; i++) {
+ this.changeGain(i)
+ this.changeFreq(i)
+ this.changeQ(i)}
+ break;
+
+ case "acoustic":
+ this.app.cfg.audio.equalizer = {
+ 'preset': 'acoustic',
+ 'frequencies': [32, 75, 125, 220, 700, 1000, 2000, 4000, 10000, 16000],
+ 'gain': [0, -8, 0, -0.1, -3, 0, 0, 0, 4, 0],
+ 'Q': [1, 0.2, 1, 2.0, 1.4, 1, 1, 1, 0.1, 1],
+ 'preamp': 0,
+ 'mix': 1,
+ }
+ for (var i = 0; i < 10; i++) {
+ this.changeGain(i)
+ this.changeFreq(i)
+ this.changeQ(i)}
+ break;
+
+ case "clearVocal":
+ this.app.cfg.audio.equalizer = {
+ 'preset': 'clearVocal',
+ 'frequencies': [20, 63, 125, 250, 400, 1000, 2000, 4000, 8000, 20000],
+ 'gain': [-22, 0, 0, 0, -3, 0, 1.8, 0, 0, 3.5],
+ 'Q': [0.3, 1, 1, 1, 2.0, 1, 0.7, 1, 1, 0.8],
+ 'preamp': 0,
+ 'mix': 1,
+ }
+ for (var i = 0; i < 10; i++) {
+ this.changeGain(i)
+ this.changeFreq(i)
+ this.changeQ(i)}
+ break;
+
+ case "instrumentClarity":
+ this.app.cfg.audio.equalizer = {
+ 'preset': 'instrumentClarity',
+ 'frequencies': [20, 63, 155, 250, 500, 1000, 2000, 5000, 11000, 16000],
+ 'gain': [-15, 0, -3, 0, 0, 0, 0, 3.1, 0, 0],
+ 'Q': [0.5, 1, 2, 1, 1, 1, 1, 1.5, 0.1, 1],
+ 'preamp': 0,
+ 'mix': 1,
+ }
+ for (var i = 0; i < 10; i++) {
+ this.changeGain(i)
+ this.changeFreq(i)
+ this.changeQ(i)}
+ break;
+
+ case "smileyFace":
+ this.app.cfg.audio.equalizer = {
+ 'preset': 'smileyFace',
+ 'frequencies': [35, 63, 125, 250, 500, 800, 2000, 4000, 8000, 20000],
+ 'gain': [5, 0, 0, 0, 0, -5, 0, 0, 0, 5],
+ 'Q': [0.1, 1, 1, 1, 1, 0.6, 1, 1, 1, 0.2],
+ 'preamp': 0,
+ 'mix': 1,
+ }
+ for (var i = 0; i < 10; i++) {
+ this.changeGain(i)
+ this.changeFreq(i)
+ this.changeQ(i)}
+ break;
+
+ case "reduceHarshness":
+ this.app.cfg.audio.equalizer = {
+ 'preset': 'reduceHarshness',
+ 'frequencies': [32, 63, 125, 250, 500, 1128, 2000, 4057, 8000, 16000],
+ 'gain': [0, 0, 0, 0, 0, 2, 0, -6.4, 0, 0],
+ 'Q': [1, 1, 1, 1, 1, 2, 1, 1, 1, 1],
+ 'preamp': 0,
+ 'mix': 1,
+ }
+ for (var i = 0; i < 10; i++) {
+ this.changeGain(i)
+ this.changeFreq(i)
+ this.changeQ(i)}
+ break;
+
+ case "tightPerc":
+ this.app.cfg.audio.equalizer = {
+ 'preset': 'tightPerc',
+ 'frequencies': [20, 63, 125, 250, 402, 1000, 1677, 3000, 8000, 11000],
+ 'gain': [-6.5, 0, 0, 0, -4.5, 0, -1.5, 3, 0, 0.1],
+ 'Q': [0.8, 1, 1, 1, 6, 1, 0.8, 0.8, 1, 1],
+ 'preamp': 0,
+ 'mix': 1,
+ }
+ for (var i = 0; i < 10; i++) {
+ this.changeGain(i)
+ this.changeFreq(i)
+ this.changeQ(i)}
+ break;
+ case "Maikiwi":
+ this.app.cfg.audio.equalizer = {
+ 'preset': 'Maikiwi',
+ 'frequencies': [20, 63, 160, 250, 500, 1000, 2000, 3500, 8000, 20000],
+ 'gain': [1.5, 0, -0.7, 0, 0, 0, 0, 0.5, 0, 1.2],
+ 'Q': [0.4, 1, 2.9, 1, 1, 1, 1, 1.5, 1, 0.1],
+ 'preamp': 0,
+ 'mix': 1.2,
+ }
+ for (var i = 0; i < 10; i++) {
+ this.changeGain(i)
+ this.changeFreq(i)
+ this.changeQ(i)}
+ break;
+ }
+
}
- });
+ }});
\ No newline at end of file