Compare commits

..

No commits in common. "7b2afd2290ec6c8a495b5f809f2922203d494868" and "909c8ee8ba4eefad92e51526861b3e22654de044" have entirely different histories.

9 changed files with 163 additions and 58 deletions

View File

@ -9,8 +9,6 @@ jobs:
build_on_linux: build_on_linux:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: update apt
run: sudo apt-get update
- name: Install libarchive-tools - name: Install libarchive-tools
run: sudo apt-get install -y libarchive-tools run: sudo apt-get install -y libarchive-tools
- uses: actions/checkout@master - uses: actions/checkout@master

View File

@ -9,8 +9,6 @@ jobs:
build_on_linux: build_on_linux:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: update apt
run: sudo apt-get update
- name: Install libarchive-tools - name: Install libarchive-tools
run: sudo apt-get install -y libarchive-tools run: sudo apt-get install -y libarchive-tools
- uses: actions/checkout@master - uses: actions/checkout@master

View File

@ -4,17 +4,6 @@ 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/), 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). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 2.8.2
- Updated dependencies
- Downgraded packaged version of electron to 8.5.2, doesn't seem to like a newer build
- Fixed the annoying (and useless) terminal warning about `allowRendererProcessReuse`
## 2.8.1
- Mar0xy fixed some build issues (thanks!)
- vincens2005 fixed the quit button in the menubar
## 2.8.0 ## 2.8.0
- Added the ability to mute artists automatically - Added the ability to mute artists automatically

View File

@ -1,3 +0,0 @@
extends: ./build/electron-builder.yml
linux:
target:

