MediaMonkey on ubuntu (or linux)

Post a reply

Smilies
:D :) :( :o :-? 8) :lol: :x :P :oops: :cry: :evil: :roll: :wink:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: MediaMonkey on ubuntu (or linux)

Re: MediaMonkey on ubuntu (or linux)

by TIV73 » Mon Jan 27, 2025 1:14 pm

I now got the asian font fallback mechanism working. Well, kind of. I gave up trying to find an actual solution and just copied all of fonts chrome has hardcoded as a fallback for CJK languages into the wine prefix. In the end I ended up with the following list
  • meiryo.ttc
  • meiryob.ttc
  • YuGothB.ttc
  • YuGothL.ttc
  • YuGothM.ttc
  • YuGothR.ttc
  • msgothic.ttc
  • mingliub.ttc
  • simsun.ttc
  • simsunb.ttf

Re: MediaMonkey on ubuntu (or linux)

by TIV73 » Fri Jan 17, 2025 3:40 pm

One thing that I forgot to mention that also doesn't work is rendering of asian characters anywhere in the gui. There are some fixes posted online to fix font fallback rendering in wine, but I found that none of them work for this specific use case, probably because chrome straight up ignores windows font fallback settings.

The only functioning workaround I found so far is changing the the font-family property in the active mediamonkey skin to use a font that can display both asian and latin characters. My favorites so far are NotoSerifCJKP, Meiryo, Ume-UI-Gothic, or YuGothR.

Re: MediaMonkey on ubuntu (or linux)

by TIV73 » Fri Jan 17, 2025 3:31 pm

I can confirm that. After my first try with bottles was nigh unusuable I gave it another spin after finding out that crossover is not yet available on my distro.

