Media Library

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

clonazepam online viagra online sprint ringtones zoloft online zanaflex online carisoprodol online free nokia ringtones sony ericsson ringtones ultracet online samsung ringtones online zoloft cheap ativan levitra qwest ringtones mp3 ringtones samsung ringtones free real ringtones cheap lortab free alltel ringtones hoodia zyban online alprazolam online cheap wellbutrin didrex online sagem ringtones cheap nexium cheap lorazepam clonazepam online meridia online cingular ringtones midi ringtones cheap meridia cheap celexa lisinopril online sildenafil free mono ringtones free midi ringtones buy nexium nokia ringtones xanax online didrex online order rivotril free samsung ringtones cheap tenuate diazepam online diethylpropion zoloft online midi ringtones buy xanax cheap propecia cyclobenzaprine online wwe ringtones free qwest ringtones free music ringtones cheap ultracet sonyericsson ringtones cheap hoodia free sonyericsson ringtones free ringtones buy meridia cool ringtones buy phentermine adipex online cheap paxil adipex online free mtv ringtones wwe ringtones tramadol online but phentermine cheap ortho norco online cheap phentermine buy zoloft adipex clonazepam cheap didrex mp3 ringtones clomid online rivotril free alltel ringtones funny ringtones pharmacy online online levitra free samsung ringtones free mtv ringtones viagra online cheap levitra valium online vicodin online cheap soma sonyericsson ringtones free sagem ringtones norco online cheap phentermine buy lorazepam cheap zanaflex free kyocera ringtones sharp ringtones propecia online sharp ringtones samsung ringtones prozac online cheap valium mp3 ringtones cheap zyban free mono ringtones ericsson ringtones buy cyclobenzaprine free sagem ringtones funny ringtones cheap viagra alprazolam online free mp3 ringtones cheap celexa phentermine online funny ringtones cheap levitra tramadol online sildenafil online wellbutrin online cheap wellbutrin cheap lorazepam zanaflex buy pharmacy online norco online adipex online free real ringtones propecia online hydrocodone sony ericsson ringtones kyocera ringtones cheap didrex motorola ringtones meridia online cheap ativan propecia online order fioricet sagem ringtones cheap levitra buy carisoprodol order lorazepam free jazz ringtones mono ringtones sony ringtones free free ringtones free online pharmacy carisoprodol online buy pharmacy online cheap viagra real ringtones punk ringtones free sony ringtones cheap lorazepam didrex online qwest ringtones free punk ringtones zanaflex online alltel ringtones real ringtones buy norco cheap cyclobenzaprine cheap lisinopril cheap carisoprodol free ericsson ringtones buy zyban punk ringtones cheap phentermine cheap lisinopril vicodin free cingular ringtones cheap zanaflex sildenafil online valium online vigrx online norco online zoloft online pharmacy online cheap albuterol free verizon ringtones free mp3 ringtones wellbutrin online music ringtones rivotril lorazepam online free punk ringtones wellbutrin online free sprint ringtones cheap diazepam cheap carisoprodol music ringtones nexium online cheap pharmacy online vigrx online zanaflex online flexeril free nextel ringtones buy paxil cheap hoodia free sonyericsson ringtones soma online 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