mirror of
https://github.com/Mastermindzh/tidal-hifi.git
synced 2024-11-22 13:32:42 +01:00
fixed artists retrieval, removed arch build steps
This commit is contained in:
parent
d34ddfeb75
commit
d6f63ac560
@ -4,6 +4,15 @@ 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.2.1
|
||||
|
||||
- artists is now gotten specifically from the footer. This fixes the [unknown artists bug](https://github.com/Mastermindzh/tidal-hifi/issues/45).
|
||||
- the discord module will check whether the artists is empty and if so substitute it with a default message. This is to prevent sending an empty state to Discord (which it doesn't support). fixes [#45](https://github.com/Mastermindzh/tidal-hifi/issues/54)
|
||||
|
||||
### removed arch build details from source control
|
||||
|
||||
moved to: [https://github.com/Mastermindzh/tidal-hifi-aur](https://github.com/Mastermindzh/tidal-hifi-aur)
|
||||
|
||||
## 2.2.0
|
||||
|
||||
- The discord integration now adds a time remaining field based on the song duration
|
||||
|
@ -1,20 +0,0 @@
|
||||
pkgbase = tidal-hifi-git
|
||||
pkgdesc = The web version of listen.tidal.com running in electron with hifi support thanks to widevine.
|
||||
pkgver = 2.1.1
|
||||
pkgrel = 1
|
||||
url = https://github.com/Mastermindzh/tidal-hifi
|
||||
arch = x86_64
|
||||
license = custom:MIT
|
||||
makedepends = npm
|
||||
makedepends = git
|
||||
depends = libxss
|
||||
depends = nss
|
||||
depends = gtk3
|
||||
provides = tidal-hifi
|
||||
source = https://github.com/Mastermindzh/tidal-hifi/archive/2.1.1.zip
|
||||
source = tidal-hifi.desktop
|
||||
sha512sums = 510c94d9db8573103ee900dcd75b0416ea06ea62af7ed21818d2a5a77ab009a2737c852e7e20b97f846e14b07754a9e5a36ac5b9d0cd0a2a8d0aff3bbc75e622
|
||||
sha512sums = 35f38ac308b871c1822d7f6f760f2fb54c3748cf769822cb0f0dfb90f0f5754ba9316da5e903a0d2e9839de3a43ec76f238f3f2e44021956fa1da19142081349
|
||||
|
||||
pkgname = tidal-hifi-git
|
||||
|
@ -1,56 +0,0 @@
|
||||
# Maintainer: Rick van Lieshout <info@rickvanlieshout.com>
|
||||
|
||||
_pkgname=tidal-hifi
|
||||
pkgname="$_pkgname-git"
|
||||
pkgver=2.1.1
|
||||
pkgrel=1
|
||||
pkgdesc="The web version of listen.tidal.com running in electron with hifi support thanks to widevine."
|
||||
arch=("x86_64")
|
||||
url="https://github.com/Mastermindzh/tidal-hifi"
|
||||
license=("custom:MIT")
|
||||
|
||||
depends=("libxss" "nss" "gtk3")
|
||||
makedepends=("npm" "git")
|
||||
provides=("$_pkgname")
|
||||
|
||||
source=("https://github.com/Mastermindzh/tidal-hifi/archive/$pkgver.zip"
|
||||
"${_pkgname}.desktop")
|
||||
sha512sums=('510c94d9db8573103ee900dcd75b0416ea06ea62af7ed21818d2a5a77ab009a2737c852e7e20b97f846e14b07754a9e5a36ac5b9d0cd0a2a8d0aff3bbc75e622'
|
||||
'35f38ac308b871c1822d7f6f760f2fb54c3748cf769822cb0f0dfb90f0f5754ba9316da5e903a0d2e9839de3a43ec76f238f3f2e44021956fa1da19142081349')
|
||||
|
||||
cdToPkg(){
|
||||
cd "tidal-hifi-$pkgver"
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cdToPkg
|
||||
|
||||
# install build dependencies
|
||||
npm install
|
||||
}
|
||||
|
||||
build() {
|
||||
cdToPkg
|
||||
|
||||
# We are not using the systems Electron as we need castlab's Electron.
|
||||
npm run build-arch
|
||||
}
|
||||
|
||||
package() {
|
||||
cdToPkg
|
||||
|
||||
install -d "${pkgdir}/opt/${_pkgname}/" "${pkgdir}/usr/bin" "${pkgdir}/usr/share/doc" "${pkgdir}/usr/share/licenses"
|
||||
|
||||
cp -r dist/linux-unpacked/* "${pkgdir}/opt/${_pkgname}/"
|
||||
chmod +x "${pkgdir}/opt/${_pkgname}/${_pkgname}"
|
||||
|
||||
ln -s "/opt/${_pkgname}/${_pkgname}" "${pkgdir}/usr/bin/${_pkgname}"
|
||||
|
||||
install -Dm 644 "build/icon.png" "${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
|
||||
install -Dm 644 "${srcdir}/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
|
||||
|
||||
install -Dm 644 "README.md" "${pkgdir}/usr/share/doc/${pkgname}/README.md"
|
||||
install -Dm 644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
||||
ln -s "/opt/${_pkgname}/LICENSE.electron.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.electron.txt"
|
||||
ln -s "/opt/${_pkgname}/LICENSES.chromium.html" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSES.chromium.html"
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Will generate a correctly formatted SRCINFO file
|
||||
|
||||
SCRIPT_DIST=".SRCINFO"
|
||||
|
||||
# generate SRCINFO
|
||||
makepkg --printsrcinfo > $SCRIPT_DIST
|
||||
|
||||
# replace pkgbase with tidal-hifi-git
|
||||
pkgName="tidal-hifi-git"
|
||||
sed -i "1s/.*/pkgbase = $pkgName/" $SCRIPT_DIST
|
||||
|
||||
# replace pkgbase with tidal-hifi-git
|
||||
sed -i '/^pkgname/ d' $SCRIPT_DIST
|
||||
echo "pkgname = $pkgName" >> $SCRIPT_DIST
|
||||
|
||||
# remove double line breaks and replace with single line breaks
|
||||
sed -i '/^$/N;/^\n$/D' $SCRIPT_DIST
|
@ -1,13 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=tidal-hifi
|
||||
GenericName=tidal-hifi
|
||||
Comment=The web version of listen.tidal.com running in electron with hifi support thanks to widevine.
|
||||
Exec=tidal-hifi %u
|
||||
Icon=tidal-hifi.png
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Network;Application;Audio;Video
|
||||
StartupWMClass=tidal-hifi
|
||||
X-PulseAudio-Properties=media.role=music
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "tidal-hifi",
|
||||
"version": "2.2.0",
|
||||
"version": "2.2.1",
|
||||
"description": "Tidal on Electron with widevine(hifi) support",
|
||||
"main": "src/main.js",
|
||||
"scripts": {
|
||||
|
@ -23,7 +23,7 @@ const elements = {
|
||||
next: '*[data-test="next"]',
|
||||
previous: 'button[data-test="previous"]',
|
||||
title: '*[data-test^="footer-track-title"]',
|
||||
artists: '*[class^="elemental__text elemental__text css-oxcos"]',
|
||||
artists: '*[data-test^="grid-item-detail-text-title-artist"]',
|
||||
home: '*[data-test="menu--home"]',
|
||||
back: '[class^="backwardButton"]',
|
||||
forward: '[class^="forwardButton"]',
|
||||
@ -38,6 +38,7 @@ const elements = {
|
||||
current: '*[data-test="current-time"]',
|
||||
duration: '*[data-test="duration-time"]',
|
||||
bar: '*[data-test="progress-bar"]',
|
||||
footer: "#footerPlayer",
|
||||
|
||||
/**
|
||||
* Get an element from the dom
|
||||
@ -63,6 +64,19 @@ const elements = {
|
||||
return "";
|
||||
},
|
||||
|
||||
getArtists: function () {
|
||||
const footer = this.get("footer");
|
||||
|
||||
if (footer) {
|
||||
const artists = footer.querySelector(this["artists"]);
|
||||
if (artists) {
|
||||
return artists.innerText;
|
||||
}
|
||||
}
|
||||
|
||||
return "unknown artist(s)";
|
||||
},
|
||||
|
||||
/**
|
||||
* Shorthand function to get the text of a dom element
|
||||
* @param {*} key key in elements object to fetch
|
||||
@ -266,7 +280,7 @@ function updateURL() {
|
||||
*/
|
||||
setInterval(function () {
|
||||
const title = elements.getText("title");
|
||||
const artists = elements.getText("artists");
|
||||
const artists = elements.getArtists();
|
||||
const current = elements.getText("current");
|
||||
const duration = elements.getText("duration");
|
||||
const progressBarcurrentTime = elements.get("bar").getAttribute("aria-valuenow");
|
||||
|
@ -6,8 +6,8 @@ const mediaInfoModule = require("./mediaInfo");
|
||||
const discordModule = [];
|
||||
|
||||
function timeToSeconds(timeArray) {
|
||||
let minutes = (timeArray[0] * 1);
|
||||
let seconds = (minutes * 60) + (timeArray[1] * 1);
|
||||
let minutes = timeArray[0] * 1;
|
||||
let seconds = minutes * 60 + timeArray[1] * 1;
|
||||
return seconds;
|
||||
}
|
||||
|
||||
@ -19,14 +19,16 @@ const observer = (event, arg) => {
|
||||
const currentSeconds = timeToSeconds(mediaInfoModule.mediaInfo.current.split(":"));
|
||||
const durationSeconds = timeToSeconds(mediaInfoModule.mediaInfo.duration.split(":"));
|
||||
const date = new Date();
|
||||
const now = date.getTime() / 1000 | 0;
|
||||
const now = (date.getTime() / 1000) | 0;
|
||||
const remaining = date.setSeconds(date.getSeconds() + (durationSeconds - currentSeconds));
|
||||
if (mediaInfoModule.mediaInfo.url) {
|
||||
rpc.setActivity({
|
||||
...idleStatus,
|
||||
...{
|
||||
details: `Listening to ${mediaInfoModule.mediaInfo.title}`,
|
||||
state: mediaInfoModule.mediaInfo.artist,
|
||||
state: mediaInfoModule.mediaInfo.artist
|
||||
? mediaInfoModule.mediaInfo.artist
|
||||
: "unknown artist(s)",
|
||||
startTimestamp: parseInt(now),
|
||||
endTimestamp: parseInt(remaining),
|
||||
buttons: [{ label: "Play on Tidal", url: mediaInfoModule.mediaInfo.url }],
|
||||
|
Loading…
Reference in New Issue
Block a user