July 23, 2008, 8:51 pm
Please Note:
This application and all support for it has officially been moved to my new website. Please visit that location to download the latest version or to submit a comment.
In my the first part of my Microsoft Zune review, I mentioned that frustration with the autoplaylist feature of the Zune jukebox software had driven me to write a VB app that converts iTunes playlists to Zune compatible *.zpl playlists. On Jake’s suggestion, that app is now available for download here.
The program is pretty simple to use. Just follow these handy steps:
- Download the zip file and unzip it to a directory of your choice
- Open iTunes and close the Zune jukebox software
- Right click on the playlist that you wish to export and select ‘Export Song List…’ from the context menu
- Choose where you’d like to save the playlist, and ensure that ‘Save as Type’ is set to *.xml
- Launch the ‘iTunes to Zune Playlist Converter.exe’ application from the unzip directory
- Use the browse button to load the saved *.xml file into the ‘iTunes Playlist File (XML)’ field
- Use the browse button to choose where you’d like to save the converted Zune Playlist file. Note that for the Zune player to recognize the new playlist, it must be saved to C:\Documents and Settings\User\My Documents\My Music\Zune\Playlists\ on Windows XP, or C:\Users\UserName\Music\Zune\Playlists on Windows Vista.
- Click the ‘Convert’ button, and wait for the success message box to pop up.
- Launch the Zune jukebox software and go into the ‘Playlists’ view. You should see your newly created playlist in the pane to the left. Note that it might take a second to recognize the playlist, and another minute or two after that until the list is playable, depending on the size of the list. This is because the Zune software has to sift through the playlist and link each referenced file to one in its current library before the list can be used.
There, that wasn’t too hard, was it? Lastly, it’s important to remember that this only works if the iTunes library and the Zune library in question are drawing from the same media files! That means that you should have the Zune jukebox software set to monitor the iTunes music folder that you are drawing from, so that the same files are referenced in both programs’ libraries.
This little hack worked well for me, and allowed me to load my Zune with playlists created in iTunes, without having to try and use the gimped Zune rating system and autoplaylists to do so.
Enjoy, and if you have any questions or comments, post here, or email me at jonfritz at gmail dot com.
Cheers,
Jon

Edit: Thanks to David F for pointing out a flaw in the program that made converting multiple playlists in one session a pain. The application is now fixed. If anybody notices any more bugs, please let me know so that they can be fixed immediately.
Tags:
apple,
application,
audio,
chatthreads,
convert,
download,
freeware,
howto,
itunes,
matchstick,
microsoft,
mp3 player,
music,
software,
utilities,
utility,
vista,
xp,
zune Category:
music,
tech |
15 Comments
February 25, 2008, 11:15 pm
Update: MKVOfDeath now has a new name:
XenonMKV - and a new site to match. It’s also
ready for use and is open-source under the General Public License. Please post any questions, compliments, comments or flames in the
XenonMKV Forum. Comments are now closed on this post. Thanks to everyone who’s helped out so far!
There’s been a fairly lively discussion ongoing in the GOTsent tutorial post, describing how to convert high-definition MKV files to properly play on the Xbox 360. The general consensus is that GOTsent is throwing errors for no discernable reason, and failing to produce files containing both audio and video on a regular basis.
Having experienced this issue myself, I’ve decided to look up the actual video demuxing, encoding and remuxing process and implement a tool to take over the GOTsent functions. I usually have better results when I write utilities myself, and I have several gigabytes of MKV files that I’d like to have functional on the 360.
Here’s a teaser screenshot at present to actually demonstrate that I’m working on it.
No expected release date, but I don’t expect the technical implementation to take much longer.

