mirror of
				https://github.com/Mastermindzh/tidal-hifi.git
				synced 2025-10-31 00:39:30 +01:00 
			
		
		
		
	fix: Fixed mpris not being set up correctly due to capitalization of the instance name
This commit is contained in:
		| @@ -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. | ||||
|   | ||||
							
								
								
									
										6
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -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 @@ | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
| } | ||||
| @@ -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" | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -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<string, string>(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; | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
							
								
								
									
										111
									
								
								src/preload.ts
									
									
									
									
									
								
							
							
						
						
									
										111
									
								
								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(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user