A CLI for optimal tv-watching with VLC
Have you ever been working your way through a tv show, only to forget whether you finished episode 6 or 7 last night? Or whether you stopped halfway through episode 10, or closer to 3/4? Never again will you have to remember such menial details if you let
tv do the heavy lifting for you.
tv automatically tracks your progress thru episodes, so it knows when to fire up the next episode and when to resume the current.
Install the module with:
npm install tv
Use it on the command line (with the commands discussed below):
cd breaking-bad tv init bb tv continue bb
tv provides 3 commands:
tv initSets up the current directory for playing. Mainly, this means finding the first episode (more on that later), and writing it to some file.
tv continueIf the current episode is not done (i.e. 95% watched), then acts just like
tv resume. If the episode is done, then finds the next episode and plays it from the beginning.
tv listLists the contents of the named-shows registry, displaying the names and locations of all the shows
Assumptions & Expectations
tv makes the following assumptions about file strucutre and naming conventions:
tv is built directly around VLC's RC interface, so you must have VLC installed. Furthermore,
tv assumes that VLC is located at
/Applications/VLC.app/Contents/MacOS/VLC, which does mean it only works on Macs. For now!
tv expects episode names to include some indicator of which episode/season they belong to, as in the following examples:
Castle S01E01.avi- first episode of season 1
Castle S03E05.avi- fifth episode of season 3
tv also expects that season directories have names of the form:
Season 2, etc.
tv expects tv series to be in one of two kinds of file structures:
- The first is the simplest, where all episodes (could be more than one season) are in the same directory, usually named after the show. An example:
Castle ├── Castle S01E01.avi ├── Castle S01E02.avi ... ├── Castle S01E24.avi ├── Castle S02E01.avi ... └── Castle S01E24.avi
- The second form puts each season in its own subdirectory inside the master show directory. An example:
Castle ├── Season 1 | ├── Castle S01E01.avi | ├── Castle S01E02.avi | ... | └── Castle S01E24.avi ├── Season 2 | ├── Castle S02E01.avi | ... | └── Castle S02E24.avi
In other words, you are free to use or not use season directories to clean up the file structure.
In lieu of a formal styleguide, take care to maintain the existing coding style.
Copyright (c) 2013 . Licensed under the MIT license.