Technical details: This frontend is presently written in Visual Basic 2005, because I’m most comfortable with it for simple utilities, and it compiles out to an .exe file without too much nuisance. Hate on VB all you want, but it’s serving the purpose. I plan to add single file and batch file support, as well as a command line interface later on. The application will need the .NET Framework 2.0, and likely CCCP and AC3Filter.
I’m using the MKVtoolnix suite at present, and will be implementing Nero AAC encoder and MP4Box support shortly to finish off the process. I don’t plan to open source this utility unless one of the original authors of the included utilities indicates that I’m violating a license - and it’ll have to be an actual developer, not a Digg fanboy claiming I’m worse than pond scum by ignoring the GPL or whatever.
Any better suggestions for the name, other than “MKVOfDeath”? I thought it was going to be witty but it’s hard to come up with any more “red ring of death” jokes when all the popular Xbox 360 blogs have essentially clubbed that poor horse beyond recognition.
October 31, 2007, 11:58 pm
I recently had a request from Phil to rip a particular track to MP3 from a band’s MySpace page. While most music on MySpace is shoddily encoded at 96Kbps, sometimes it’s the only place available online to listen to a particular song. To save yourself from the agony of calling up a Web browser, going to the domain, and having ads foisted upon yourself, some technical work will get you set to have a fully unrestricted MP3 copy of the music.
Other solutions exist for this process, including connecting a 3.5mm cable from your sound card line out to sound card line in, and then recording the result, but this introduces even more quality loss to the process.
There are some technical restrictions on this process, and I advise anyone coming here to ask about them to seriously consider their questions before commenting. With a post title involving music and MySpace, I don’t expect the cream of the crop to start posting their wireless packet sniffing instructions or automated Flash extractor Linux tools (although that would be a pleasant change.)
You need a wired connection to the Internet to perform the packet capture. Most wireless card drivers don’t have the ability to capture packets, or they don’t work in this configuration.
- Download and install Wireshark, which is the newest version of the classic Ethereal network utility. The Windows installer also comes with a driver, WinPCap, that allows the packet capture to take place. Follow all default instructions in the installer.
- Close any programs that use your Internet or network connection. This includes other Web browsers, instant messaging programs, file sharing utilities and feed readers. While you don’t have to close everything, it’ll help make sure that there’s enough memory to load the MySpace page and capture the MP3 at the same time.
- Open Wireshark, then resize it to a standard window.

- Start a new Web browser window, resize it to a standard window, and click the Stop button to cancel the page load. You should have Wireshark and your web browser running side by side:

- Enter the address of the MySpace page in the web browser address bar, but don’t press Enter or Go yet.
- Switch to Wireshark, and click the Interfaces button - it’s the first one on the left:

- In the Interfaces window, look for the active wired Ethernet controller in your computer. The numbers for the controller should be slowly increasing:

- Click the Start button to the right of the controller. Immediately, switch back to your browser and let the MySpace page load. If the song isn’t the one you want, switch to it as quickly as possible. If you resize the Wireshark window, you’ll see packets scrolling past:

- Wait until the song is done or is almost done playing. (You really only need to wait until the song data is downloaded, though.) Once finished, click the Stop Capture button in Wireshark:

- Resize the Wireshark window. Copy and paste the following text into the Filter box, then click the Apply button.
http.content_type == "audio/mpeg"

- When you click the Apply button, you should only see one entry in the packet list. You may also see two dialog box with progress bars - one filters the captured packets, and the other decodes the MP3 file sequence.

- Resize the Wireshark window so that you can see the packet overview, as in the dialog below. Click on the Media Type header and cancel the progress windows.

- Right-click on the Media Type header and click Export Selected Packet Bytes. Enter a filename for the data, ending with the extension .mp3.
- Open the MP3 or import it into your library. You’ll likely have to provide artist and title information for the track, since it’s not included with the packet stream.
As a special bonus, I’ve also recorded a Wink tutorial on the process. The video takes the shortcut of applying the audio/mpeg filter before stopping the packet capture, so that you can save your song file immediately after it’s downloaded from MySpace.
Other possibilities to reduce processing time would be to set a filter, only capturing HTTP packets on port 80 following the audio/mpeg chain, and changing various configuration settings in Wireshark.
The band that I demoed the capture from is Stalling Dawn, who also have much higher quality tracks available to download directly from their PodShow page if you create an account. Unfortunately they don’t seem to have an official album released yet, but I’d definitely buy it if one ever comes out.
October 15, 2007, 2:30 pm
Just checked out the Eclipse SVN site and apparently the issue with dashes in new PHP filenames has been resolved. I upgraded my work copy to the latest nightly build and things seem to be going well. (The October 1st integration build might be better stability-wise, but I’ve had good luck with the nightly builds.)
For the record, after the upgrade, loading my workspace took about five minutes (Core 2 Duo @ 2.16GHz, 1GB RAM) with no discernable progress bar or CPU activity. Eclipse effectively looks like it’s frozen. Be patient; it’ll load eventually.
PDT, though, is about the single most useful tool I find for PHP development at work. The next front-runner is WinSCP, which has a really neat feature, Keep remote directory up to date:

