Difference between revisions of "Linux, Wine & MediaMonkey"

From MediaMonkey Wiki
Jump to navigation Jump to search
(Add Installation Summary section)
Line 133: Line 133:
# Move known problem dlls out of main Plugins directory
# Move known problem dlls out of main Plugins directory
mv -f d*.dll Problems/
mv -f d*.dll Problems/
mv in_wmp3.dll Problems/
mv -f in_wmp3.dll Problems/
# Copy Fixes to main Plugins directory
# Copy Fixes to main Plugins directory
cp Fixes/* .
cp Fixes/* .

Revision as of 16:53, 3 May 2008


Can MediaMonkey 3 run on Linux via Wine?

This is a place where working notes about the attempt can be collected.

Inspired by botijo's original work via the forums.

Test Environment

Ubuntu Linux 8.04
MediaMonkey3 lastest beta v3.0.3.1164 for initial tests, debug version.
WINE version 0.9.60.

Adding Wine to Ubuntu

Please follow instructions at http://www.winehq.org/site/download-deb . Version tested here is 0.9.60.

Adding MediaMonkey + Wine

After installing Wine, MediaMonkey can be installed without any problems. If you run MM now, you will have lots of trouble.

MediaMonkey needs some libraries to run. Please use winetricks to install following items:

  • gecko as an Internet Explorer alternative
  • vb6run provides the OLE libraries
  • vcrun6 provides the MFC42 libraries
  • wsh56 provides support for VBScript, needed for scripts. vcrun6 and vbrun6 have to be installed before wsh56 or installation will fail.

A Linux package is also needed. It is called winbind. The synaptyc package manager should have this package. It provides ntlm_auth that is needed for OLE, I believe.

In order to reproduce MP3, the MAD plugin is needed. You should delete the file i_wmp3.dll in the Plugins directory. The reason is that i_wmp3.dll requires Windows Media Player, plus the MP3 codecs for WMP. It is simpler to install the MAD plugin.

In order to avoid "Player initialization errors", the files d_*.dll from the Plugins directory need to be deleted. No iPod integration for you! Other devices will also not be able to synchronize.

Wine needs a little bit of configuration before running. Go to Applications/Wine/Configuration and follow these steps:

  • In the drive pane, select Autodetect. This should create a Wine Z: drive for the file system(/).
  • In the audio pane, select whatever creates some sound to you. The current configured audio driver should be autodetected. Select Test to confirm.

Function Tests

Botijo verified this to work with the settings set in this wiki.

Following items work:

  • Tag support
  • Database operations
  • File operations
  • Music output (my ears are itching for more music!)
  • Plugins (Milkdrop shows! See screenshot section. Speed is good with MilkDrop)
  • System tray icon
  • Now playing window shows correctly
  • Playlist management, including saving
  • Auto DJ queues songs
  • External browser is opened correctly for "Get Info/Buy"
  • Autoplaylists (only basic tested)
  • Send to Virtual CD
  • Gold registration
  • Find from the same artist

Following items work with some problems:

  • Skins (Graphical glitches while changing skins, press Enter after doing so)
  • Scripts (some do, but auto scripts are not loaded after restart?)
  • Installation packages .mmip (Show errors, but install correctly, check notes)
  • Reports (Statistics fail due to some obscure SDBUI error, maybe opens a webpage; file based reports work)

Following items do not work:

  • Device synchronization, as I have deleted all synchronization plugins
  • Opening webpages inside MM (gecko interface does not show anything, does MM rely so much on IE?). This includes Auto tag from Web, and maybe Statistics report.
  • Because of previous point, any URL related operation fails (e.g. opening an external URL, opening Podcast directory node). MM opens a dialog and shows a WININET error.
  • CD Rom burning: If CD/DVD is not mounted, it does not show in MM. Blank CD/DVD cannot be mounted, so burning cannot be done. Strangely enough, the burner form shows correct data with a data DVD (see screenshots).
  • Autoplaylists do not show on click, but they show if you browse node by node with the keyboard
  • Party mode is unusable and locks
  • Send to Email shows Thunderbird, songs are not attached

Following items have not been tested:

  • To be determined

Apart from all this, please be aware that some skins modifications (mainly resizing of windows) are painful slow.

Installation Summary

All the installation steps via Console (Application/Accesories/Terminal) commands. Current as of date of writing (2008-05-03) and Ubuntu 8.04 test environment. Commands can be cut and pasted to a Console. Do NOT try to run this as a omnibus script. Problems can occur at each step which need to be addressed before continuing.

# 1)Install Wine
# Add key for new repository
wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
# Add new repository
sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/hardy.list -O /etc/apt/sources.list.d/winehq.list
# Update APT package info
sudo apt-get update
# Install wine package
sudo apt-get install wine

# 2)Configure Wine
# Use Applications/Wine/Configure Wine
# Do Not proceed if this does not work

# 3)Install winetricks
# Get winetricks script
wget http://www.kegel.com/wine/winetricks
# Install additional packages for winetricks
sudo apt-get install cabextract
# Install winetricks for MediaMonkey. Do Not change parameter order.
# Accept all defaults for individual installers
sh winetricks gecko vb6run vcrun6 wsh56

# 4)Install additional packages for MediaMonkey
# Install winbind. Start winbindd daemon.
sudo apt-get install winbind

# 5)Install MediaMonkey
# Get MM3 installer beta debug version
wget http://www.mediamonkey.com/beta/MediaMonkey_3.0.3.1164_Debug.exe
# Run installer. Do Not Launch MediaMonkey yet.
wine ~/MediaMonkey_3.0.3.1164_Debug.exe

# 6)Create directories to manage MediaMonkey plugins fixes. This step required after first MM install.
# Change to Plugins directory
cd ~/.wine/drive_c/Program\ Files/MediaMonkey/Plugins/
# Create directory to hold Problems plugins
mkdir Problems
# Create directory to hold Fixes for plugin problems
mkdir Fixes

# 7)Get alternate plugins for Fixes
# MAD input plugin. Version at time of testing. FF3B5 is acting up on the right-click menu for the main page.
wget http://www.mars.org/home/rob/proj/mpeg/mad-plugin/MAD%20plug-in%200.14.2b.exe
wine MAD\ plug-in\ 0.14.2b.exe
cd ~/.wine/drive_c/Program\ Files/MediaMonkey/Plugins/Fixes/
cp ~/.wine/drive_c/Program\ Files/Winamp/Plugins/in_mad.dll .

# 8)Cleanup MediaMonkey plugins. This step is required after any MM re-install.
# Change to Plugins directory
cd ~/.wine/drive_c/Program\ Files/MediaMonkey/Plugins/
# Move known problem dlls out of main Plugins directory
mv -f d*.dll Problems/
mv -f in_wmp3.dll Problems/
# Copy Fixes to main Plugins directory
cp Fixes/* .

# 9)Run MediaMonkey for first time
# Use Applications/Wine/Programs/MediaMonkey/MediaMonkey

Misc notes and links

Debug version of MM works and can report errors to developers (I hope they see my email).

A way to know what MM is doing is catching all the KERNEL32 debug outputs. Of course you need the debug version of MM to do this. The usual Windows tool DebugView does not work. A crude way to do the same thing under WINE is (beware of big files!):

WINEDEBUG=relay wine ./MediaMonkey.exe &> /tmp/MM.log 
grep Debug /tmp/MM.log > MM.log

If you resort to debugging why some feature does not work, please have a look at WINE documentation. It helps a lot.

There are lots of graphical glitches that hinder your progress. Also, whenever a serious error is found (most of the time due to missing DLLs), MM will hang. The only way to continue is to kill the process. This is done with

killall MediaMonkey.exe

Installation packages install correctly, but Xubuntu file manager (dunno if it happens with vanilla Ubuntu one) does not register the filetype with MM. Even in the case that the filetype .mmip is being registered correctly, WINE might not be able to translate UNIX paths (e.g. /usr/bin/) into Windows own format (unrelated example: C:\Program Files). At least that is something I read, although I do not remember where. What it means is that the argument passed to MM will be rubish, so MM will ignore it. As a workaround, you can copy your .mmip into MM install directory and run MediaMonkey.exe <myscript.mmip> from MM installation directory. This way no paths are being walked (pun intended).


MM on Wine!
Working script example
AlbumArt view
Extension management
Option window
Graphical glitch after skin change, press ENTER to close window
Script added a node to the tree, Album Art viewer
CD burner screen with CD drive being analyzed correctly
Milkdrop works too!