Running MM under Mac OS X with Wineskin

Any ideas about how to improve MediaMonkey for Windows 4? Let us know!

Moderator: Gurus

tarasis
Posts: 71
Joined: Thu Feb 16, 2006 6:29 am
Location: Buchholz, Germany
Contact:

Re: Running MM under Mac OS X with Wineskin

Post by tarasis »

What licensing issues? Things like File format support?

There are other music players available and a new one (Vox) is about to be released which runs in Sandbox mode so that it can go on sale via the Mac App Store. But you don't have to sell via the Mac App Store if you don't want to, and if you don't then you don't need to worry about being sandboxed.

I have a Mac Dev account but don't remember seeing anything that would prevent MM from being able to be sold.
Peke
Posts: 17457
Joined: Tue Jun 10, 2003 7:21 pm
Location: Earth
Contact:

Re: Running MM under Mac OS X with Wineskin

Post by Peke »

It is not as simply as is. From my understanding (at least what I have read and I'm not competents to make official statements) in some cases Developers are oliged to use official SDK which have own restrictions and we would be needing to exclude some of our code that are essential to MMW functionality.

The most strongest example I think is still applying would be usage of Gracenote CDDB where in third party deve EULA it is clearly stated that no other metadata resources should be available in app that uses Gracenote and additional cost would be involved in fetching data. Simply said if Gracenote is used than no Amazon search and no ability to let Script developers to develop search scripts,...
Best regards,
Peke
MediaMonkey Team lead QA/Tech Support guru
Admin of Free MediaMonkey addon Site HappyMonkeying
Image
Image
Image
How to attach PICTURE/SCREENSHOTS to forum posts
markstuartwalker
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Post by markstuartwalker »

Hello, I've been away from this forum for quite a while and I started this thread.

A recent purchase of a Mac Mini reinvigorated my interest in Wineskin. Much to my satisfaction it would appear that much progress has been made. MediaMonkey (skinless) worked out of the box!! No additional dlls or installs

* Wineskin 2.5.9
* Wine 1.6X
* OSX 10.8.4
* MM 4.0.7.1511

I am pleasantly pleased by the performance too, though this is likely to be the faster Mac.

I have also used the undocumented "OSX mode" in my d_itunes4 driver to export to native OSX iTunes and that works too!
http://www.flickr.com/photos/markstuart ... 4870102381
Last edited by markstuartwalker on Wed Jul 31, 2013 11:03 am, edited 1 time in total.
Windows 7,8 / Ubuntu 13.10 / Mavericks 10.9 / iOS 7.1 / iTunes 11.1
iTunes plugin (d_itunes & itunes4) http://www.mediamonkey.com/forum/viewto ... =2&t=45713
Running MM under Mac OS X with Wine http://www.mediamonkey.com/forum/viewto ... =4&t=58507
monyet
Posts: 14
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Post by monyet »

Hi Mark, good to hear.

I just tried installing MM with the new Wineskin, and I am able to get it running, but then it freezes up after about a minute. None of the GUI is accessible and I have to quit. Maybe I'm doing something wrong.

I'm running 10.7.5 on a mid-2009 MB Pro FWIW.
markstuartwalker
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Post by markstuartwalker »

monyet wrote:Hi Mark, good to hear.

I just tried installing MM with the new Wineskin, and I am able to get it running, but then it freezes up after about a minute. None of the GUI is accessible and I have to quit. Maybe I'm doing something wrong.

I'm running 10.7.5 on a mid-2009 MB Pro FWIW.
Make sure you run in skinless mode - this makes a huge difference to performance (and I expect reliability).
Also, my test was under Mountain Lion. Previous experience under Lion proved to work but occasional oddities did happen.
Windows 7,8 / Ubuntu 13.10 / Mavericks 10.9 / iOS 7.1 / iTunes 11.1
iTunes plugin (d_itunes & itunes4) http://www.mediamonkey.com/forum/viewto ... =2&t=45713
Running MM under Mac OS X with Wine http://www.mediamonkey.com/forum/viewto ... =4&t=58507
monyet
Posts: 14
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Post by monyet »

markstuartwalker wrote:Make sure you run in skinless mode - this makes a huge difference to performance (and I expect reliability).
Also, my test was under Mountain Lion. Previous experience under Lion proved to work but occasional oddities did happen.
By running in "skinless" mode, do you mean when installing MM uncheck the box that allows you to "enable full skinning (override the Windows system theme)"? Or is this an option when making the wrapper with Winery?

Also, whenever I attempt to make a wrapper Winery asks if I want it to download Mono (for .NET applications). Do I need this to run MM or not? Because the download constantly times out before the wrapper is finished. If Mono is necessary, do you know if there's any way to download and install it manually? It's an MSI file, so I don't know how I'd run it under OSX.

Thanks.
monyet
Posts: 14
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Post by monyet »

Nevermind. I think I figured it out just now. When Winery asks you what .exe to use to run the application, I should select "MediaMonkey (non-skinned).exe", correct?
markstuartwalker
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Post by markstuartwalker »

I downloaded Mono and everything else was default. Yes, use the (skinless).exe
Windows 7,8 / Ubuntu 13.10 / Mavericks 10.9 / iOS 7.1 / iTunes 11.1
iTunes plugin (d_itunes & itunes4) http://www.mediamonkey.com/forum/viewto ... =2&t=45713
Running MM under Mac OS X with Wine http://www.mediamonkey.com/forum/viewto ... =4&t=58507
monyet
Posts: 14
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Post by monyet »

Yeah, took me a bit too figure that one out. So MM seems to be running fine despite not having been able to download and install Mono. Truthfully, all I've done so far is reassemble my library. Tonight, after work, I'll try playing tracks. So far though, it seems Mono might not even be necessary.
markstuartwalker
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Post by markstuartwalker »

I think that playing music will not work. The MAD plugin was used before but I am having trouble locating a copy today.
Windows 7,8 / Ubuntu 13.10 / Mavericks 10.9 / iOS 7.1 / iTunes 11.1
iTunes plugin (d_itunes & itunes4) http://www.mediamonkey.com/forum/viewto ... =2&t=45713
Running MM under Mac OS X with Wine http://www.mediamonkey.com/forum/viewto ... =4&t=58507
monyet
Posts: 14
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Post by monyet »

My install kind of works at this point. When playing tracks off a playlist of my entire library MM would skip several songs between tracks, as if they were unplayable files before settling on one to play. Same happened if I were to skip forward a track: MM would jump through several files before playing one. Otherwise, seems to run okay.

I'm still not sure whether or not Mono is installing completely when I create wrappers. When I do create a new wrapper, the prompt comes up to download Mono, then a download progress window appears but it doesn't clearly indicate how large, or how long the file will take to download:
Image
After about 7 minutes the download window disappears and Winery tells me my wrapper has been completed. No indication of whether Mono finished downloading and/or successfully was installed.

Would I be able to copy the MAD plug in out of my old MM wrapper and into my current install?
markstuartwalker
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Post by markstuartwalker »

Sorry, no idea about that. All the downloads worked quickly and flawlessly for me.

I am having trouble with the MAD plugin too. It raises an error on installation and says it is not installed. :-(
Last edited by markstuartwalker on Fri Aug 02, 2013 9:35 am, edited 1 time in total.
Windows 7,8 / Ubuntu 13.10 / Mavericks 10.9 / iOS 7.1 / iTunes 11.1
iTunes plugin (d_itunes & itunes4) http://www.mediamonkey.com/forum/viewto ... =2&t=45713
Running MM under Mac OS X with Wine http://www.mediamonkey.com/forum/viewto ... =4&t=58507
markstuartwalker
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Post by markstuartwalker »

My long term goal for this project was to run MM under Wine and export it's music into an OSX native iTunes and from there into my iPhone.

For those of you who are curious, here is the Applescript code which affects the change

Code: Select all

(*
*)
on run argv
	if (count of argv) > 0 then
		set playlistFolder to item (1) of argv
		set playlistFolder to POSIX file playlistFolder
	else
		-- Where all the playlists are
		set playlistFolder to choose folder with prompt "Please choose the folder containing the Playlists"
	end if
	
	log playlistFolder
	set playlistFiles to my getPlaylistNames(playlistFolder)
	
	
	--set root to playlistFolder as string
	set addCount to 0
	
	-- loop through each of the playlists
	set playlistcount to count of playlistFiles
	repeat with i from 1 to the playlistcount
		
		-- the filename
		set theFile to item i of playlistFiles
		
		-- build the playlist name
		set theName to my nameOf(POSIX path of theFile)
		--display dialog "Playlist to import " & theName giving up after 1
		
		-- find or create the playlist in iTunes
		tell application "iTunes"
			try
				set new_playlist to (some playlist whose name is theName)
			on error errmesg number errn
				--display dialog errmesg & return & return & "error number: " & ¬
				(errn as text)
				log "Create " & theName
				set new_playlist to (make new user playlist with properties {name:theName})
			end try
			
		end tell
		
		-- read the file contents
		set thecontents to my readFile(POSIX path of theFile)
		set thelines to every paragraph of thecontents
		
		-- push these lines into iTunes
		set addCount to addCount + (my playlistToItunes(thelines, new_playlist, playlistFolder))
		
		
	end repeat
	
	log "Complete. Added=" & addCount
end run

on readFile(unixPath)
	set foo to (open for access (POSIX file unixPath))
	set txt to (read foo for (get eof foo))
	close access foo
	return txt
end readFile

on playlistToItunes(thelines, new_playlist, playlistFolder)
	set addCount to 0
	set thePathCount to my checkLInes(thelines)
	
	-- loop through the lines
	tell application "iTunes"
		set i to 1
		
		-- Get the list of tracks
		set theTracks to (get a reference to every track of new_playlist)
		set k to count of items of theTracks
		--display dialog k
		--display dialog thePathCount
		
		if not k = thePathCount then
			repeat with j from 1 to the count of thelines
				
				set thetrack to (item j of thelines) as string
				if not thetrack = "" then
					
					set thetrack to POSIX path of (playlistFolder) & thetrack
					
					repeat while (i ≤ k)
						-- Find the path on this track
						set theLocation to (location of (item i of theTracks)) as text
						set theLocation to POSIX path of theLocation
						--log i & k
						--log thetrack & " " & theLocation
						
						-- compare the new and old location
						if not theLocation = thetrack then
							-- remove the offending track from the playlist
							--log "delete " & i & theLocation
							delete item i of theTracks
							set k to k - 1
						else
							exit repeat
						end if
					end repeat
					
					if not (i ≤ k) then
						
						-- establish the track file path
						--log "Track" & thetrack
						set thetrackPath to POSIX file thetrack as string
						
						-- add the path to the playlist 
						-- if it exists already it will be re-used
						--log "Add " & thetrackPath
						set itTrack to add thetrackPath to new_playlist
						
						--establish the metadata XML file
						set thetrack to my pathOf(thetrack) & ".xml"
						set thetrackPath to POSIX file thetrack as string
						--log "Add xml" & thetrackPath
						
						-- read the XML file contents and extract the parameters
						set theXmlLines to every paragraph of my readFile(POSIX path of thetrackPath)
						set therating to my valueOf(theXmlLines, "rating")
						set playedcount to my valueOf(theXmlLines, "playcounter")
						set playeddate to my valueOf(theXmlLines, "lastplayed")
						set seasonnumber to my valueOf(theXmlLines, "id")
						
						repeat with n from 1 to 3
							try
								if not ((rating of itTrack) = therating) then set rating of itTrack to therating
								if not ((played count of itTrack) = playedcount) then set played count of itTrack to playedcount
								if not (playeddate = "30/12/1899") then -- special case for unassigned 
									if not ((played date of itTrack) = playeddate) then set played date of itTrack to date playeddate
								end if
								if not ((season number of itTrack) = seasonnumber) then set season number of itTrack to seasonnumber
								exit repeat
							on error line number num
								delay 0.1
								log thetrackPath
							end try
						end repeat
						--my syncID3(itTrack, theXmlLines)
						set addCount to addCount + 1
						
					end if
					set i to i + 1
				end if
			end repeat
		end if
	end tell
	return addCount
end playlistToItunes

(*
on syncID3(itTrack, theXmlLines)
	set rating of itTrack to my valueOf(theXmlLines, "rating")
        delay 0.5
	set played count of itTrack to my valueOf(theXmlLines, "playcounter")
	set played date of itTrack to my valueOf(theXmlLines, "lastplayed")
        set season number of itTrack to my valueOf(theXmlLines, "id")
end syncID3
*)

on valueOf(theXmlLines, tag)
	
	set tag2 to "<" & tag & ">"
	--log "valueOf " & tag2
	
	repeat with j from 1 to the count of theXmlLines
		
		set theItem to (item j of theXmlLines) as string
		set n to offset of tag2 in theItem
		--log n
		if n = 1 then
			set theValue to text ((length of tag2) + 1) thru ((length of theItem) - (length of tag2) - 1) of theItem
			--log tag & " " & theValue
			return theValue
		end if
		
	end repeat
	
	log tag & " not found"
	return 0
	
end valueOf

on checkLInes(thelines)
	
	set k to 0
	repeat with j from 1 to the count of thelines
		set thetrack to (item j of thelines) as string
		if not thetrack = "" then
			--set j to j - 1
			set k to k + 1
		end if
		
	end repeat
	--set k to count of thelines
	
	return k
	
end checkLInes

on extOf(theFile)
	set theSuffix to text ((offset of "." in theFile) + 1) thru -1 of theFile
	return theSuffix
end extOf

on nameOf(thePath)
	set n to (offset of "/" in (reverse of characters of thePath) as string) - 1
	set theFile to text ((length of (thePath)) - n + 1) thru -1 of thePath
	set theName to text 1 thru ((offset of "." in theFile) - 1) of theFile
	return theName
end nameOf

on pathOf(thePath)
	set n to (offset of "." in (reverse of characters of thePath) as string) + 1
	set theName to text 1 thru ((length of (thePath)) - n + 1) of thePath
	return theName
end pathOf

on getPlaylistNames(playlistFolder)
	tell application "Finder"
		activate
		set playlistFiles to name of every file of folder playlistFolder
	end tell
	
	set root to playlistFolder as string
	
	set thePlaylistAliasList to {}
	set playlistcount to count of playlistFiles
	log playlistcount
	repeat with i from 1 to the playlistcount
		
		-- the filename
		set theFile to item i of playlistFiles
		--if type of theFile is file then
		
		set theSuffix to my extOf(POSIX path of theFile)
		--display dialog "Suffix " & theSuffix
		
		if theSuffix = "m3u" then
			
			set thePlaylist to {root & theFile} as alias
			
			copy thePlaylist to the end of thePlaylistAliasList
			
		end if
	end repeat
	return thePlaylistAliasList
end getPlaylistNames
Please do not this expect this to work for you today as it is a work in progress. It is using an especially configured version on my d_itunes plugin which exports the MM meta data (rating, playcounts) into xml files alongside the mp3 files.
Windows 7,8 / Ubuntu 13.10 / Mavericks 10.9 / iOS 7.1 / iTunes 11.1
iTunes plugin (d_itunes & itunes4) http://www.mediamonkey.com/forum/viewto ... =2&t=45713
Running MM under Mac OS X with Wine http://www.mediamonkey.com/forum/viewto ... =4&t=58507
monyet
Posts: 14
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Post by monyet »

Well I was finally able to install Mono using Winetricks, and was also able to get Gekko running as well. Unfortunately, MM still jumps over songs in my library while segueing between tracks. Sometimes the tracks being skipped are mp3s, sometimes flac. Other than that, it seems to work fine.
Peke
Posts: 17457
Joined: Tue Jun 10, 2003 7:21 pm
Location: Earth
Contact:

Re: Running MM under Mac OS X with Wineskin

Post by Peke »

Have you tried to Use Wave output?
Best regards,
Peke
MediaMonkey Team lead QA/Tech Support guru
Admin of Free MediaMonkey addon Site HappyMonkeying
Image
Image
Image
How to attach PICTURE/SCREENSHOTS to forum posts
Post Reply