171
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "tidal-hifi", "name": "tidal-hifi",
"version": "2.8.2", "version": "2.8.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "tidal-hifi", "name": "tidal-hifi",
"version": "2.8.2", "version": "2.8.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"discord-rpc": "^4.0.1", "discord-rpc": "^4.0.1",
@ -18,7 +18,7 @@
}, },
"devDependencies": { "devDependencies": {
"@mastermindzh/prettier-config": "^1.0.0", "@mastermindzh/prettier-config": "^1.0.0",
"electron": "git+https://github.com/castlabs/electron-releases.git#15.5.2-wvvmp", "electron": "git+https://github.com/castlabs/electron-releases.git#v16.0.4+wvcus",
"electron-builder": "^22.14.5", "electron-builder": "^22.14.5",
"electron-reload": "^1.5.0", "electron-reload": "^1.5.0",
"prettier": "^2.5.0" "prettier": "^2.5.0"
@ -595,9 +595,9 @@
} }
}, },
"node_modules/async": { "node_modules/async": {
"version": "3.2.3", "version": "0.9.2",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true "dev": true
}, },
"node_modules/async-exit-hook": { "node_modules/async-exit-hook": {
@ -1995,6 +1995,15 @@
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
}, },
"node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true,
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/etag": { "node_modules/etag": {
"version": "1.8.1", "version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
@ -2885,13 +2894,13 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
}, },
"node_modules/jake": { "node_modules/jake": {
"version": "10.8.5", "version": "10.8.2",
"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
"integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"async": "^3.2.3", "async": "0.9.x",
"chalk": "^4.0.2", "chalk": "^2.4.2",
"filelist": "^1.0.1", "filelist": "^1.0.1",
"minimatch": "^3.0.4" "minimatch": "^3.0.4"
}, },
@ -2899,7 +2908,69 @@
"jake": "bin/cli.js" "jake": "bin/cli.js"
}, },
"engines": { "engines": {
"node": ">=10" "node": "*"
}
},
"node_modules/jake/node_modules/ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"dependencies": {
"color-convert": "^1.9.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/jake/node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/jake/node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"dependencies": {
"color-name": "1.1.3"
}
},
"node_modules/jake/node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"node_modules/jake/node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true,
"engines": {
"node": ">=4"
}
},
"node_modules/jake/node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"dependencies": {
"has-flag": "^3.0.0"
},
"engines": {
"node": ">=4"
} }
}, },
"node_modules/js-yaml": { "node_modules/js-yaml": {
@ -5243,9 +5314,9 @@
"optional": true "optional": true
}, },
"async": { "async": {
"version": "3.2.3", "version": "0.9.2",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true "dev": true
}, },
"async-exit-hook": { "async-exit-hook": {
@ -6113,7 +6184,7 @@
"electron": { "electron": {
"version": "git+ssh://git@github.com/castlabs/electron-releases.git#8d8957ec0fae843760a583ed7a82e5d266fde647", "version": "git+ssh://git@github.com/castlabs/electron-releases.git#8d8957ec0fae843760a583ed7a82e5d266fde647",
"dev": true, "dev": true,
"from": "electron@git+https://github.com/castlabs/electron-releases.git#15.5.2-wvvmp", "from": "electron@git+https://github.com/castlabs/electron-releases.git#v16.0.4+wvcus",
"requires": { "requires": {
"@electron/get": "^1.0.1", "@electron/get": "^1.0.1",
"@types/node": "^12.0.12", "@types/node": "^12.0.12",
@ -6355,6 +6426,12 @@
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
}, },
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"etag": { "etag": {
"version": "1.8.1", "version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
@ -7056,15 +7133,67 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
}, },
"jake": { "jake": {
"version": "10.8.5", "version": "10.8.2",
"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
"integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==",
"dev": true, "dev": true,
"requires": { "requires": {
"async": "^3.2.3", "async": "0.9.x",
"chalk": "^4.0.2", "chalk": "^2.4.2",
"filelist": "^1.0.1", "filelist": "^1.0.1",
"minimatch": "^3.0.4" "minimatch": "^3.0.4"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
},
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"requires": {
"color-name": "1.1.3"
}
},
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
} }
}, },
"js-yaml": { "js-yaml": {

View File

@ -1,13 +1,12 @@
{ {
"name": "tidal-hifi", "name": "tidal-hifi",
"version": "2.8.2", "version": "2.8.0",
"description": "Tidal on Electron with widevine(hifi) support", "description": "Tidal on Electron with widevine(hifi) support",
"main": "src/main.js", "main": "src/main.js",
"scripts": { "scripts": {
"start": "electron .", "start": "electron .",
"build": "electron-builder --publish=never -c ./build/electron-builder.yml", "build": "electron-builder --publish=never -c ./build/electron-builder.yml",
"build-deb": "electron-builder --publish=never -c ./build/electron-builder.deb.yml", "build-deb": "electron-builder --publish=never -c ./build/electron-builder.deb.yml",
"build-unpacked": "electron-builder --publish=never -c ./build/electron-builder.unpacked.yml",
"build-rpm": "electron-builder --publish=never -c ./build/electron-builder.rpm.yml", "build-rpm": "electron-builder --publish=never -c ./build/electron-builder.rpm.yml",
"build-snap": "electron-builder --publish=never -c ./build/electron-builder.snap.yml", "build-snap": "electron-builder --publish=never -c ./build/electron-builder.snap.yml",
"build-arch": "electron-builder --publish=never -c ./build/electron-builder.pacman.yml", "build-arch": "electron-builder --publish=never -c ./build/electron-builder.pacman.yml",
@ -33,10 +32,10 @@
}, },
"devDependencies": { "devDependencies": {
"@mastermindzh/prettier-config": "^1.0.0", "@mastermindzh/prettier-config": "^1.0.0",
"electron": "git+https://github.com/castlabs/electron-releases.git#15.5.2-wvvmp", "electron": "git+https://github.com/castlabs/electron-releases.git#v16.0.4+wvcus",
"electron-builder": "^22.14.5", "electron-builder": "^22.14.5",
"electron-reload": "^1.5.0", "electron-reload": "^1.5.0",
"prettier": "^2.5.0" "prettier": "^2.5.0"
}, },
"prettier": "@mastermindzh/prettier-config" "prettier": "@mastermindzh/prettier-config"
} }

View File

@ -101,7 +101,6 @@ function addGlobalShortcuts() {
// initialization and is ready to create browser windows. // initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs. // Some APIs can only be used after this event occurs.
app.on("ready", () => { app.on("ready", () => {
app.allowRendererProcessReuse = true;
createWindow(); createWindow();
addMenu(); addMenu();
createSettingsWindow(); createSettingsWindow();

View File

@ -8,7 +8,6 @@ const statuses = require("./constants/statuses");
const hotkeys = require("./scripts/hotkeys"); const hotkeys = require("./scripts/hotkeys");
const globalEvents = require("./constants/globalEvents"); const globalEvents = require("./constants/globalEvents");
const notificationPath = `${app.getPath("userData")}/notification.jpg`; const notificationPath = `${app.getPath("userData")}/notification.jpg`;
const appName = "Tidal Hifi";
let currentSong = ""; let currentSong = "";
let player; let player;
let currentPlayStatus = statuses.paused; let currentPlayStatus = statuses.paused;
@ -226,7 +225,7 @@ function handleLogout() {
} }
function addFullScreenListeners() { function addFullScreenListeners() {
window.document.addEventListener("fullscreenchange", () => { window.document.addEventListener("fullscreenchange", (event) => {
ipcRenderer.send(globalEvents.refreshMenuBar); ipcRenderer.send(globalEvents.refreshMenuBar);
}); });
} }
@ -237,7 +236,7 @@ function addFullScreenListeners() {
*/ */
function addIPCEventListeners() { function addIPCEventListeners() {
window.addEventListener("DOMContentLoaded", () => { window.addEventListener("DOMContentLoaded", () => {
ipcRenderer.on("globalEvent", (_event, args) => { ipcRenderer.on("globalEvent", (event, args) => {
switch (args) { switch (args) {
case globalEvents.playPause: case globalEvents.playPause:
playPause(); playPause();
@ -337,6 +336,7 @@ setInterval(function () {
const album = elements.getAlbumName(); const album = elements.getAlbumName();
const current = elements.getText("current"); const current = elements.getText("current");
const duration = elements.getText("duration"); const duration = elements.getText("duration");
const appName = "Tidal Hifi";
const progressBarcurrentTime = elements.get("bar").getAttribute("aria-valuenow"); const progressBarcurrentTime = elements.get("bar").getAttribute("aria-valuenow");
const songDashArtistTitle = `${title} - ${artists}`; const songDashArtistTitle = `${title} - ${artists}`;
const currentStatus = getCurrentlyPlayingStatus(); const currentStatus = getCurrentlyPlayingStatus();

View File

@ -1,4 +1,4 @@
const { Menu, app } = require("electron"); const { Menu } = require("electron");
const { showSettingsWindow } = require("./settings"); const { showSettingsWindow } = require("./settings");
const isMac = process.platform === "darwin"; const isMac = process.platform === "darwin";
@ -10,14 +10,6 @@ const settingsMenuEntry = {
accelerator: "Control+/", accelerator: "Control+/",
}; };
const quitMenuEntry = {
label: "Quit",
click() {
app.exit(0);
},
accelerator: "Control+Q"
};
const mainMenu = [ const mainMenu = [
...(isMac ...(isMac
? [ ? [
@ -33,15 +25,17 @@ const mainMenu = [
{ role: "hideothers" }, { role: "hideothers" },
{ role: "unhide" }, { role: "unhide" },
{ type: "separator" }, { type: "separator" },
quitMenuEntry, { role: "quit" },
], ],
}, },
] ]
: []), : []),
// { role: 'fileMenu' }
{ {
label: "File", label: "File",
submenu: [settingsMenuEntry, isMac ? { role: "close" } : quitMenuEntry], submenu: [settingsMenuEntry, isMac ? { role: "close" } : { role: "quit" }],
}, },
// { role: 'editMenu' }
{ {
label: "Edit", label: "Edit",
submenu: [ submenu: [
@ -67,6 +61,7 @@ const mainMenu = [
settingsMenuEntry, settingsMenuEntry,
], ],
}, },
// { role: 'viewMenu' }
{ {
label: "View", label: "View",
submenu: [ submenu: [
@ -80,6 +75,7 @@ const mainMenu = [
{ role: "togglefullscreen" }, { role: "togglefullscreen" },
], ],
}, },
// { role: 'windowMenu' }
{ {
label: "Window", label: "Window",
submenu: [ submenu: [