Posts tagged ‘howto’

iTunes to Zune Playlist Converter

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:

  1. Download the zip file and unzip it to a directory of your choice
  2. Open iTunes and close the Zune jukebox software
  3. Right click on the playlist that you wish to export and select ‘Export Song List…’ from the context menu
  4. Choose where you’d like to save the playlist, and ensure that ‘Save as Type’ is set to *.xml
  5. Launch the ‘iTunes to Zune Playlist Converter.exe’ application from the unzip directory
  6. Use the browse button to load the saved *.xml file into the ‘iTunes Playlist File (XML)’ field
  7. 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.
  8. Click the ‘Convert’ button, and wait for the success message box to pop up.
  9. 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.

XenonMKV: Convert your MKV files to work on the Xbox 360

As the two most commented posts on my site show, people are really interested in getting their high-definition MKV files to play on the Xbox 360. Unfortunately, the existing GOTsent utility isn’t working out as a complete solution, and complicates the situation by trying to cater to PlayStation 3 users. ;)

I’ve developed a tool in VB2005 that automates the conversion process. It doesn’t transcode the video - just the audio so that the file will properly play. While the tool isn’t complete at present, and probably won’t work for files above 4GB, it’s served my immediate needs. I’d encourage anyone interested to check out the XenonMKV site and download a copy if interested. There’s also a support forum for people that run into issues with files.

Removing Explorer extensions: OneNote, Groove, WinRAR and 7-Zip

I’m currently reinstalling XP Pro on my main system in preparation for some upcoming video editing work, and I’m just getting used to certain tweaks I have to perform. The most common offenders that eat up screen real estate and menu placement are the Office 2007 extensions for OneNote - Open as Notebook in OneNote and Groove Folder Sharing, which appear in certain context menus. I also remove the 7-Zip folder extension and cascade the WinRAR compression options.

To get rid of the Groove menu, which places itself nearly everywhere you might possibly right-click, it’s easiest just to uninstall the program from Add/Remove Programs if you’re not using it. Browse for the Office installation in the list:

Add and Remove Programs - Office 2007

Select the Change button, then in the next dialog, choose Add or Remove Features, then click Continue. Beside Microsoft Office Groove, click the dropdown menu and select “Not Available.” Complete the setup process and the menu will cease to appear.

Remove Groove from Office 2007

If you want to remove the Groove menu without removing the Groove application itself, this forum post gives a description of the registry keys where you can find and remove the Groove entries. For posterity, they are:

HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers
HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers
HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers
HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers

