Compare commits

...

2 Commits
1.3.0 ... 2.0.0

12 changed files with 85 additions and 57 deletions

View File

@@ -4,6 +4,17 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 2.0.0
### Breaking changes
- Changed settings hotkey from "ctrl+/" to "ctrl+=" to avoid a conflict with the default Tidal hotkeys
## Other changes
- Added a setting to disable custom hotkeys
- Fixed the bug that the previous song hotkey would register 3 times. (Twice due to a duplicate block of code + once from the default tidal hotkey)
## 1.3.0
-- re-enabled mpris-service wit the electron downloader fixes

View File

@@ -14,12 +14,18 @@ The web version of [listen.tidal.com](listen.tidal.com) running in electron with
- [Installation](#installation)
- [Using releases](#using-releases)
- [Snap install](#snap-install)
- [Arch Linux](#arch-linux)
- [Using source](#using-source)
- [features](#features)
- [Integrations](#integrations)
- [Known bugs](#known-bugs)
- [Why](#why)
- [Why not extend existing projects?](#why-not-extend-existing-projects)
- [Special thanks to..](#special-thanks-to)
- [Special thanks to...](#special-thanks-to)
- [Buy me a coffee? Please don't](#buy-me-a-coffee-please-dont)
- [Images](#images)
- [settings window](#settings-window)
- [user setups](#user-setups)
<!-- tocstop -->
@@ -66,9 +72,9 @@ To install and work with the code on this project follow these steps:
- HiFi playback
- Notifications
- Shortcuts ([source](https://defkey.com/tidal-desktop-shortcuts))
- Custom hotkeys ([source](https://defkey.com/tidal-desktop-shortcuts))
- API for status and playback
- [Settings feature](./docs/settings.png) to disable certain functionality. (`ctrl+/`)
- [Settings feature](./docs/settings.png) to disable certain functionality. (`ctrl+=`)
## Integrations
@@ -104,3 +110,14 @@ Sometimes it's just easier to start over, cover my own needs and then making it
Instead spend some money on a charity I care for: [kwf.nl](secure.kwf.nl/donation).
Inspired by [haydenjames' issue](https://github.com/Mastermindzh/tidal-hifi/issues/27#issuecomment-704198429)
## Images
### settings window
![settings window](./docs/settings-preview.png)
### user setups
Some of our users are kind enough to share their usage pictures.
If you want to see them or possibly even add one please do so in the following issue: [#3 - image thread](https://github.com/Mastermindzh/tidal-hifi/issues/3).

View File

@@ -1,6 +1,6 @@
pkgbase = tidal-hifi-git
pkgdesc = The web version of listen.tidal.com running in electron with hifi support thanks to widevine.
pkgver = 1.2.0
pkgver = 2.0.0
pkgrel = 1
url = https://github.com/Mastermindzh/tidal-hifi
arch = x86_64
@@ -11,7 +11,7 @@ pkgbase = tidal-hifi-git
depends = nss
depends = gtk3
provides = tidal-hifi
source = https://github.com/Mastermindzh/tidal-hifi/archive/1.2.0.zip
source = https://github.com/Mastermindzh/tidal-hifi/archive/2.0.0.zip
source = tidal-hifi.desktop
sha512sums = e1c0e47257cebe6b2609131964f0971c3eb70fc28c86f3d7177cb3cea09a3311236f4147bafa91347210fe2c96e6bd9d2e4ac7ca5b105e0c899657645705913d
sha512sums = 35f38ac308b871c1822d7f6f760f2fb54c3748cf769822cb0f0dfb90f0f5754ba9316da5e903a0d2e9839de3a43ec76f238f3f2e44021956fa1da19142081349

View File

@@ -2,7 +2,7 @@
_pkgname=tidal-hifi
pkgname="$_pkgname-git"
pkgver=1.2.0
pkgver=2.0.0
pkgrel=1
pkgdesc="The web version of listen.tidal.com running in electron with hifi support thanks to widevine."
arch=("x86_64")

BIN
docs/settings-preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 KiB

8
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "tidal-hifi",
"version": "1.3.0",
"version": "2.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -1732,9 +1732,9 @@
"dev": true
},
"ini": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true
},
"ipaddr.js": {

View File

@@ -1,6 +1,6 @@
{
"name": "tidal-hifi",
"version": "1.3.0",
"version": "2.0.0",
"description": "Tidal on Electron with widevine(hifi) support",
"main": "src/main.js",
"scripts": {

View File

@@ -18,6 +18,7 @@ const settings = {
port: "apiSettings.port",
},
mpris: "mpris",
enableCustomHotkeys: "enableCustomHotkeys",
trayIcon: "trayIcon",
windowBounds: {
root: "windowBounds",

View File

@@ -19,6 +19,7 @@ function refreshSettings() {
menuBar.checked = store.get(settings.menuBar);
trayIcon.checked = store.get(settings.trayIcon);
mpris.checked = store.get(settings.mpris);
enableCustomHotkeys.checked = store.get(settings.enableCustomHotkeys);
}
/**
@@ -79,6 +80,7 @@ window.addEventListener("DOMContentLoaded", () => {
menuBar = get("menuBar");
trayIcon = get("trayIcon");
mpris = get("mprisCheckbox");
enableCustomHotkeys = get("enableCustomHotkeys");
refreshSettings();
@@ -89,4 +91,5 @@ window.addEventListener("DOMContentLoaded", () => {
addInputListener(menuBar, settings.menuBar);
addInputListener(trayIcon, settings.trayIcon);
addInputListener(mpris, settings.mpris);
addInputListener(enableCustomHotkeys, settings.enableCustomHotkeys);
});

View File

@@ -80,6 +80,16 @@
<span class="slider round"></span>
</label>
</div>
<div class="option">
<h4>Hotkeys</h4>
<p>
Enables extra hotkeys to achieve feature parity with the <a href = "javascript:openExternal('https://defkey.com/tidal-desktop-shortcuts')">desktop apps</a><br />
</p>
<label class="switch">
<input id="enableCustomHotkeys" type="checkbox">
<span class="slider round"></span>
</label>
</div>
</div>
</section>
<section id="api" class="tab-panel">

View File

@@ -29,7 +29,7 @@ const elements = {
account: '*[data-test^="profile-image-button"]',
settings: '*[data-test^="open-settings"]',
media: '*[data-test="current-media-imagery"]',
image: '*[class^="image--"]',
image: "img",
/**
* Get an element from the dom
@@ -101,55 +101,38 @@ function playPause() {
* https://defkey.com/tidal-desktop-shortcuts
*/
function addHotKeys() {
hotkeys.add("Control+p", function () {
elements.click("account").click("settings");
});
hotkeys.add("Control+l", function () {
handleLogout();
});
if (store.get(settings.enableCustomHotkeys)) {
hotkeys.add("Control+p", function () {
elements.click("account").click("settings");
});
hotkeys.add("Control+l", function () {
handleLogout();
});
hotkeys.add("Control+h", function () {
elements.click("home");
});
hotkeys.add("Control+h", function () {
elements.click("home");
});
hotkeys.add("backspace", function () {
elements.click("back");
});
hotkeys.add("backspace", function () {
elements.click("back");
});
hotkeys.add("shift+backspace", function () {
elements.click("forward");
});
hotkeys.add("shift+backspace", function () {
elements.click("forward");
});
hotkeys.add("control+f", function () {
elements.focus("search");
});
hotkeys.add("control+u", function () {
// reloading window without cache should show the update bar if applicable
window.location.reload(true);
});
hotkeys.add("control+u", function () {
// reloading window without cache should show the update bar if applicable
window.location.reload(true);
});
hotkeys.add("control+r", function () {
elements.click("repeat");
});
}
hotkeys.add("control+left", function () {
elements.click("previous");
});
hotkeys.add("control+right", function () {
elements.click("next");
});
hotkeys.add("control+right", function () {
elements.click("next");
});
hotkeys.add("control+s", function () {
elements.click("shuffle");
});
hotkeys.add("control+r", function () {
elements.click("repeat");
});
hotkeys.add("control+/", function () {
// always add the hotkey for the settings window
hotkeys.add("control+=", function () {
ipcRenderer.send(globalEvents.showSettings);
});
}
@@ -264,11 +247,13 @@ setInterval(function () {
resolve();
},
() => {
reject();
// if the image can't be downloaded then continue without it
resolve();
}
);
} else {
reject();
// if the image can't be found on the page continue without it
resolve();
}
}).then(
() => {

View File

@@ -16,6 +16,7 @@ const store = new Store({
},
trayIcon: true,
mpris: false,
enableCustomHotkeys: false,
windowBounds: { width: 800, height: 600 },
},
});