I have an external app that communicates with MediaMonkey via Chrome Dev Tools. I'm having a problem with the object that gets returned not containing all the data it should. In particular I'm requesting the player tracklist, and the object returned frequently doesn't contain the bpm values I need. Looking at what gets returned it appears that the extended tag data and more is missing. Is this a case where a promise is not getting fulfilled? Is there something I'm doing incorrectly in my request?
let mmREQUEST_ID = 1; // Changes with each request
let dataRequest = "app.player.getTracklist().asJSON";
request = { id:mmREQUEST_ID,method:'Runtime.evaluate',params:{expression: dataRequest } };
mmSocket.send(JSON.stringify(request));
Incomplete data returned?
Moderators: jiri, drakinite, Addon Administrators
getTracklist().asJSON bug
Environment:
Developing Electron app that talks to MediaMonkey via websocket.
Windows 11 Home
MediaMonkey v.2024.2.1.3124 and v.2024.2.1.3208
Electron 40.1.0
Node.js v24.13.0 (WebSocket)
Also WebSocketAsPromised with W3CWebSocket
Issue:
Sending a getTracklist().asJSON request through a websocket connection, the returned tracklist doesn't include bpm
values (other data is also missing) unless the song has been played, even for as little as a half second.
Reproducible?
Yes, easily.
Developing Electron app that talks to MediaMonkey via websocket.
Windows 11 Home
MediaMonkey v.2024.2.1.3124 and v.2024.2.1.3208
Electron 40.1.0
Node.js v24.13.0 (WebSocket)
Also WebSocketAsPromised with W3CWebSocket
Issue:
Sending a getTracklist().asJSON request through a websocket connection, the returned tracklist doesn't include bpm
values (other data is also missing) unless the song has been played, even for as little as a half second.
Reproducible?
Yes, easily.