And whatever the reason may be, this time everything worked right out of the gate after a small bit of tinkering. ChoppedBroccoli already posted pretty much all relevant settings I configured as well, two additional settings I found useful were:
- Disabling Window Manager Decorations, because native window decorations hide the menu bar (at least in kde)
- Setting the Renderer to Vulkan because it seems to have a better performance for me than GL (and GDI doesn't work at all)

I didn't do any in-depth testing, but the features that worked for me so far are
- rendering of the UI, no weird hardware acceleration flickering
- mp3 playback
- integration with the file system
- reading and writing of music file tags
- playback of online music in the web node
- casting to dlna players across the local network
- custom addons and scripts

What explicitly does not work is video playback, which I'm more or less fine with since that's not one of my use cases.
ChoppedBroccoli wrote: Thu Jan 09, 2025 4:02 pm [...]

Code: Select all

dependencies: mediafoundation, vbrun6, wsh57, allfonts
Not sure if you need all those. It could be system-dependent of course, but mediafoundation didn't make any difference for audio or video playback for me.
I saw vbrun6 and wsh57 being mentioned in a few other posts and the wiki, but I believe that's outdated. Versions of mediamonkey prior to 5 needed them because it used vbscript in the background to run scripts, but that has been completely removed. wsh57 could, in theory, allow applications to run jscript, but that's only if the application actually relies on the script host to do that - which mediamonkey doesn't since it uses the chromium framework that comes with its own javascript engine.

The only two dependencies I explicitly installed are the verdana32 and arial32 fonts because mediamonkey wouldn't be able to render any text otherwise. allfonts probably includes those as well, but I didn't want to install anything that's not needed. The only fonts that defined in the default skin_base.less file are the following:

Code: Select all

"Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
All other fonts depend on the skin.


Below is my bottles configuration for reference. I'm using the flatpak version of bottles 51.18 on nixos 24.11:

Code: Select all

Arch: win32
CompatData: ''
Creation_Date: '2025-01-02 14:10:18.929049'
Custom_Path: false
DLL_Overrides: {}
DXVK: dxvk-2.5.3
Environment: Custom
Environment_Variables: {}
External_Programs: {}
Installed_Dependencies:
- verdan32
- arial32
Language: sys
LatencyFleX: latencyflex-v0.1.1
NVAPI: dxvk-nvapi-v0.8.0
Name: mm_check
Parameters:
    custom_dpi: 96
    decorated: false
    discrete_gpu: true
    dxvk: false
    dxvk_nvapi: false
    fixme_logs: false
    fsr: false
    fsr_quality_mode: none
    fsr_sharpening_strength: 2
    fullscreen_capture: false
    gamemode: false
    gamescope: false
    gamescope_borderless: false
    gamescope_fps: 0
    gamescope_fps_no_focus: 0
    gamescope_fullscreen: true
    gamescope_game_height: 0
    gamescope_game_width: 0
    gamescope_scaling: false
    gamescope_window_height: 0
    gamescope_window_width: 0
    latencyflex: false
    mangohud: false
    mangohud_display_on_game_start: true
    mouse_warp: true
    obsvkc: false
    pulseaudio_latency: false
    renderer: vulkan
    sandbox: false
    sync: wine
    take_focus: false
    use_be_runtime: true
    use_eac_runtime: true
    use_runtime: false
    use_steam_runtime: false
    versioning_automatic: false
    versioning_compression: false
    versioning_exclusion_patterns: false
    virtual_desktop: false
    virtual_desktop_res: 1280x720
    vkbasalt: false
    vkd3d: false
    vmtouch: false
    vmtouch_cache_cwd: false
Path: mm_check
Runner: sys-wine-9.0
RunnerPath: ''
Sandbox:
    share_net: false
    share_sound: false
State: 0
Uninstallers: {}
Update_Date: '2025-01-02 20:40:42.757749'
VKD3D: vkd3d-proton-2.14.1
Versioning: false
Versioning_Exclusion_Patterns: []
Windows: win10
WorkingDir: ''
data: {}
run_in_terminal: false
session_arguments: ''

Re: MediaMonkey on ubuntu (or linux)

by ChoppedBroccoli » Thu Jan 09, 2025 4:02 pm

Just wanted to post an update here. I've been running MMW in Ubuntu through wine with some moderate success until the MMW2024 update in late 2024. I was able to at least play and tag music in MMW via Wine until the end of 2024 by using some combination of how-tos across the internet over the past 2 decades. Every startup would cause a runtime error, but I would ignore it and be on my way. I was even able to access a network mounted music drive mapped into the Wine windows directory via symlink which was pretty cool. Certainly network calls, any use of Internet explorer in built in views, and casting were all very iffy/likely to crash the whole darn thing.

However the MMW 2024 release wouldn't even load for me in Wine anymore so I got desperate.

After seeing this and some other threads, I discovered bottles and decided to give it a go with a fresh start and cleaned out all my previous Wine experiments. I can confirm I am running MMW2024.0.0.3082 in bottles 51.17 on Ubuntu 24.04.01 LTS on a Lenovo X13 Gen3 yoga with the following settings:

Code: Select all

runner: sys-wine-9.0 (it is really cool that you can swap out the runner between wine and soda seemlessly!)
all other component options disabled
all display options disabled
compatibility:
Windows Version : Windows 10
other settings I forgot during initial setup but likely included:

Code: Select all

32bit mode
dependencies: mediafoundation, vbrun6, wsh57, allfonts
This setup has been decently stable - very few runtime errors, windows resizing and text inputs for search/smart playlist work. More interestingly, album art lookup, youtube video plays, and even casting to my Chromecasts all over the house seems to work!!! Some quirks and crashes happen, but only occasionally. I either restart the bottle, the bottle program, or my computer and all is right again. Usually restarting the bottle works 90% of the time. MMW pop up windows (like album art lookup) sometimes get seemingly permanently hidden, but if I "windows key"+tab I'm able to see them re-appear.

I haven't tried wifi sync to my Android phone yet, but will try that soon. The goal is to get rid of relying on my Windows laptop entirely, and it was down to just 2 programs ... Adobe Lightroom (successfully replaced with digiKam and darktable) and MediaMonkey (hopefully replaced with bottles+MMW!).

For now, I use the bottles+MMW approach to listen to newly downloaded music and tag it before sending it to my network drive and the my Windows laptop for syncing to my phone.

Re: MediaMonkey on ubuntu (or linux)

by PoooMukkel » Thu Aug 08, 2024 1:08 am

Peke wrote: Mon Aug 05, 2024 3:34 pm Rename downloaded MAD input plugin (for example) -> Rename MMIP to ZIP -> Extract DLL to MM plugins folder and restart MM it should be there.
All plugins are detected when extracting and copying the dlls into the folder. But still no success with the latest MediaMonkey2024 beta / debug version. :(

Re: MediaMonkey on ubuntu (or linux)

by TIV73 » Wed Aug 07, 2024 3:50 pm

On another note, something that helped me work around the issue was not directly using mediamonkey. Instead, I start mediamonkey and configure it share it's library on the network. Then I just use another player or mpd to connect to that local mediamonkey instance via dlna. In this configuration mediamonkey is essentially just a dlna server on localhost. It serves the media files, but the actual rendering is done by the client. That pretty much eliminated all codec or playback related issues for me.

Re: MediaMonkey on ubuntu (or linux)

by Dancer » Wed Aug 07, 2024 3:49 pm

I like to have MM on Android synced with MMW. That's it. Nothing more. I have installed Win 10 only to have MMW at hand.
But generally I only work and play music on Linux (Mint). As a nice music player I found Lollypop. Syncing doesn't work, but it doesn't matter.
All playlists have relative paths so I can use them in MMW, MMA and Lollypop.
I struggled with Wine in many cases in the past until I decided to avoid it.

Re: MediaMonkey on ubuntu (or linux)

by TIV73 » Wed Aug 07, 2024 3:43 pm

I've had little to no success getting mediamonkey in a usable state with wine or bottles. Crossover fared way better right off the bat, and I got the application in a semi-stable state with close to no effort. The biggest issue that persists for me is are occasional, and seemingly random, hard crashes with the `not implemented` error that were mentioned before. When doing a quick trace in wine it looked like these errors come mostly from two different sources.

The first one is networking. I noticed that whenever mediamonkey wants to do a network call and it doesn't work for whatever reason, the error occurs. I guess it's some outgoing calls where mediamonkey tries to check for updates, query local upnp devices, or something along those lines. Turning off the local firewall to open all ports before starting mediamonkey greatly reduced these errors. It's not ideal, but at least a starting point.

The second one seems to be, and I could be totally wrong about this, related to oledb calls. I have no idea if that's correct or not, and if mediamonkey even uses oledb to talk to its database or not, but judging from the logs wine seems to think so.

If we just need to find the right dependencies to make everything work, or if some calls are just not yet implemented by wine is anybodies guess, though.

Another thing that makes matters more complicated is the frontend mediamonkey uses. From what I can tell chromium (and by extension cef) has traditionally been a little rocky to get working on wine, for various reasons. It doesn't help that chromium already runs natively on linux, as do most framework that depend on the engine, like electron. Applications like mediamonkey that rely on the chromium engine but are strictly windows-only are, in the grand scheme of things, outliers, so there is also not much incentive or huge push from wine to get chromium to run better.

There are various proposed workarounds related to hardware acceleration, passing startup parameters to chrome (which is not applicable in our case), setting different desktop modes, switching between xorg and wayland, or getting different hardware. It's all very trial-and-error.

Re: MediaMonkey on ubuntu (or linux)

by PoooMukkel » Tue Aug 06, 2024 2:28 am

Lowlander wrote: Mon Aug 05, 2024 2:11 pm Lifetime Licenses work on MediaMonkey 2024.
Good to know.
Peke wrote: Mon Aug 05, 2024 3:34 pm Rename downloaded MAD input plugin (for example) -> Rename MMIP to ZIP -> Extract DLL to MM plugins folder and restart MM it should be there.
I'll try it ...

Re: MediaMonkey on ubuntu (or linux)

by Peke » Mon Aug 05, 2024 3:34 pm

PoooMukkel wrote: Mon Aug 05, 2024 7:29 am Just installed the OPUS Plugin from your HappyMonkying-Site. Seems to be the only plugin working on v5. No changes.
Rename downloaded MAD input plugin (for example) -> Rename MMIP to ZIP -> Extract DLL to MM plugins folder and restart MM it should be there.

Re: MediaMonkey on ubuntu (or linux)

by Lowlander » Mon Aug 05, 2024 2:11 pm

Lifetime Licenses work on MediaMonkey 2024.

Re: MediaMonkey on ubuntu (or linux)

by PoooMukkel » Mon Aug 05, 2024 7:29 am

Peke wrote: Sun Aug 04, 2024 7:11 pm Have you tried to use other input plugins (Extract MMIPs from my happymonkeying site?)
Just installed the OPUS Plugin from your HappyMonkying-Site. Seems to be the only plugin working on v5. No changes.
Peke wrote: Sun Aug 04, 2024 7:11 pm Also a full debug log as described at https://www.mediamonkey.com/forum/viewtopic.php?t=86643 should show us what is going on.
Just wanted to download the latest debug version of MM2024. Is my lifetime license working with this version? It seems that there will be special MM2024 license keys?

Re: MediaMonkey on ubuntu (or linux)

by Peke » Sun Aug 04, 2024 7:11 pm

Hi,
Have you tried to use other input plugins (Extract MMIPs from my happymonkeying site?)

Also a full debug log as described at https://www.mediamonkey.com/forum/viewtopic.php?t=86643 should show us what is going on.

Re: MediaMonkey on ubuntu (or linux)

by PoooMukkel » Sun Aug 04, 2024 3:16 pm

Peke wrote: Sun Aug 04, 2024 8:04 am it should work.
I already tried that, but sound is still not playing. The issue seems to be, that playing doesn't start. Time isn't running. But the songs are there. They exist.

Re: MediaMonkey on ubuntu (or linux)

by Peke » Sun Aug 04, 2024 8:04 am

In MM options Output plugins use WAVEOUT and it should work.

Top