Running MM under Mac OS X with Wineskin

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

Moderator: Gurus

Re: Running MM under Mac OS X with Wineskin

Postby tarasis » Wed Jul 17, 2013 1:52 am

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.
tarasis
 
Posts: 66
Joined: Thu Feb 16, 2006 6:29 am
Location: Buchholz, Germany

Re: Running MM under Mac OS X with Wineskin

Postby Peke » Thu Jul 18, 2013 11:42 pm

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,
Pavle
MM Core Developer and Admin of free MediaMonkey extensions Hosting
Image
Image
Peke
 
Posts: 10587
Joined: Tue Jun 10, 2003 7:21 pm
Location: Serbia

Re: Running MM under Mac OS X with Wineskin

Postby markstuartwalker » Wed Jul 31, 2013 9:39 am

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/markstuartwalker/9409686206/in/set-72157634870102381
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) viewtopic.php?f=2&t=45713
Running MM under Mac OS X with Wine viewtopic.php?f=4&t=58507
markstuartwalker
 
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Postby monyet » Wed Jul 31, 2013 10:19 am

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.
monyet
 
Posts: 13
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Postby markstuartwalker » Wed Jul 31, 2013 10:59 am

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) viewtopic.php?f=2&t=45713
Running MM under Mac OS X with Wine viewtopic.php?f=4&t=58507
markstuartwalker
 
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Postby monyet » Wed Jul 31, 2013 9:59 pm

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: 13
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Postby monyet » Wed Jul 31, 2013 10:06 pm

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?
monyet
 
Posts: 13
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Postby markstuartwalker » Thu Aug 01, 2013 1:42 am

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) viewtopic.php?f=2&t=45713
Running MM under Mac OS X with Wine viewtopic.php?f=4&t=58507
markstuartwalker
 
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Postby monyet » Thu Aug 01, 2013 3:27 am

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.
monyet
 
Posts: 13
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Postby markstuartwalker » Thu Aug 01, 2013 10:49 am

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) viewtopic.php?f=2&t=45713
Running MM under Mac OS X with Wine viewtopic.php?f=4&t=58507
markstuartwalker
 
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Postby monyet » Thu Aug 01, 2013 9:06 pm

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?
monyet
 
Posts: 13
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Postby markstuartwalker » Fri Aug 02, 2013 9:24 am

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) viewtopic.php?f=2&t=45713
Running MM under Mac OS X with Wine viewtopic.php?f=4&t=58507
markstuartwalker
 
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Postby markstuartwalker » Fri Aug 02, 2013 9:33 am

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) viewtopic.php?f=2&t=45713
Running MM under Mac OS X with Wine viewtopic.php?f=4&t=58507
markstuartwalker
 
Posts: 931
Joined: Fri Jul 10, 2009 8:10 am

Re: Running MM under Mac OS X with Wineskin

Postby monyet » Sat Aug 03, 2013 10:48 pm

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.
monyet
 
Posts: 13
Joined: Sun Jun 14, 2009 5:59 pm

Re: Running MM under Mac OS X with Wineskin

Postby Peke » Sun Aug 04, 2013 8:05 am

Have you tried to Use Wave output?
Best regards,
Pavle
MM Core Developer and Admin of free MediaMonkey extensions Hosting
Image
Image
Peke
 
Posts: 10587
Joined: Tue Jun 10, 2003 7:21 pm
Location: Serbia

PreviousNext

Return to Wishlist (mmw)

Who is online

Users browsing this forum: No registered users and 13 guests