diff --git a/CHANGELOG.md b/CHANGELOG.md index ad4ae70..58ec736 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ 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). +## [5.7.1] + +- Fixed mpris not being set up correctly due to capitalization of the instance name. + ## [5.7.0] - Renamed app to TIDAL Hi-Fi. diff --git a/package-lock.json b/package-lock.json index 30005af..0373ea6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "TIDAL Hi-Fi", - "version": "5.6.0", + "version": "5.7.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "TIDAL Hi-Fi", - "version": "5.6.0", + "version": "5.7.1", "license": "MIT", "dependencies": { "@electron/remote": "^2.0.10", @@ -9340,4 +9340,4 @@ } } } -} +} \ No newline at end of file diff --git a/package.json b/package.json index d75bb00..6f55091 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tidal-hifi", - "version": "5.7.0", + "version": "5.7.1", "description": "Tidal on Electron with widevine(hifi) support", "main": "ts-dist/main.js", "scripts": { @@ -72,4 +72,4 @@ "typescript": "^5.1.6" }, "prettier": "@mastermindzh/prettier-config" -} \ No newline at end of file +} diff --git a/src/features/theming/theming.ts b/src/features/theming/theming.ts index b2821a4..8a2f9bc 100644 --- a/src/features/theming/theming.ts +++ b/src/features/theming/theming.ts @@ -4,7 +4,7 @@ import { settingsStore } from "../../scripts/settings"; import { Logger } from "../logger"; // eslint-disable-next-line @typescript-eslint/no-explicit-any -export function addCustomCss(app: any, logger: typeof Logger) { +export function addCustomCss(app: any) { window.addEventListener("DOMContentLoaded", () => { const selectedTheme = settingsStore.get(settings.theme); if (selectedTheme !== "none") { @@ -13,7 +13,7 @@ export function addCustomCss(app: any, logger: typeof Logger) { const themeFile = fs.existsSync(userThemePath) ? userThemePath : resourcesThemePath; fs.readFile(themeFile, "utf-8", (err, data) => { if (err) { - logger.alert("An error ocurred reading the theme file.", err, alert); + Logger.alert("An error ocurred reading the theme file.", err, alert); return; } diff --git a/src/pages/settings/preload.ts b/src/pages/settings/preload.ts index 3a69df7..f078006 100644 --- a/src/pages/settings/preload.ts +++ b/src/pages/settings/preload.ts @@ -50,7 +50,7 @@ let adBlock: HTMLInputElement, discord_details_prefix: HTMLInputElement, discord_button_text: HTMLInputElement; -addCustomCss(app, Logger.bind(this)); +addCustomCss(app); function getThemeFiles() { const selectElement = document.getElementById("themesList") as HTMLSelectElement; diff --git a/src/preload.ts b/src/preload.ts index 0537c08..59ffd2f 100644 --- a/src/preload.ts +++ b/src/preload.ts @@ -354,6 +354,60 @@ function updateMediaInfo(options: Options, notify: boolean) { } } +function addMPRIS() { + if (process.platform === "linux" && settingsStore.get(settings.mpris)) { + try { + player = Player({ + name: "tidal-hifi", + identity: "tidal-hifi", + supportedUriSchemes: ["file"], + supportedMimeTypes: [ + "audio/mpeg", + "audio/flac", + "audio/x-flac", + "application/ogg", + "audio/wav", + ], + supportedInterfaces: ["player"], + desktopEntry: "tidal-hifi", + }); + // Events + const events = { + next: "next", + previous: "previous", + pause: "pause", + playpause: "playpause", + stop: "stop", + play: "play", + loopStatus: "repeat", + shuffle: "shuffle", + seek: "seek", + } as { [key: string]: string }; + Object.keys(events).forEach(function (eventName) { + player.on(eventName, function () { + const eventValue = events[eventName]; + switch (events[eventValue]) { + case events.playpause: + playPause(); + break; + default: + elements.click(eventValue); + } + }); + }); + // Override get position function + player.getPosition = function () { + return convertDuration(elements.getText("current")) * 1000 * 1000; + }; + player.on("quit", function () { + app.quit(); + }); + } catch (exception) { + Logger.log("MPRIS player api not working", exception); + } + } +} + function updateMpris(options: Options) { if (player) { player.metadata = { @@ -517,61 +571,8 @@ setInterval(function () { } }, getUpdateFrequency()); -if (process.platform === "linux" && settingsStore.get(settings.mpris)) { - try { - player = Player({ - name: "TIDAL Hi-Fi", - identity: "TIDAL Hi-Fi", - supportedUriSchemes: ["file"], - supportedMimeTypes: [ - "audio/mpeg", - "audio/flac", - "audio/x-flac", - "application/ogg", - "audio/wav", - ], - supportedInterfaces: ["player"], - desktopEntry: "tidal-hifi", - }); - // Events - const events = { - next: "next", - previous: "previous", - pause: "pause", - playpause: "playpause", - stop: "stop", - play: "play", - loopStatus: "repeat", - shuffle: "shuffle", - seek: "seek", - } as { [key: string]: string }; - Object.keys(events).forEach(function (eventName) { - player.on(eventName, function () { - const eventValue = events[eventName]; - switch (events[eventValue]) { - case events.playpause: - playPause(); - break; - - default: - elements.click(eventValue); - } - }); - }); - // Override get position function - player.getPosition = function () { - return convertDuration(elements.getText("current")) * 1000 * 1000; - }; - - player.on("quit", function () { - app.quit(); - }); - } catch (exception) { - console.log("player api not working"); - } -} - -addCustomCss(app, Logger.bind(this)); +addMPRIS(); +addCustomCss(app); addHotKeys(); addIPCEventListeners(); addFullScreenListeners();