Can I print the titles of all the songs in my Windows Media Player library?

And, if yes, how?

Thanks.

Do you keep all your music files in one folder? If so, this might be a Windows question, not a WMP question. Not that I know the answer, but that might be the first step for someone else to figure it out.

I have a program I downloaded called " JDirPrinter.exe " that I use all the time. It was free, as far as I know it still is…do a Google on JDirPrinter.
You can select the directory you want to print and the characteristics you want to record.

Many thanks! I’ll check it out.

If you’ve edited any track info in WMP, it’s not stored as part of the .mp3, so you’d be printing what was originally in there.

Just in case nothing works out, you could save the playlist in a .m3u format and then open it in Winamp. You can then go to Misc> Misc > Generate HTML Playlist and then print it out from IE or Firefox.

Here’s some Windows Script Host code to do it. Paste this into a text file called “listsongs.js” and then run “cscript //nologo listsongs.js” from the command line. If you want to save the list, you can run “cscript //nologo listsongs.js > my_song_list.txt”.



var wmp = WScript.CreateObject("WMPlayer.OCX.7");
if(wmp)
{
    var collection = wmp.MediaCollection;
    
    if(collection)
    {
        var allsongs = collection.getByAttribute("MediaType", "audio");
        if(allsongs)
        {
            for(var i=0; i<allsongs.count; i++)
            {
                var item = allsongs.item(i);
                var album = item.getItemInfo("album");
                var artist = item.getItemInfo("artist");

                if(album && artist)
                    WScript.Echo(item.name + " (from \"" + album + "\" by " + artist + ")");
                else if(artist)
                    WScript.Echo(item.name + " (by " + artist + ")");
                else
                    WScript.Echo(item.name);
            }
        }
    }
}
else
{
    WScript.Echo("Error accessing WMP database.");
}


Oh, and if you really do just want the titles, change this:



                if(album && artist)
                    WScript.Echo(item.name + " (from \"" + album + "\" by " + artist + ")");
                else if(artist)
                    WScript.Echo(item.name + " (by " + artist + ")");
                else
                    WScript.Echo(item.name);


to this:



                WScript.Echo(item.name);


…I just thought it was nicer to print out the album and artist if it was available.