This feature lets you have complete synchronization between a remote SFTP server and your local Eclipse workspace. It also supports private key encryption.
As a pair to WinSCP, I also use PuTTY, with anywhere from one to five sessions open at a time. PuTTY offers a neat tunnelling option, which I’ve mentioned before.
You can also access internal servers using one of these tunnels; for example, if I want to connect to a remote desktop session on host 192.168.1.101:3389 on my internal network, I’d use the following syntax:
Source port: 127.0.0.2:3389
Destination: 192.168.1.101:3389
Then, after establishing the SSH connection, using the 127.0.0.2 alias in Remote Desktop lets me connect to the machine behind the NAT traversal firewall.
Notepad++ is another program I highly recommend as a replacement for Notepad. If you can’t use TextMate because you’re not on a Mac, Notepad++ is an acceptable substitute. It offers some neat syntax highlighting features, and saves session history even when you exit.
Paint.NET is also a decent image editor, allowing you to verify hex values for colours and perform some minor tweaks to images without incurring the load time and aggravations in Photoshop.
July 17, 2007, 10:08 am
Let’s say you have a shared web hosting account on a random cheap provider, and the only way to access the MySQL server is to either connect from an SSH command line or use phpMyAdmin. While both of these options are okay, in some circumstances it’s not exactly wise to have a phpMyAdmin installation publically accessible, as it lends itself to repeated bruteforce attacks and is subject to server configuration changes. I know on my personal server, there have often been times that I’ve inadvertently left a myAdmin installation wide open for anyone to monkey with the database.
I also enjoy using an application called SQLyog, which is a Windows GUI tool for managing MySQL databases. The Community Edition of the application has proven to be more than sufficient for my random projects, and I highly suggest anyone doing database work on Windows take a look at the application.
Using some details from this article, with an updated version of PuTTY, here’s how I go about configuring my local system to connect to a remote MySQL server:
Start PuTTY:

Define your connection settings and save them:

Navigate to the Connection / SSH / Tunnels view, and provide the following settings:
Source Port: 3306
Destination: localhost:3306
(This assumes you don’t have a MySQL server running on your local machine. If you do, change localhost:3306 to localhost:freeport where freeport is the number of a free port on your workstation.)

Click the Add button, then save your connection settings. In the Forwarded Ports list, you should see L3306 localhost:3306.
Open the connection and sign in to the remote system.

Start SQLyog and define a connection to localhost:3306.

Your connection will be tunnelled through SSH to the remote server transparently. Make sure that you close SQLyog before you close the PuTTY tunnel.

