mirror of
https://github.com/Mastermindzh/tidal-hifi.git
synced 2024-11-22 21:42:46 +01:00
feat: Added a channel selector so we can now use Tidal's staging environment directly from the app
This commit is contained in:
parent
9dc7267a4d
commit
45f8c13c5b
@ -10,6 +10,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Updated most dependency versions
|
- Updated most dependency versions
|
||||||
- This includes Electron 31!
|
- This includes Electron 31!
|
||||||
|
|
||||||
|
- Added a channel selector so we can now use Tidal's staging environment directly from the app
|
||||||
|
- implements [#437](https://github.com/Mastermindzh/tidal-hifi/issues/437)
|
||||||
|
|
||||||
## [5.14.1]
|
## [5.14.1]
|
||||||
|
|
||||||
- Fixed `getAlbumName` not finding album name whilst on queue page
|
- Fixed `getAlbumName` not finding album name whilst on queue page
|
||||||
|
@ -10,6 +10,10 @@
|
|||||||
*/
|
*/
|
||||||
export const settings = {
|
export const settings = {
|
||||||
adBlock: "adBlock",
|
adBlock: "adBlock",
|
||||||
|
advanced: {
|
||||||
|
root: "advanced",
|
||||||
|
tidalUrl: "advanced.tidalUrl",
|
||||||
|
},
|
||||||
api: "api",
|
api: "api",
|
||||||
apiSettings: {
|
apiSettings: {
|
||||||
root: "apiSettings",
|
root: "apiSettings",
|
||||||
|
@ -48,6 +48,9 @@ export class ListenBrainz {
|
|||||||
} else {
|
} else {
|
||||||
// Fetches the oldData required for scrobbling and proceeds to construct a playing_now data payload for the Playing Now area
|
// Fetches the oldData required for scrobbling and proceeds to construct a playing_now data payload for the Playing Now area
|
||||||
const oldData = ListenBrainzStore.get(ListenBrainzConstants.oldData) as StoreData;
|
const oldData = ListenBrainzStore.get(ListenBrainzConstants.oldData) as StoreData;
|
||||||
|
const tidalUrl =
|
||||||
|
settingsStore.get<string, string>(settings.advanced.tidalUrl) ||
|
||||||
|
"https://listen.tidal.com";
|
||||||
const playing_data = {
|
const playing_data = {
|
||||||
listen_type: "playing_now",
|
listen_type: "playing_now",
|
||||||
payload: [
|
payload: [
|
||||||
@ -95,7 +98,7 @@ export class ListenBrainz {
|
|||||||
additional_info: {
|
additional_info: {
|
||||||
media_player: "Tidal Hi-Fi",
|
media_player: "Tidal Hi-Fi",
|
||||||
submission_client: "Tidal Hi-Fi",
|
submission_client: "Tidal Hi-Fi",
|
||||||
music_service: "listen.tidal.com",
|
music_service: tidalUrl,
|
||||||
duration: oldData.duration,
|
duration: oldData.duration,
|
||||||
},
|
},
|
||||||
artist_name: oldData.artists,
|
artist_name: oldData.artists,
|
||||||
|
@ -24,7 +24,6 @@ import {
|
|||||||
showSettingsWindow,
|
showSettingsWindow,
|
||||||
} from "./scripts/settings";
|
} from "./scripts/settings";
|
||||||
import { addTray, refreshTray } from "./scripts/tray";
|
import { addTray, refreshTray } from "./scripts/tray";
|
||||||
const tidalUrl = "https://listen.tidal.com";
|
|
||||||
let mainInhibitorId = -1;
|
let mainInhibitorId = -1;
|
||||||
|
|
||||||
initialize();
|
initialize();
|
||||||
@ -40,6 +39,9 @@ const windowPreferences = {
|
|||||||
setDefaultFlags(app);
|
setDefaultFlags(app);
|
||||||
setManagedFlagsFromSettings(app);
|
setManagedFlagsFromSettings(app);
|
||||||
|
|
||||||
|
const tidalUrl =
|
||||||
|
settingsStore.get<string, string>(settings.advanced.tidalUrl) || "https://listen.tidal.com";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the menuBarVisibility according to the store value
|
* Update the menuBarVisibility according to the store value
|
||||||
*
|
*
|
||||||
|
@ -29,6 +29,7 @@ const switchesWithSettings = {
|
|||||||
|
|
||||||
let adBlock: HTMLInputElement,
|
let adBlock: HTMLInputElement,
|
||||||
api: HTMLInputElement,
|
api: HTMLInputElement,
|
||||||
|
channel: HTMLSelectElement,
|
||||||
customCSS: HTMLInputElement,
|
customCSS: HTMLInputElement,
|
||||||
disableBackgroundThrottle: HTMLInputElement,
|
disableBackgroundThrottle: HTMLInputElement,
|
||||||
disableHardwareMediaKeys: HTMLInputElement,
|
disableHardwareMediaKeys: HTMLInputElement,
|
||||||
@ -121,6 +122,7 @@ function refreshSettings() {
|
|||||||
try {
|
try {
|
||||||
adBlock.checked = settingsStore.get(settings.adBlock);
|
adBlock.checked = settingsStore.get(settings.adBlock);
|
||||||
api.checked = settingsStore.get(settings.api);
|
api.checked = settingsStore.get(settings.api);
|
||||||
|
channel.value = settingsStore.get(settings.advanced.tidalUrl);
|
||||||
customCSS.value = settingsStore.get<string, string[]>(settings.customCSS).join("\n");
|
customCSS.value = settingsStore.get<string, string[]>(settings.customCSS).join("\n");
|
||||||
disableBackgroundThrottle.checked = settingsStore.get(settings.disableBackgroundThrottle);
|
disableBackgroundThrottle.checked = settingsStore.get(settings.disableBackgroundThrottle);
|
||||||
disableHardwareMediaKeys.checked = settingsStore.get(settings.flags.disableHardwareMediaKeys);
|
disableHardwareMediaKeys.checked = settingsStore.get(settings.flags.disableHardwareMediaKeys);
|
||||||
@ -238,6 +240,7 @@ window.addEventListener("DOMContentLoaded", () => {
|
|||||||
|
|
||||||
adBlock = get("adBlock");
|
adBlock = get("adBlock");
|
||||||
api = get("apiCheckbox");
|
api = get("apiCheckbox");
|
||||||
|
channel = get<HTMLSelectElement>("channel");
|
||||||
customCSS = get("customCSS");
|
customCSS = get("customCSS");
|
||||||
disableBackgroundThrottle = get("disableBackgroundThrottle");
|
disableBackgroundThrottle = get("disableBackgroundThrottle");
|
||||||
disableHardwareMediaKeys = get("disableHardwareMediaKeys");
|
disableHardwareMediaKeys = get("disableHardwareMediaKeys");
|
||||||
@ -272,6 +275,7 @@ window.addEventListener("DOMContentLoaded", () => {
|
|||||||
refreshSettings();
|
refreshSettings();
|
||||||
addInputListener(adBlock, settings.adBlock);
|
addInputListener(adBlock, settings.adBlock);
|
||||||
addInputListener(api, settings.api);
|
addInputListener(api, settings.api);
|
||||||
|
addSelectListener(channel, settings.advanced.tidalUrl);
|
||||||
addTextAreaListener(customCSS, settings.customCSS);
|
addTextAreaListener(customCSS, settings.customCSS);
|
||||||
addInputListener(disableBackgroundThrottle, settings.disableBackgroundThrottle);
|
addInputListener(disableBackgroundThrottle, settings.disableBackgroundThrottle);
|
||||||
addInputListener(disableHardwareMediaKeys, settings.flags.disableHardwareMediaKeys);
|
addInputListener(disableHardwareMediaKeys, settings.flags.disableHardwareMediaKeys);
|
||||||
|
@ -338,6 +338,20 @@
|
|||||||
<input id="updateFrequency" type="number" class="text-input" name="updateFrequency" />
|
<input id="updateFrequency" type="number" class="text-input" name="updateFrequency" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="group__option">
|
||||||
|
<div class="group__description">
|
||||||
|
<h4>Tidal channel / URL</h4>
|
||||||
|
<p>
|
||||||
|
Which URL Tidal Hi-Fi should use.
|
||||||
|
<strong>note! Beta might break at any time</strong>
|
||||||
|
</p>
|
||||||
|
<select class="select-input" id="channel" name="channel">
|
||||||
|
<option value="https://listen.tidal.com">Stable (listen.tidal.com)</option>
|
||||||
|
<option value="https://listen.stage.tidal.com">Staging (listen.stage.tidal.com)</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="group">
|
<div class="group">
|
||||||
<p class="group__title">Flags</p>
|
<p class="group__title">Flags</p>
|
||||||
|
@ -28,6 +28,9 @@ const buildMigration = (
|
|||||||
export const settingsStore = new Store({
|
export const settingsStore = new Store({
|
||||||
defaults: {
|
defaults: {
|
||||||
adBlock: false,
|
adBlock: false,
|
||||||
|
advanced: {
|
||||||
|
tidalUrl: "https://listen.tidal.com",
|
||||||
|
},
|
||||||
api: true,
|
api: true,
|
||||||
apiSettings: {
|
apiSettings: {
|
||||||
port: 47836,
|
port: 47836,
|
||||||
@ -107,6 +110,11 @@ export const settingsStore = new Store({
|
|||||||
{ key: settings.apiSettings.hostname, value: "127.0.0.1" },
|
{ key: settings.apiSettings.hostname, value: "127.0.0.1" },
|
||||||
]);
|
]);
|
||||||
},
|
},
|
||||||
|
"5.15.0": (migrationStore) => {
|
||||||
|
buildMigration("5.15.0", migrationStore, [
|
||||||
|
{ key: settings.advanced.tidalUrl, value: "https://listen.tidal.com" },
|
||||||
|
]);
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user