Difference between revisions of "Chumby as an iPod server"

From Chumby Wiki
Jump to: navigation, search
(photo)
(info)
 
(One intermediate revision by the same user not shown)
Line 17: Line 17:
 
   </iPod>
 
   </iPod>
 
  </info>
 
  </info>
 +
 +
==artists==
 +
'''NOTE: requires Ironforge firmware 1.7 or later'''
 +
 +
Returns a list of the artists for the tracks on the device
 +
 +
Format
 +
http://ip.of.the.chumby:8080/artists
 +
 +
Response:
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<artists>
 +
  <artist id='1013' albumCount='1' >
 +
    <name><![CDATA[10cc ]]></name>
 +
  </artist>
 +
  <artist id='1000' albumCount='2' >
 +
    <name><![CDATA[Diana Krall]]></name>
 +
  </artist>
 +
  <artist id='1020' albumCount='1' >
 +
    <name><![CDATA[Ella Fitzgerald]]></name>
 +
  </artist>
 +
</artists>
 +
 +
==artist==
 +
'''NOTE: requires Ironforge firmware 1.7 or later'''
 +
 +
Return information about albums and tracks for a particular artist
 +
 +
Format:
 +
http://ip.of.the.chumby:8080/artist/1000
 +
 +
Response:
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<artist id='1000' albumCount='2' >
 +
  <name><![CDATA[Diana Krall]]></name>
 +
  <albums>
 +
    <album id='1000' trackCount='12' >
 +
      <name><![CDATA[Live In Paris]]></name>
 +
      <trackIDs>4409,4410,4411,4412,4413,4414,4415,4416,4417,4418,4419,4420</trackIDs>
 +
    </album>
 +
    <album id='1001' trackCount='13' >
 +
      <name><![CDATA[When I Look In Your Eyes]]></name>
 +
      <trackIDs>4421,4422,4423,4424,4425,4426,4427,4428,4429,4430,4431,4432,4433</trackIDs>
 +
    </album>
 +
  </albums>
 +
</artist>
 +
 +
==albums==
 +
'''NOTE: requires Ironforge firmware 1.7 or later'''
 +
 +
Returns a list of albums
 +
 +
Format:
 +
  http://ip.of.the.chumby:8080/albums
 +
 +
Response:
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<albums>
 +
  <album id='1000' trackCount='12' >
 +
    <name><![CDATA[Live In Paris]]></name>
 +
    <artist id='1000' albumCount='2' >
 +
      <name><![CDATA[Diana Krall]]></name>
 +
    </artist>
 +
  </album>
 +
  <album id='1001' trackCount='13' >
 +
    <name><![CDATA[When I Look In Your Eyes]]></name>
 +
    <artist id='1000' albumCount='2' >
 +
      <name><![CDATA[Diana Krall]]></name>
 +
    </artist>
 +
  </album>
 +
  <album id='1002' trackCount='1' >
 +
    <name><![CDATA[All The Best (Disc 1)]]></name>
 +
    <artist id='1001' albumCount='2' >
 +
      <name><![CDATA[Frank Sinatra]]></name>
 +
    </artist>
 +
  </album>
 +
</albums>
 +
 +
==album==
 +
'''NOTE: requires Ironforge firmware 1.7 or later'''
 +
 +
Returns information about an album
 +
 +
Format:
 +
http://ip.of.the.chumby:8080:/album/1000
 +
 +
Response:
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<album id='1000' trackCount='12' >
 +
  <name><![CDATA[Live In Paris]]></name>
 +
  <artist id='1000' albumCount='2' >
 +
    <name><![CDATA[Diana Krall]]></name>
 +
  </artist>
 +
  <trackIDs>4409,4410,4411,4412,4413,4414,4415,4416,4417,4418,4419,4420</trackIDs>
 +
</album>
  
 
==playlists==
 
==playlists==
Line 181: Line 276:
 
  </photo>
 
  </photo>
  
