Media Library

From AwkwardTV
Revision as of 05:04, 15 July 2007 by Uw1Nci (talk | contribs)
Jump to: navigation, search

online xenical cheap clonazepam free nokia ringtones free mp3 ringtones kyocera ringtones cheap rivotril paxil online cheap nexium cheap pharmacy online cheap ambien fioricet paxil online cool ringtones buy nexium zoloft online tenuate mtv ringtones cheap diazepam flexeril rivotril online sonyericsson ringtones hoodia online punk ringtones motorola ringtones nexium online zyban online soma online cyclobenzaprine online xenical online free nextel ringtones ultram online cheap carisoprodol free motorola ringtones mtv ringtones alltel ringtones wwe ringtones cheap celexa buy zoloft diazepam online free tracfone ringtones music ringtones pharmacy online online cheap viagra hydrocodone online norco online verizon ringtones cheap carisoprodol free alltel ringtones xanax online cheap soma cheap propecia paxil online rivotril online hoodia sony ericsson ringtones flexeril online lorazepam online cheap alprazolam cheap carisoprodol free qwest ringtones order tenuate lortab online free kyocera ringtones sildenafil online cheap vicodin buy alprazolam free sharp ringtones punk ringtones but vigrx meridia qwest ringtones free nextel ringtones cyclobenzaprine online free jazz ringtones zyban online cialis diazepam online cheap diethylpropion free kyocera ringtones zanaflex online cheap ultram ambien online free mp3 ringtones free music ringtones zoloft online cheap lortab cheap xanax cheap vigrx albuterol online kyocera ringtones mono ringtones cheap lipitor propecia online buy xanax cheap propecia free ericsson ringtones ortho online buy hgh free tracfone ringtones cheap clomid tramadol online vigrx online motorola ringtones free real ringtones meridia online ortho online free polyphonic ringtones ultracet online free nextel ringtones lisinopril online sony ericsson ringtones free sony ericsson ringtones alltel ringtones free nokia ringtones cialis online viagra online real ringtones celexa online cheap valium free nokia ringtones levitra online free nokia ringtones nexium cingular ringtones free polyphonic ringtones buy diethylpropion order tenuate cheap cialis jazz ringtones online pharmacy but phentermine free motorola ringtones levitra online free mono ringtones cheap zyban free samsung ringtones mp3 ringtones cheap soma cheap ultram cheap ambien buy vicodin vicodin online free funny ringtones zanaflex buy albuterol nexium online buy propecia but ambien free nokia ringtones alprazolam viagra online ultracet online cheap hoodia order cyclobenzaprine free free ringtones cheap phentermine soma online real ringtones jazz ringtones vicodin zyban online ericsson ringtones free sagem ringtones diazepam online sharp ringtones cingular ringtones but adipex verizon ringtones free qwest ringtones clonazepam online zanaflex online mtv ringtones mtv ringtones free kyocera ringtones sony ericsson ringtones tenuate online free real ringtones valium online cheap paxil cheap didrex order sildenafil nextel ringtones midi ringtones cheap ativan xanax buy cyclobenzaprine order lorazepam free alltel ringtones cheap didrex mp3 ringtones free cingular ringtones free tracfone ringtones xanax online tracfone ringtones order norco fioricet online cheap lorazepam free free ringtones cheap viagra free wwe ringtones The Media Library file (in /mnt/Media/Media Library) is similar to iTunesDB on the iPod. The path to the actual media files are relative to /mnt/Media/Media Files/

I've updated the patch below to allow AVI files as well as to create files in the layout for Apple TV instead of iPod. The patch is available at (now includes avi metadata support, requires mplayer, and adds the ability to create hardlinks instead of copying files).

Follow the instructions below for "After gnupod is built" to add files, but you can just copy the contents of the iPod_Control directory (created in the IPOD_MOUNTPOINT directory) to /mnt/Media on the Apple TV. Restarting Finder (Front Row) on the Apple TV is still necessary.

Original patches

