by Kodijack » Mon Mar 09, 2026 7:19 pm
Denton wrote: ↑Sat Feb 21, 2026 6:48 pm
I expect that the current issue is simply a missing font. Does anyone know which fonts MediaMonkey requires?
Try winetricks corefonts. That should do it.
I have MM running (CachyOS, so Arch not Debian. Portable install (first freshly, then overwrote it with my win10-version), remote database). But after a LOT of tinkering to make it work it's not really smooth UI-wise. It's slow, sluggish and laggy. But at least it works somehow reliably.
Not sure how strict wine on Debian is with global hotkeys, but in case someone would like to actually control playback, i made this tiny "remote control":
Code: Select all
#!/usr/bin/env python3
# ~/.local/bin/mm
import sys, json, urllib.request, websocket
actions = {
"play": "app.player.playPauseAsync()",
"next": "app.player.nextAsync()",
"prev": "app.player.prevAsync()",
}
ws_url = json.loads(urllib.request.urlopen("http://localhost:9222/json/list").read())[0]['webSocketDebuggerUrl']
ws = websocket.create_connection(ws_url)
ws.send(json.dumps({"id":1,"method":"Runtime.evaluate","params":{"expression":actions[sys.argv[1]]}}))
ws.close()
It could simply be called with play/next/prev as argument. If it's stupid but it works, it ain't completely stupid

[quote=Denton post_id=532028 time=1771717738 user_id=133260]
I expect that the current issue is simply a missing font. Does anyone know which fonts MediaMonkey requires?
[/quote]
Try winetricks corefonts. That should do it.
I have MM running (CachyOS, so Arch not Debian. Portable install (first freshly, then overwrote it with my win10-version), remote database). But after a LOT of tinkering to make it work it's not really smooth UI-wise. It's slow, sluggish and laggy. But at least it works somehow reliably.
Not sure how strict wine on Debian is with global hotkeys, but in case someone would like to actually control playback, i made this tiny "remote control":
[code]#!/usr/bin/env python3
# ~/.local/bin/mm
import sys, json, urllib.request, websocket
actions = {
"play": "app.player.playPauseAsync()",
"next": "app.player.nextAsync()",
"prev": "app.player.prevAsync()",
}
ws_url = json.loads(urllib.request.urlopen("http://localhost:9222/json/list").read())[0]['webSocketDebuggerUrl']
ws = websocket.create_connection(ws_url)
ws.send(json.dumps({"id":1,"method":"Runtime.evaluate","params":{"expression":actions[sys.argv[1]]}}))
ws.close() [/code]
It could simply be called with play/next/prev as argument. If it's stupid but it works, it ain't completely stupid :-)