These are my current steps for getting TV episodes and having them ready for OSXBMC. There's a parallel stream where after I get subtitles for them I enqueue them for processing and tagging so they appear in iTunes properly and get transferred to my iTouch, but that's separate.
What are **YOUR** own practices? Please share.
***WARNING***: This is a LONG post. I started going and couldn't stop. I hope this is helpful for others out there.
Sigalakos,
I have simplified for the sake of the post and mixed up. The first and second steps you quoted are swapped. I move the files to their directories and then tvrenamer.pl does its thing.
[tvrenamer.pl](http://robmeerman.co.uk/coding/file_renamer) is a command-line [program in Perl](http://robmeerman.co.uk/downloads/tvrenamer.pl) which may need additional modules installed before it works. I can't remember what needed to be installed because I did it a long time ago, but I can help you with it if it's giving you grief with the condition that you document for other mac users that need it ;) (I regret not having done it back then)
My current process, somewhat more explained (I recommend clicking ALL links):
[list]
[*][TVShows](http://tvshows.sourceforge.net/index2.html) downloads torrents for the 50+ tv series we watch over the year, as they come up. [TED could do this as well](http://www.ted.nu/), and is not as dead as TVShows.
[*][Transmission](http://www.transmissionbt.com/) is checking the directory where TVShows drops its torrent files and loads the torrents, as they pop up. Other Torrent clients can work as well. I used to use [Xtorrent](http://www.xtorrentp2p.com/) for the same.
[*]Transmission finishes the download and moves the file into a TVShows directory I have just for that.
[*]I have a launchd script I created with [Lingon](http://lingon.sourceforge.net/) that runs every time there's a new file in the TVShows directory ([Launchd Plist in Lingon](http://www.grabup.com/uploads/1e7d8a77240eafb6dcae8f2eb2c49f39.png%5b)). This script ([tellme](http://pastebin.com/f791a0672)) verifies if there are new files and if there are, it moves them to another directory, says a text out loud and opens the directory.
[*]When I notice the files have been downloaded (if I'm busy or lazy I could just close the window and it will open again in the next file downloaded) I move them to their final directories(see NOTE 1)
[*]Once the files are moved, I run tvrenamer.pl (see NOTE 2) on them. TVrenamer checks the path (which includes the series name and season) and [renames the files](http://www.grabup.com/uploads/6c4fa8c5ed95d54e1011e2bda6d3e1bf.png) accordingly.
[*]Once the files are renamed (process can be automated, but it's infrequent enough that I run it manually) I execute a program [I made](http://eduo.info/soleol/) which searches subtitles in OpenSubtitles.org (see NOTE 3). My program can handle whole directories so I tend to let files accumulate [before searching their subtitles](http://www.grabup.com/uploads/f2cec154b65b4840119cd8833db469ba.png). Waiting a couple of days helps the subtitles pop-up as well (see NOTE 4).
[*]That's it.
[/list]
The process can be more automated and in fact I haven't done that because I have started adding more and more functionality into the little program I started to download the subs, and that means it is never completed.
**Alternatives:**
-Instead of using tvrss and a daemon for the shows (TVShows or TED) you may prefer to opt for a blunter method, that involves [Usenet](http://en.wikipedia.org/wiki/Usenet) and the [NZB format](http://en.wikipedia.org/wiki/NZB), as originally defined by [NewzBin](http://www.newzbin.com/). This has the advantage of getting shows earlier (as release groups like EZTV or VTV usually pull the files from Usenet before releasing them themselves) but being somewhat clunkier (Usenet is an archaic, for Internet timelines, distribution format originally designed for text-based messages in distributed forums. its strong points are redundancy and distribution and not speed or efficiency. It's a protocol still very much in use but somewhat more obscure, having been born in a different, more spartan, age). For this you can use [tvnzbd](http://tvnzb.com/) to define RSS feeds which you can feed into an NZB-aware RSS reader, like [NZBD](http://www.sabnzbd.org). Sabnzbd functions as a web daemon in your machine and is extremely configurable, allowing you a lot of post-processing for the file once downloaded.
(Using Usenet has the advantage that its decentralized, anonymous system means downloads are "masked" from government audits. Unlike torrent servers (or any P2P technology) unless you run a Usenet server and have people connect to you you can't find out who's downloading what).
-A combination of [pytvshows](http://sourceforge.net/projects/pytvshows), cron and [rtorrent](http://libtorrent.rakshasa.no/) may suit you better, if you're more of a power user. Darkscout has outlined his process [here](http://forums.plexapp.com/index.php?showtopic=325&view=findpost&p=2793) (this is for more knowledgeable users so if the outline is not enough to get you started you may want to stick with the one above).
-You might not be able to get subtitles through [SolEol](http://eduo.info/soleol/) or [SubDownloader](http://trac.opensubtitles.org/projects/opensubtitles/wiki) if they're too new and nobody has matched them to their [moviefile hashes](http://trac.opensubtitles.org/projects/opensubtitles/wiki/OSDb). In these cases you can go to subtitle sites (I recommend [wikisubtitles](http://www.wikisubtitles.enpuertoplata.com/) and [opensubtitles](http://www.opensubtitles.org/). Language-specific sites (like [SoloSubtitulos](http://www.solosubtitulos.com/) for Spanish) may be even better choices depending on the case.
**NOTES:**
*NOTE 1:*
These final directories always follow this structure:
/Drive/<br />
/TV Shows/<br />
/TV Show Name/<br />
/TV Show Season/
So, for example, I have [this structure](http://www.grabup.com/uploads/f008000b5c8f3bb856c8ed21211c4036.png) for Heroes:
/TV/Heroes/Heroes 1x <--- Season 1<br />
/TV/Heroes/Heroes 2x <--- Season 2
*NOTE 2:*
I believe the following command could take care of missing dependencies for the Perl Script but, as I did whatever was needed so long ago, I can no longer know:
cpan install Switch Term::ReadKey Cwd LWP::Simple3 URI::Escape Compress::Zlib File::Glob
In reality, I think I did this, but can't be 100% sure:
cpan install Switch Term Cwd LWP URI Compress File
And of course CPAN is not something that just runs. The first time it asks for dozens of questions (most of whom have adequate default values).
*NOTE 3:*
I like [OpenSubtitles](http://opensubtitles.org/) because it uses [a "fingerprinting" hash process](http://trac.opensubtitles.org/projects/opensubtitles/wiki/HashSourceCodes) that [matches video files to their subtitles](http://trac.opensubtitles.org/projects/opensubtitles/wiki/OSDb). It's a "social" site in the sense that users upload subtitles matched to specific video files. The process is very clever and reliable, although the website suffers from looking kind of over-designed at the moment.
Their whole process is [fully documented and has an open API](http://trac.opensubtitles.org/projects/opensubtitles/wiki/XMLRPC), so several of us [have made our own programs](http://trac.opensubtitles.org/projects/opensubtitles#Programsusingopensubtitles.org) for obtaining and uploading subtitles. Mine is still private, as it doesn't work yet as well as I'd want. But I've made a [Download-only version](http://forum.opensubtitles.org/viewtopic.php?p=4039) called [HdP available in my website](http://eduo.info/hdp/) (see below for "SolEol", the updated version).
*NOTE 4:*
I should mention, even if it means my own program won't be used but for the sake of full disclosure, that there are a bunch of other alternatives for downloading subtitles from OpenSubtitles, including a [python script for XBMC](http://xbmc.org/forum/showthread.php?t=31499).
*NOTE 5:*
A few things.
[list]
[*]Chris Erwin [has posted his own process](http://chriserwin.com/blog/post/cutting_the_cable/) using a Mac Mini, Plex and Torrent having been replaced by NZB. His post is what this should've been. Clear, concise, to the point yet entertaining and useful. http://chriserwin.com/blog/post/cutting_the_cable/
[*]I've made a more recent version of the tool I use to download subtitles. It's pretty different so it's been renamed as "[SolEol](http://eduo.info/soleol/)". Can also be followed on twitter under the [same name](http://twitter.com/soleol).
[*]A new tool has come up that can auto-download subtitles. It's Open Source and Cocoa-Native, so it's minuscule: [Undertext](http://code.google.com/p/undertext/)
[http://code.google.com/p/undertext/](http://code.google.com/p/undertext/)
[*]I've just discovered [Episode Linker](http://forums.plexapp.com/index.php?showtopic=2822). I planned on doing something like this, so it's interesting. [Actual explanation of the program here](http://forums.plexapp.com/index.php?s=&showtopic=2822&view=findpost&p=19073).
[/list]