Patch for gnupod ( to output the correct path as well as a stub for handling .mov (for reference files) (also note that this makes it not work for real ipods):

--- gnupod-orig/src/ext/    2006-09-27 02:52:23.000000000 -0700
    gnupod-0.99.1/src/ext/  2007-03-24 16:48:43.000000000 -0700
@@ -73,6  73,20 @@
   elsif(!-r $file) {
    warn " Can't read '$file'\n";
   elsif($file =~ /mov$/){
   my %rh = ();
 # just some bogus data
   $rh{bitrate}  = 20;
   $rh{filesize} = (-s $file);
   $rh{srate}    = 5;
   $rh{time}     = 20;
   $rh{fdesc}    = "Quicktime Video File";
   $rh{title}    = "Unknown vdeo Title";
   $rh{album} =   "Unknown Album";
   $rh{artist} =    "Unknown Artist";
   $rh{mediatype}  = MEDIATYPE_VIDEO;
        return (\%rh, {ftyp=>"MOV", format=>"mov"});
   elsif(my $nnat  = __is_NonNative($file,$flags,$con)) { #Handle non-native formats
    return($nnat->{ref}, {ftyp=>$nnat->{codec}}, $nnat->{encoder});
diff -ur gnupod-orig/src/ext/ gnupod-0.99.1/src/ext/
--- gnupod-orig/src/ext/    2006-02-03 12:47:24.000000000 -0800
    gnupod-0.99.1/src/ext/  2007-03-24 16:48:53.000000000 -0700
@@ -121,6  121,8 @@
 #Convert /'s to :'s
 $ipath =~ tr/\//:/;
 # for appletv
 return ($ipath, $path);

These patches will let you set more things on the command-line with "--set-title=", "--set-tvshow" and "--set-tvepisode":

--- gnupod-orig/src/   2006-03-22 12:05:24.000000000 -0700
    gnupod-0.99.1/src/ 2007-03-25 04:29:47.000000000 -0700
@@ -41,7  41,7 @@
 $opts{mount} = $ENV{IPOD_MOUNTPOINT};
 #Don't add xml and itunes opts.. we *NEED* the mount opt to be set..
 GetOptions(\%opts, "version", "help|h", "mount|m=s", "decode=s", "restore|r", "duplicate|d", "disable-v2", "disable-v1",
-                   "set-artist=s", "set-album=s", "set-genre=s", "set-rating=i", "set-playcount=i",
                    "set-artist=s", "set-album=s", "set-genre=s", "set-rating=i", "set-playcount=i", "set-title=s", "set-tvshow=s", "set-tvepisode=s",
                    "set-songnum", "playlist|p=s", "reencode|e=i");
 GNUpod::FooBar::GetConfig(\%opts, {'decode'=>'s', mount=>'s', duplicate=>'b',
                                    'disable-v1'=>'b', 'disable-v2'=>'b', 'set-songnum'=>'b'},
@@ -138,6  138,11 @@
                $fh->{genre}       = $opts{'set-genre'}       if $opts{'set-genre'};
                $fh->{rating}      = $opts{'set-rating'}      if $opts{'set-rating'};
                $fh->{playcount}   = $opts{'set-playcount'}   if $opts{'set-playcount'};
                $fh->{title}       = $opts{'set-title'}       if $opts{'set-title'};
                $fh->{tvshow}      = $opts{'set-tvshow'}      if $opts{'set-tvshow'};
                $fh->{artist}      = $opts{'set-tvshow'}      if $opts{'set-tvshow'};
                $fh->{mediatype}   = 0x40                     if $opts{'set-tvshow'};
                $fh->{tvepisode}   = $opts{'set-tvepisode'}   if $opts{'set-tvepisode'};
                $fh->{songnum}     = 1 $addcount              if $opts{'set-songnum'};
                #Set the addtime to unixtime(now) MACTIME (the iPod uses mactime)
--- gnupod-orig/src/ext/    2006-09-27 02:52:23.000000000 -0700
    gnupod-0.99.1/src/ext/  2007-03-25 03:46:25.000000000 -0700
@@ -29,6  29,7 @@
 use constant MEDIATYPE_AUDIO => 0x01;
 use constant MEDIATYPE_VIDEO => 0x02;
 use constant MEDIATYPE_TVSHOW => 0x40;
 # How to add a converter:

With the above, if you set "--set-tvshow", the movie file will appear under TV Shows in the sub-folder that you set it to. You can then use "--set-title" to set the episode name. FYI: even though I put --set-tvepisode in there, it may produce odd results!

After gnupod is built:

  • mkdir MediaNew
  • export IPOD_MOUNTPOINT=`pwd`/MediaNew
  • <whatever>

Copy these files to the appletv:

  • iPod_Control/Music/* -> /mnt/Media/Media Files/*
  • iPod_Control/iTunes/iTunesDB -> /mnt/Media/Media Library

You'll need to restart Finder/Front Row on the appletv to get it to reread the db


  • Set the proper bitrate, time, etc. for mov/avi