Sunday, January 01, 2006

The problem with Sony MP3 players is that the software is not intuitive and buggy. The Disc2Phone application included with my Sony Ericsson W800i fails to copy audio tracks to the phone properly. I was looking for a way to use Winamp or iTunes to manage the MP3s on the phone. As it turned out, I was able to do it with iTunes. 

I was able to wrap it all up in a small C# program. Download it from here . Update : this now also deletes files on the phone that are not in the play list, keeping it completely in sync. It only deletes files inside the MP3 directory, so dont put anything else in there :)

Instructions:
1. Install all of the requirements.
2. Download the setup and install.
3. Start iTunes, if it is not started the program will start it for you, but be patient.
4. Select the playlist you want to synch with the phone. It is better to create a new playlist like "W800i List" and add your tracks to this.
5. Click on the Synch button to start synchronising.
6. This takes a while. You can speed up the copy process by using a Memory Stick reader, which is faster than going through the USB data cable. Take the memory stick out of the phone, put it in the reader, plug the reader in and synch.

Disclaimer: Use the program at your own risk. This program is un-supported and I will not be held for any damages, liabilities, warranties, natural disasters and if your dog eats it. However, feel free to report bugs and features.

Requirements:

.Net 2.0 Framework
iTunes 6.0

How it all works

When plugged in to the computer,the phone is bacially a Mass Storage Device just like any other USB flash drive. The Memory Stick on the phone contains a directory "MP3". All that needs to be done is to copy the MP3s to this folder. Use the System.IO.DriveInfo.GetDrives() method of the DriveInfo class in .Net 2.0  to get an array of DriveInfo objects representing all the drives on the computer. Iterate through this array to check for removable drives using the DriveInfo.DriveType property and then check for drives that have a "MP3" directory in the root. Use the DriveInfo.IsReady to check if the removable disc is ready.

The next step is to copy only the MP3s in a specific iTunes playlist. iTunes has an exellent COM interface. To program against this in C#, add a COM reference to the "iTunes 1.6 Type Library". iTunes is started by;

itunesApp = new iTunesAppClass();

Use the iTunesAppClass to get the collection of playlists;

playlistCollection = itunesApp.LibrarySource.Playlists;

You can then get a specific playlist, like the playlist you want to synch the phone with;

playListToSynch = playlistCollection.get_ItemByName("W800i");

The playlist will have a collection of IITFileOrCDTrack objects. Each IITFileOrCDTrack object has  Artist,Album and Location properties. The Location property gives the physical location of the audio track on the computer. This is used to copy the track to the phone. Iterate through the tracks in the playlist and copy the files to the phone. Thats all there is to it. With this technique it is possible to use iTunes with other USB type devices that play MP3's.

The next step is to improve the synch functionality, right now it is just a one way copy process. Update : This functionality is now included. 

 

Thursday, February 16, 2006 12:10:10 PM (GMT Standard Time, UTC+00:00)
You've approached this problem in a similar way to I did except that I'm a Mac user. I knocked up a GUI app in X-Code to do exactly the same thing, using the Applescript interface it used iTunes to update the phone.

Then I realised that I could actually do it using a pure Applescript within iTunes itself. I have an item in iTunes script menu (which only appears when there are scripts in the script directory) which will sync the currently selected playlist to a browseable location.

iTunes on the PC support JScript and VBScript I believe and so it should be possible to do it the same way.

P.S. Thanks for the SSL certification trick which is how I found your blog.
Wednesday, March 22, 2006 10:38:12 AM (GMT Standard Time, UTC+00:00)
Just a quick note to say thank you so much for your W800i iTunes Synchroniser program, i have found it very useful, better than Disc2phone as iTunes is much more flexible, ive even mentioned your website and this program to my Expansys Mobile phone forum as i know a few people would love this !!!, just wondered if you have managed to get anywhere with an actual "Sync" instead of just copying the files across as obviously it would save a lot of time keep copying the same tracks across to the MP3 folder.

Thanks again

Darren
Darren Wheeler
Wednesday, March 22, 2006 11:06:06 AM (GMT Standard Time, UTC+00:00)
Yup, I've actually fixed this and this is in the version you downloaded. Check the option "Overwrite existing files ?" to copy all the files over each time, other wise only new files are copied over. At the end of the copy process files not in your playlist are deleted from the phone.
Glad it helps..and thanks for your feedback. Let me know if you have any more feature requests.
hibri
Friday, March 24, 2006 3:06:54 PM (GMT Standard Time, UTC+00:00)
Hi Hibri, had a few problems with my playlist actually, it only copies about 10 tracks then says complete but obviously isn't?
Tried a few times and had the same problem, sorry to be the barer of bad news, if you want me to test any updates let me know, happy to help.
Darren Wheeler
Friday, March 31, 2006 11:24:36 AM (GMT Standard Time, UTC+00:00)
Afraid I'm having a similar problem when it comes to copying about 800megs worth of mp3s in a playlist to my w800i. After about 350 megs its says it is complete. If it helps, the progress bar doesn't reach the end, I've tried rerunning it and it just syncs those files already copied and gives me the same complete message. I only have about 250MB space left on my hardrive, could this be the problem? Other then that, nice work, damn site better then SE's lame software.
Saturday, April 01, 2006 11:35:35 PM (GMT Standard Time, UTC+00:00)
Thank you very much for this. Is there any chance that the software could be modified so it also synchronises AAC (.m4a) files. I believe these offer a better sound quality per byte & I can confirm that my W800i can play them fine (with the latest software).

I've been struggling for a while as I had a set of AAC files in my play list with no MP3's and every time I went to sync, it deleted the root\MP3 folder. Took me a while to work out what was going on.

But again, thanks - extremely usefull software.

M<
Martin
Sunday, April 02, 2006 9:15:59 AM (GMT Standard Time, UTC+00:00)
Hi Martin,
I have fixed the program to include this. Thanks for letting me know that the phone supports AAC. Please download the latest version from
http://www.hibri.net/2006/04/02/UpdateToTheW800iITunesSynchronizer.aspx
Friday, May 19, 2006 9:10:43 PM (GMT Standard Time, UTC+00:00)
Could you get this to sync with itunes folders?
it would be handy to have a folder in itunes which contained a few smart playlists..
rob
Comments are closed.