{"id":58,"date":"2004-04-17T16:37:30","date_gmt":"2004-04-17T21:37:30","guid":{"rendered":"http:\/\/fiveforks.com\/ted\/2004\/04\/super_geeky_ipo\/"},"modified":"2012-01-04T16:37:00","modified_gmt":"2012-01-04T21:37:00","slug":"super_geeky_ipo","status":"publish","type":"post","link":"https:\/\/www.fiveforks.com\/ted\/2004\/04\/super_geeky_ipo\/","title":{"rendered":"Super Geeky iPod Stuff"},"content":{"rendered":"<p>One problem with the iPod is that it doesn&#8217;t store mp3 files by name anywhere. All the mp3&#8217;s are stored in hidden directories by numbers. So I was at work and wanted a way I could move songs onto my hard drive there and listen to them. I found a neat piece of open source freeware called <A HREF=\"http:\/\/www25.brinkster.com\/carmagt\/SharePod\/\">SharePod<\/A> that lets you do just this as well as export playlists or just play songs from your computer that are on your iPod. It does this by running a program that you store on the iPod itself so you don&#8217;t have to install anything on the host computer.<\/p>\n<p><!--more--><br \/>\nBut after extracting a few songs onto the hard drive I found I was missing my album playlists that I had on my Archos and in my folders at home. So I wanted to have the songs sort correctly by track number, but SharePod doesn&#8217;t get the track numbers or have any way to incorporate them into the file name.<\/p>\n<p>I took the source files home and started poking around in the Visual Basic code. It was very confusing because I didn&#8217;t even know what the structure of the database was (the file on the iPod where all the data is stored is called iTunesDB). It&#8217;s not like they&#8217;re just going to make it normal so there are all these nested records, where a song has one record but then the title, artist, etc. are stored in separate records within that record (not fields, records).<\/p>\n<p>I found a <A>page<\/A> on SourceForge that described the structure of the various records and <A HREF=\"http:\/\/homepage.ntlworld.com\/simon.mason20\/ipod_tunes_spec.htm\">another page<\/A> that described how the records worked together.<\/p>\n<p>Eventually I figured it out, made some changes to the SharePod source files, compiled a new executable (after fixing one typo), and ran a prototype that would test whether I could pull in the track numbers. It worked the first time!<\/p>\n<p>Then I needed a way of incorporating the track numbers into the file names. I made a couple of more changes, compiled a new executable, and it worked on the first try too! That <EM>never<\/EM> happens.<\/p>\n<p>Other than comments I really only added about 15 lines of code and changed two of the objects on the program forms. But you have to know how to add it and where.<\/p>\n<p>Anyway, I wrote to the author of the program to tell him thanks and about my modification. You can download the <A HREF=\"http:\/\/igirder.com\/sharepod.exe\">executable<\/A> from my website. I can send source files if someone needs them, but you probably should go to the author&#8217;s page at the link above.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One problem with the iPod is that it doesn&#8217;t store mp3 files by name anywhere. All the mp3&#8217;s are stored in hidden directories by numbers. So I was at work and wanted a way I could move songs onto my hard drive there and listen to them. I found a neat piece of open source &hellip; <a href=\"https:\/\/www.fiveforks.com\/ted\/2004\/04\/super_geeky_ipo\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Super Geeky iPod Stuff&#8221;<\/span><\/a><\/p>\n","protected":false},"author":15,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-58","post","type-post","status-publish","format-standard","hentry","category-ipod"],"_links":{"self":[{"href":"https:\/\/www.fiveforks.com\/ted\/wp-json\/wp\/v2\/posts\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fiveforks.com\/ted\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fiveforks.com\/ted\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fiveforks.com\/ted\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fiveforks.com\/ted\/wp-json\/wp\/v2\/comments?post=58"}],"version-history":[{"count":1,"href":"https:\/\/www.fiveforks.com\/ted\/wp-json\/wp\/v2\/posts\/58\/revisions"}],"predecessor-version":[{"id":940,"href":"https:\/\/www.fiveforks.com\/ted\/wp-json\/wp\/v2\/posts\/58\/revisions\/940"}],"wp:attachment":[{"href":"https:\/\/www.fiveforks.com\/ted\/wp-json\/wp\/v2\/media?parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fiveforks.com\/ted\/wp-json\/wp\/v2\/categories?post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fiveforks.com\/ted\/wp-json\/wp\/v2\/tags?post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}