These are some of the known image sizes that are available for various models of the iPod:
+
These are some of the known image sizes that are available for various models of the iPod - note that the pixels in the NTSC images are not square.
  
 
{| class="wikitable" style="text-align:left" border='1' cellspacing='0' cellpadding='2'
 
{| class="wikitable" style="text-align:left" border='1' cellspacing='0' cellpadding='2'

Latest revision as of 12:11, 29 April 2009

Summary

When an iPod is plugged into a Chumby's USB port, the device launches an HTTP daemon on port 8080 (called "chumbipodd") that will serve data about the iPod in XML. The Chumby's Control Panel utilizes this server to provide a simple interface to the iPod's playlists; however, the daemon provides quite a bit more information. The daemon supports a universal crossdomain.xml file, so the services are available to the Chumby widgets.

Protocol

info

Returns basic information about the iPod - number of playlists, tracks, photos, photo albums, and storage statistics

Format:

http://ip.of.the.chumby:8080/info

Response:

<?xml version="1.0" encoding="UTF-8"?>
<info>
  <iPod id='0' mountPoint='/mnt/ipod' trackCount='1170' playlistCount='23' totalSpace='28521' freeSpace='20120' photoCount='2165' photoAlbumCount='29' >
    <name><![CDATA[My iPod]]></name>
  </iPod>
</info>

artists

NOTE: requires Ironforge firmware 1.7 or later

Returns a list of the artists for the tracks on the device

Format

http://ip.of.the.chumby:8080/artists

Response:

<?xml version="1.0" encoding="UTF-8"?>
<artists>
  <artist id='1013' albumCount='1' >
    <name><![CDATA[10cc ]]></name>
  </artist>
  <artist id='1000' albumCount='2' >
    <name><![CDATA[Diana Krall]]></name>
  </artist>
  <artist id='1020' albumCount='1' >
    <name><![CDATA[Ella Fitzgerald]]></name>
  </artist>
</artists>

artist

NOTE: requires Ironforge firmware 1.7 or later

Return information about albums and tracks for a particular artist

Format:

http://ip.of.the.chumby:8080/artist/1000

Response:

<?xml version="1.0" encoding="UTF-8"?>
<artist id='1000' albumCount='2' >
  <name><![CDATA[Diana Krall]]></name>
  <albums>
    <album id='1000' trackCount='12' >
      <name><![CDATA[Live In Paris]]></name>
      <trackIDs>4409,4410,4411,4412,4413,4414,4415,4416,4417,4418,4419,4420</trackIDs>
    </album>
    <album id='1001' trackCount='13' >
      <name><![CDATA[When I Look In Your Eyes]]></name>
      <trackIDs>4421,4422,4423,4424,4425,4426,4427,4428,4429,4430,4431,4432,4433</trackIDs>
    </album>
  </albums>
</artist>

albums

NOTE: requires Ironforge firmware 1.7 or later

Returns a list of albums

Format:

 http://ip.of.the.chumby:8080/albums

Response:

<?xml version="1.0" encoding="UTF-8"?>
<albums>
  <album id='1000' trackCount='12' >
    <name><![CDATA[Live In Paris]]></name>
    <artist id='1000' albumCount='2' >
      <name><![CDATA[Diana Krall]]></name>
    </artist>
  </album>
  <album id='1001' trackCount='13' >
    <name><![CDATA[When I Look In Your Eyes]]></name>
    <artist id='1000' albumCount='2' >
      <name><![CDATA[Diana Krall]]></name>
    </artist>
  </album>
  <album id='1002' trackCount='1' >
    <name><![CDATA[All The Best (Disc 1)]]></name>
    <artist id='1001' albumCount='2' >
      <name><![CDATA[Frank Sinatra]]></name>
    </artist>
  </album>
</albums>

album

NOTE: requires Ironforge firmware 1.7 or later

Returns information about an album

Format:

http://ip.of.the.chumby:8080:/album/1000

Response:

<?xml version="1.0" encoding="UTF-8"?>
<album id='1000' trackCount='12' >
  <name><![CDATA[Live In Paris]]></name>
  <artist id='1000' albumCount='2' >
    <name><![CDATA[Diana Krall]]></name>
  </artist>
  <trackIDs>4409,4410,4411,4412,4413,4414,4415,4416,4417,4418,4419,4420</trackIDs>
</album>

playlists

Returns a list of the playlists on the device. The "fullTrackCount" attribute includes tracks that cannot be played on the chumby (such as tracks purchased from the iTMS), while the "trackCount" attributes is filtered to include only those tracks that are playable (MP3 and M4A). The standard chumby Control Panel will typically not show playlists with a trackCount of 0.

Format:

http://ip.of.the.chumby:8080/playlists

Response:

<?xml version="1.0" encoding="UTF-8"?>
<playlists>
  <playlist id='0' trackCount='1145' fullTrackCount='1170' >
    <name><![CDATA[My iPod]]></name>
  </playlist>
  <playlist id='1' trackCount='6' fullTrackCount='6' >
    <name><![CDATA[Nighttime Mix]]></name>
  </playlist>
   ...
  <playlist id='22' trackCount='35' fullTrackCount='50' >
    <name><![CDATA[Wedding]]></name>
  </playlist>
</playlists>

playlistIDs

Returns a list of track IDs of the tracks in a playlist - this is a quicker fetch than the more detailed "playlist" fetch and is useful if you don't need all of the track details in one shot.

Format:

http://ip.of.the.chumby:8080/playlistIDs/(id_of_playlist)

Response:

<?xml version="1.0" encoding="UTF-8"?>
<playlistIDs index='1'>
  <name><![CDATA[Nighttime Mix]]></name>
  <trackIDs>1390,1388,1389,1391,1387,1386</trackIDs>
</playlistIDs>

playlist

Returns detailed track information about the tracks in a playlist

Format:

http://ip.of.the.chumby:8080/playlist/(id_of_playlist)

Response:

<?xml version="1.0" encoding="UTF-8"?>
<playlist index='1'>
  <name><![CDATA[Nighttime Mix]]></name>
  <tracks>
    <track id='1390' duration='5:21' path='/mnt/ipod/iPod_Control/Music/F14/THUT.m4a' >
      <artist><![CDATA[Peace Division]]></artist>
      <album><![CDATA[Fabric 28]]></album>
      <title><![CDATA[01 Club Therapy]]></title>
    </track>
    <track id='1388' duration='5:21' path='/mnt/ipod/iPod_Control/Music/F21/BELB.m4a' >
      <artist><![CDATA[Peace Division]]></artist>
      <album><![CDATA[Fabric 28]]></album>
      <title><![CDATA[02 Club Therapy]]></title>
    </track>
    ...
    <track id='1386' duration='5:21' path='/mnt/ipod/iPod_Control/Music/F43/FYWV.m4a' >
      <artist><![CDATA[Peace Division]]></artist>
      <album><![CDATA[Fabric 28]]></album>
      <title><![CDATA[06 Club Therapy]]></title>
    </track>
  </tracks>
</playlist>

track

Returns detailed information about a track

Format:

http://ip.of.the.chumby:8080/track/(id_of_track)

Response:

<?xml version="1.0" encoding="UTF-8"?>
<track id='1390' >
  <title><![CDATA[01 Club Therapy]]></title>
  <artist><![CDATA[Peace Division]]></artist>
  <album><![CDATA[Fabric 28]]></album>
  <year>2006</year>
  <genre><![CDATA[Electronica/Dance]]></genre>
  <tracknum>4</tracknum>
  <trackcount>18</trackcount>
  <path>/mnt/ipod/iPod_Control/Music/F14/THUT.m4a</path>
  <duration>5:21</duration>
  <bitrate>128</bitrate>
  <samplerate>44100</samplerate>
  <filesize>5216001</filesize>
  <artcount>0</artcount>
  <rating>0</rating>
  <playcount>0</playcount>
</track>

trackfile

Returns the audio file for a track

Format:

http://ip.of.the.chumby:8080/trackfile/(id_of_track)

photoalbums

Returns a list of photo albums.

Format:

http://ip.of.the.chumby:8080/photoalbums

Return:

<?xml version="1.0" encoding="UTF-8"?>
<photoalbums>
  <photoalbum id='0' photoCount='2165' >
    <name><![CDATA[Library]]></name>
  </photoalbum>
  <photoalbum id='1' photoCount='37' >
    <name><![CDATA[Last Roll]]></name>
  </photoalbum>
  ...
  <photoalbum id='28' photoCount='15' >
     <name><![CDATA[Slumber party]]></name>
  </photoalbum>
</photoalbums>

photoalbum

Returns the list of photos in a photo album

Format:

http://ip.of.the.chumby:8080/photoalbum/(id_of_photo_album)

Response:

<?xml version="1.0" encoding="UTF-8"?>
<photoalbum index='28'>
  <name><![CDATA[Wedding photos]]></name>
  <photos>
    <photo id='2084' >
      <name><![CDATA[Cutting the cake]]></name>
    </photo>
    <photo id='2114' >
      <name><![CDATA[First dance]]></name>
    </photo>
    ...
    <photo id='2514' >
      <name><![CDATA[Throwing the bouquet]]></name>
    </photo>
  </photos>
</photoalbum>

photo

Return the information about a particular photo. Photos are typically available in several resolutions, which vary across iPod models.

Format:

http://ip.of.the.chumby:8080/photo/(id_of_photo)

Response:

<?xml version="1.0" encoding="UTF-8"?>
<photo id='2085' >
  <name><![CDATA[Cutting the cake]></name>
  <image id='33360' width='720' height='480' />
  <image id='33361' width='130' height='88' />
  <image id='33362' width='320' height='240' />
  <image id='33363' width='50' height='41' />
</photo>

These are some of the known image sizes that are available for various models of the iPod - note that the pixels in the NTSC images are not square.

raw size height width encoding model
691200 480 720 UYVY PhotoPod and VideoPod NTSC image
153600 240 320 RGB565_LE VideoPod full screen
80000 200 200 RGB565_LE VideoPod album art big version
77440 176 220 RGB565_BE_90 PhotoPod full screen
46464 132 176 RGB565_BE Nano full screen
39200 140 140 RGB565_LE PhotoPod album art big version
22880 88 130 RGB565_LE PhotoPod and VideoPod video preview
20000 100 100 RGB565_LE VideoPod album art small version, Nano album art big version
6272 56 56 RGB565_LE PhotoPod album art small version
4100 41 50 RGB565_LE VideoPod list thumbnail
3528 42 42 RGB565_LE Nano album art small version
3108 37 42 RGB565_LE Nano list thumbnail
2520 30 42 RGB565_LE PhotoPod list thumbnail

image

Returns the JPEG file for a particular image.

Format:

http://ip.of.the.chumby:8080/image/(id_of_image)