0.2.0 • Public • Published


    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.

    Getting Started

    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: init, continue, list.

    1. tv init Sets up the current directory for playing. Mainly, this means finding the first episode (more on that later), and writing it to some file.
    2. tv continue If 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.
    3. tv list Lists the contents of the named-shows registry, displaying the names and locations of all the shows tv knows about.

    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/, which does mean it only works on Macs. For now!

    File Names

    tv expects episode names to include some indicator of which episode/season they belong to, as in the following examples:

    1. Castle S01E01.avi - first episode of season 1
    2. Castle S03E05.avi - fifth episode of season 3

    tv also expects that season directories have names of the form: Season 1, Season 2, etc.

    File Structure

    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 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:
    ├── 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.

    Release History

    (Nothing yet)


    Copyright (c) 2013 . Licensed under the MIT license.




    npm i tv-cli

    DownloadsWeekly Downloads






    Last publish


    • ilangray