Getting rid of the OneNote context menu item involves removing the following registry key (as mentioned in the comments on Daniel Escapa’s blog:

HKEY_CLASSES_ROOT\Directory\shell\OneNote.Open

You could take the same approach as mentioned for Groove by completely removing OneNote from the Office 2007 installation, but I actually use OneNote on a regular basis and want to keep it around.

7-Zip is much easier to deal with. Just launch the 7-Zip File Manager, then click Tools / Options. Navigate to the Plugins tab and click the Options button:

7-Zip Context Menu options

Deselect the “Integrate 7-Zip to shell context menu” checkbox, then OK out of the option boxes and close 7-Zip.

Finally, WinRAR has a similar removal method: start the program, then click Options / Settings. Under the Integration tab, uncheck “Integrate WinRAR into shell”, or if you prefer a single-item entry in the context menu, check the “Cascaded context menus” box.

WinRAR Integration Settings

You can also reduce the number of items displayed in the menu by exploring the “Context menu items” dialog. For example, I generally remove the “Compress and email” options since I switch email clients fairly regularly.

WinRAR Context Menu Items dialog

Once done, OK out of the settings dialogs and exit WinRAR. You’ll have a much cleaner context menu to work with.

Edit: Fixed a registry path and removed a blockquote tag.

More Sony KF42E200A troubleshooting for 1:1 pixel / 720p

I’ve discussed the holy grail of pixel mapping for the Sony E2000-series LCD projection televisions before. With the latest nVidia drivers on Vista, I believe I’ve found the most practical solution to this issue.

First, it’s notable that even using the HDMI inputs, 1:1 pixel mapping doesn’t seem easily attainable from a PC. While the native resolution of this particular TV is indeed 720p (1280×720, progressive), there is still a significant amount of overscan to account for.

My particular solution involves setting two display resolutions. The first is a 1:1 (or approximate) pixel mapped image when at the Windows desktop, set at 1152×648. This resolution is automatically detected in the Windows Display control panel and nVidia resolution list when connected with a DVI to HDMI cable. The second is a full 720p image while in Windows Media Center, which can have its own resolution detected independently:

1:1 pixel mapping and full 720p

To set up this type of display mapping, first install the latest nVidia drivers. Once installed, you should have an nVidia Control Panel option when right-clicking the desktop. Use “Advanced Mode” if prompted.

  • In Windows or the nVidia control panel, change your display resolution to 1280×720.
  • In the nVidia control panel applet, there should be a new “Resize HDTV Desktop” setting at the bottom of the tree view. Select this option.
Resize HDTV menu option
  • The right panel contains a frame for the “Resize my HDTV Desktop” option. Click this option, then click the Resize Desktop button.
Resize HDTV frame
  • When resizing the desktop, size it so that the arrows are slightly outside your HDTV display area. I find that putting the arrowheads offscreen (so that only the bottom parts of the arrows display) is the best setting.
Resize arrows
  • Close the resize desktop dialog and click OK (if available) in the nVidia control panel. Open the Display control panel again and change the resolution to 1152×648.
  • You should now be able to see all desktop contents, in a 1:1 or close to 1:1 display. Try adjusting TV display settings, if possible, to improve the display quality.
  • When ready, start Windows Media Center and run the Display wizard. Select 720p resolution. Media Center will automatically correct for some overscan.
  • Try playing a high definition, 720p or higher video. If there are black borders surrounding the video, you’ll need to close Media Center and repeat this process, but increase the desktop resizing correction. When Media Center closes, verify that your resolution returns to a standard 1152×648 so that the Start Menu and desktop are completely visible.

It might not be a perfect solution, but it’s a significant step up from previous solutions involving third party utilities. Did it work for you, or do you have any other suggestions? Let me know in the comments.

HOWTO: Swipe music from MySpace players at full quality

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.

  1. 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.
  2. 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.
  3. Open Wireshark, then resize it to a standard window.
    Wireshark default window
  4. 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:Wireshark/Firefox layout
  5. Enter the address of the MySpace page in the web browser address bar, but don’t press Enter or Go yet.
  6. Switch to Wireshark, and click the Interfaces button - it’s the first one on the left:Wireshark - Interfaces
  7. In the Interfaces window, look for the active wired Ethernet controller in your computer. The numbers for the controller should be slowly increasing:Interfaces Window
  8. 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:Capture Started
  9. 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:Stop capture button
  10. Resize the Wireshark window. Copy and paste the following text into the Filter box, then click the Apply button.http.content_type == "audio/mpeg"

    Filter audio/mpeg

  11. 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.Wireshark progress bar
  12. 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.09_capture.PNG
  13. Right-click on the Media Type header and click Export Selected Packet Bytes. Enter a filename for the data, ending with the extension .mp3.
  14. 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.

Switching Gmail accounts? Transfer your email without third party programs.

I’ve recently switched my Gmail account to a new alias (jake.billo). It looks much more professional than my Evergreen98 screenname, especially considering Outlook 2003/2007’s habit of attaching “sent by X on behalf of Y” to any outgoing message using a different From address. I don’t mind having the on behalf of text in the subject line, as long as it’s reasonably professional and not a slightly-outdated alias. However, I have 363MB of searchable, indexed content from my existing account that I’d prefer not to lose, and would like to transfer to my new account.

While I don’t have a “Gmail for your domain” account setup configured, since I like the IMAP support that Dreamhost provides, these instructions from Silvermac are fairly useful. Here’s the adapted process I used for moving evergreen98 to jake.billo:

  1. Sign into your old account, then click Settings / Forwarding and POP. Set up forwarding to your new email account, and also select the Enable POP for all mail (even mail that’s already been downloaded) option. Save your changes: Gmail Transfer Process 1
  2. Sign into your new account, then click Settings / Accounts. Under the “Get mail from other accounts” section, add a new (or additional) POP account with the name of your old Gmail account. Provide your username and password for your old account, as well. You should use pop.gmail.com for the incoming mail server. (The server address on Silvermac is undocumented - use the official one.)Gmail Transfer Process 2
  3. The synchronization process will begin and Gmail will begin fetching the contents of your old account. For me, this process is taking several hours, but will run in the background fetching 200 messages at a time: Gmail Transfer Process 3

There you have it - get rid of your embarrassing EmoKid10471XxXHaRdCoRE alias, and move over to something that won’t get your resume filed into the circular filing cabinet on the floor.

Edit: Fixed some horrible post formatting. WordPress’ editor really needs to shape up.

Tunnelling through PuTTY to MySQL, using SQLyog

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:
PuTTY 01

Define your connection settings and save them:
PuTTY 02

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.)

PuTTY 03

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.
PuTTY 04
Start SQLyog and define a connection to localhost:3306.
PuTTY 05
Your connection will be tunnelled through SSH to the remote server transparently. Make sure that you close SQLyog before you close the PuTTY tunnel.
PuTTY 06

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.