Let me know how this works for your development situations - even if you have direct access to the MySQL server, you should still check out SQLyog for database development if you haven’t already tried it.
March 21, 2007, 10:56 pm
I know a lot of people in Southwestern Ontario have Rogers for their broadband ISP, and sometimes it’s extremely useful to be able to diagnose problems with your cable modem signal if you’ve been experiencing intermittent connection issues. Usually the phone support technicians won’t do anything based on this information, since they have the ability to read signal levels from the call center, but showing the levels to a field technician might assist in figuring out the issue.
Overview
In order to follow these instructions, you’ll need a Motorola SB5100-series modem provided by Rogers. These modems are the standard ones deployed for all tiers, with the exception of Ultra Lite; a few people I’ve talked to have had the old Terayon “black box” or “blue shark fin” models installed when they order the lower tier of service.
If you have Rogers Home Phone service, you’ll likely have a Scientific Atlanta voice+Ethernet gateway, which as far as I’m aware doesn’t work with this configuration page. You may want to check out the Rogers forums on dslreports.com for more information.
Your modem also must be active: this means that the first four lights (going from top to bottom) should be green, and the fifth light should be either solid amber or blinking amber. The last light (Standby) should be off. If your modem isn’t synchronized, you won’t be able to access the status page.
Configuration URL
The URL for the SB5100 configuration and status page is http://192.168.100.1. From this page, you can access the Signal and Logs tabs, which give most of the relevant information for the modem.
Signal Tab
In the signal tab, you’ll want to look for the following values:
- Downstream Signal to Noise Ratio (SNR): This number should be over 30 dB ideally; values under 30 indicate a less than quality connection, although it’s possible to have a number as low as 25 here with a working connection.
- Downstream Power Level: The power level is one of the more important factors in having a quality connection. This scale goes from -15 dB to +15 dB, with numbers closer to 0 dB being better. If this number is under -12 or over +12, you may have connection issues.
- Upstream Power Level: This value should be as low as possible, with values above 50 indicating connection quality loss. Anything up to 55 should be functional, but many connections will cut out completely above 57 dBmV.
A snapshot of my current signal readings:

The Logs tab will have information on the latest disconnects that the modem has experienced. Entries with a date of 1970-01-01 are errors that occurred before the modem received the latest timestamp information from the provider.
March 1, 2007, 3:37 pm
Thanks to Dave for this pointer:
The default VNC application on OS X really bites, so if you want to access your Mac remotely, get a copy of Vine Server.
For viewing the result on a PC, install UltraVNC and use the following connection settings for best results. (This assumes you’re on a local area network - both wireless and wired worked fine for me.)

February 17, 2007, 4:18 pm
I’m incredibly glad I didn’t release the first version of mountMerge last night. Apparently Java’s “delete” command does not respect symbolic links under Windows. As a result, my entire collection of files - over 800GB worth - was unceremoniously nuked.
I’ve spent the past day trying to recover what I can, since the delete operation didn’t actually overwrite the original files. They just didn’t appear in the directory structure. As of now, things have been shuffled around a little bit, but everything seems to be recovered okay.
The recovery app I used (which works fine under Vista, by the way) is called FreeUndelete. I’m not sure how its forensics compared to something like Runtime Software’s GetDataBack for NTFS, but it’s certainly quicker for what I needed to recover.
The application works really well, other than absolutely killing my filesystem. As a result, I’m going to do some more testing before I release it into the wild.
February 16, 2007, 1:49 pm
One of my “most desired features” for my Windows box is something that I’ve referred to as a merged mountpoint. Last night I made a significant amount of progress towards implementing this feature on my own. Here’s some background information:
Most users have one hard drive in your system, usually C:\. This drive will probably have your Windows installation, Program Files, Documents and Settings, and a few temporary files to start off; depending on how much stuff is installed, you’re looking at about 10GB taken up with a typical “workstation” installation. With a 120GB drive, that leaves you (after formatting and space conversion) about 100GB to work with.
On my system, I have random utilities, other applications like Visual Studio and Eclipse, and a few games. All in all, my 120GB C:\ is down to about 60GB for random media files, like music and video. I could probably fill this space up in about a week if I was really going at it, too.
If I add another hard drive to the system (D:\), there’s another 120GB of space, but it’s on a different physical drive. I have a choice to make - do I start installing programs and utilities to the D:\ drive, or do I start locating any new media files on D:\?
Hit the jump for more details…
Continue reading ‘mountMerge in progress’ »
February 6, 2007, 10:56 pm
As a second part to the tutorial series (following the DVD Decrypter tutorial), I present the DVD Shrink resizing tutorial for resizing retail discs.
Again, it’s a Wink Flash demo and it’s totally up to you what you do with the information. Hopefully this should help you get a better idea of the concepts behind video compression.