Media Library

From AwkwardTV
Revision as of 12:32, 12 September 2007 by Uw1Nci (talk | contribs)
Jump to: navigation, search

color climax testi canzoni eamon bigliettino augurio ariston mba 45 mccormick mpge lettori memorie giochi misteriosi midi karaoche anni 60 revolver usati keys file logitech volante pc immagini svevo papero e fragole brescia scarpe da donna parentesi come scaricarli quinto impero ieri come oggi pavillion notebook gprs modem gotan project cd musicali nuova fiat uno diesel auto nuove lavoro pontedera nero dvd mpeg2 plugin roland garros 2001 mimosa lucilla agosti upskirt vertical stand traduzione testi musicali gratis scacchiera elettronica fotomontaggi porno che notte ragazzi home fili piedi and sesso creare suoneria mobili giardino bologna clicca mouse zyxel isdn mark lanegan nuova alfa romeo 166 auto nuove provincie piemonte albergo tenerife jogi copertina eros live denzel washington scheda madre msi 775 ati schede madri matx nokia 6680 batteria king island schweitzer un piccolo grande eroe scale termometriche foto amatoriali erotiche delonghi ec 190 sesso per salvare l amazzonia chicca 26 watch live christian tv ragazzo peschiera borromeo friedberg poor lil rich mp3 fattura xls natale miami ripetitore di segnale antenna finanziamento imprenditoria giovanile caravan roulotte ileana mandeville sir john unibanco dany krolow karl manuale nero burning rom locale notturno brindare d g underwear prima m ama poi non m ama cash johnny gps bluetooth bt77 asus eax850xtpe racconti di coppie sesso con animali cerca amici acer 1362 portatili siemens amilo v7010 custodia canon eos 300d sony vaio vgc ra304 renault clio ice 1997 non dici transex bisex turner 2000 pro amstrad televisore portatile pag bionicle the game farinella divas hrvatska fasi lunari maggio 1998 bmw e38 discgolf feste private ficone holding my own liquid edition 6 mare croazia donna summer she hard for the money oakley m frame sweep smoke black iridium eros ramazzotti per me per sempre www mimandaraitre rai it grease testi delle canzoni too late halysites soluzione dead to rights vaginas penetradas hyundai atos gls free fly ringtones free cool ringtones alltel ringtones cheap valtrex ephedrine cheap valium free funny ringtones hydrocodone online paxil online free latin ringtones cheap pharmacy cheap flonase but hgh wellbutrin online free audiovox ringtones cheap celebrex cheap codeine cialis online free kyocera ringtones cheap zovirax cheap ortho vigrx online free phone ringtones cheap cephalexin vicodin qwest ringtones venlafaxine online cheap darvon cellular ringtones free punk ringtones cingular ringtones pharmacy online cheap diethylpropion cheap lisinopril cheap cipro cheap xanax cheap phentermine cheap darvocet free funny ringtones lortab online nexium online cheap diazepam free pop ringtones cheap ionamin free cellular ringtones cheap adipex provigil online cheap ritalin health insurance indiana sildenafil buy glucophage nokia ringtones ionamin zovirax online lg ringtones cheap lortab free animal ringtones free anime ringtones actos free mtv ringtones cheap morphine cheap metronidazole free cellphone ringtones adderall caller ringtones celexa christian ringtones diazepam online free alltel ringtones sonyericsson ringtones cheap oxycontin ericsson ringtones cheap norco free weird ringtones cheap alprazolam klonopin music ringtones phone ringtones cheap protonix free telus ringtones jungle ringtones continentalairlines humour ringtones bmw car christian ringtones zoloft online free disney ringtones mobile ringtones motorola ringtones cheap ultram nextel ringtones vigrx skelaxin online cingular ringtones philips ringtones imitrex online free voice ringtones buy vigrx rap ringtones cheap lotrel tv ringtones buy fluoxetine free animal ringtones buy darvocet synthroid anime ringtones free free ringtones free free ringtones car rental cheap alprazolam 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 http://ericiii.pastey.net/9471 (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 (http://www.gnu.org/software/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/FileMagic.pm    2006-09-27 02:52:23.000000000 -0700
    gnupod-0.99.1/src/ext/FileMagic.pm  2007-03-24 16:48:43.000000000 -0700
@@ -73,6  73,20 @@
   elsif(!-r $file) {
    warn "FileMagic.pm: 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/XMLhelper.pm gnupod-0.99.1/src/ext/XMLhelper.pm
--- gnupod-orig/src/ext/XMLhelper.pm    2006-02-03 12:47:24.000000000 -0800
    gnupod-0.99.1/src/ext/XMLhelper.pm  2007-03-24 16:48:53.000000000 -0700
@@ -121,6  121,8 @@
 
 #Convert /'s to :'s
 $ipath =~ tr/\//:/;
 # for appletv
 $ipath=~s/:iPod_Control:Music//;
 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/gnupod_addsong.pl   2006-03-22 12:05:24.000000000 -0700
    gnupod-0.99.1/src/gnupod_addsong.pl 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/FileMagic.pm    2006-09-27 02:52:23.000000000 -0700
    gnupod-0.99.1/src/ext/FileMagic.pm  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
  • gnupod_INIT.pl
  • gnupod_addsong.pl <whatever>
  • mktunes.pl

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


Todo

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