mirror of
https://github.com/Mastermindzh/tidal-hifi.git
synced 2024-11-25 23:03:52 +01:00
Added all mediaInfo to mpris interface using the prefix
This commit is contained in:
parent
28a9458dfc
commit
54316d31b5
@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
## [5.14.1]
|
||||
|
||||
- Fixed `getAlbumName` not finding album name whilst on queue page
|
||||
- Added all mediaInfo to mpris interface using the `custom:` prefix
|
||||
|
||||
## [5.14]
|
||||
|
||||
|
@ -18,6 +18,7 @@ import { MediaStatus } from "./models/mediaStatus";
|
||||
import { RepeatState } from "./models/repeatState";
|
||||
import { downloadFile } from "./scripts/download";
|
||||
import { addHotkey } from "./scripts/hotkeys";
|
||||
import { ObjectToDotNotation } from "./scripts/objectUtilities";
|
||||
import { settingsStore } from "./scripts/settings";
|
||||
import { setTitle } from "./scripts/window-functions";
|
||||
|
||||
@ -474,6 +475,7 @@ function updateMpris(mediaInfo: MediaInfo) {
|
||||
"mpris:length": convertDuration(mediaInfo.duration) * 1000 * 1000,
|
||||
"mpris:trackid": "/org/mpris/MediaPlayer2/track/" + getTrackID(),
|
||||
},
|
||||
...ObjectToDotNotation(mediaInfo, "custom:"),
|
||||
};
|
||||
player.playbackStatus = mediaInfo.status === MediaStatus.paused ? "Paused" : "Playing";
|
||||
}
|
||||
|
13
src/scripts/objectUtilities.ts
Normal file
13
src/scripts/objectUtilities.ts
Normal file
@ -0,0 +1,13 @@
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
export const ObjectToDotNotation = (obj: any, prefix: string = "", target: any = {}) => {
|
||||
Object.keys(obj).forEach((key: string) => {
|
||||
if (typeof obj[key] === "object" && obj[key] !== null) {
|
||||
ObjectToDotNotation(obj[key], prefix + key + ".", target);
|
||||
} else {
|
||||
const dotLocation = prefix + key;
|
||||
target[dotLocation] = obj[key];
|
||||
return target;
|
||||
}
|
||||
});
|
||||
return target;
|
||||
};
|
Loading…
Reference in New Issue
Block a user