File stacking: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Althekiller
>Althekiller
Line 3: Line 3:


=How does it work?=
=How does it work?=
The stacking function is presented with a list of file items from a directory listing
The stacking function is presented with a list of file items from a directory listing.
#Sort file list
#Sort the file list.
#CD1, CD2, ..., CD9 directories are collapsed if they contain only one video file.
#CD1, CD2, ..., CD9 directories are collapsed if they contain only one video file.
#Each filename is tokenized into Title, Volume, Ignore and Extension parts.
#Each filename is tokenized into Title, Volume, Ignore and Extension parts.
Line 14: Line 14:
##The remaining file items in the stack are removed from the file list.
##The remaining file items in the stack are removed from the file list.
#This continues until the file list is exhausted.
#This continues until the file list is exhausted.
=Tuning=
=Tuning=
File stacking can be tuned by the user to match obscure cases using the [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] advanced setting.
File stacking can be tuned by the user to match obscure cases using the [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] advanced setting.

Revision as of 03:57, 10 December 2009

What is it?

File stacking combines your multi-part files into a single item in the file list or library. Playback of stacks is completely transparent to you as the user, all parts are automatically queued for playback in order. Stacking is a view option available in videos file mode window. It is always applied when scanning movies into the library.

How does it work?

The stacking function is presented with a list of file items from a directory listing.

  1. Sort the file list.
  2. CD1, CD2, ..., CD9 directories are collapsed if they contain only one video file.
  3. Each filename is tokenized into Title, Volume, Ignore and Extension parts.
  4. For each consecutive filename where all tokens except Volume match, the file's index in the file list is stored in a vector.
  5. Once the above condition fails...
    1. The stack path is generated (eg. "stack://movie-cd1-xvid.avi , movie-cd2-xvid.avi")
    2. The stack name is created from the Title Ignore and Extension tokens (eg. movie-xvid.avi)
    3. The path and label of the first file item are replaced by the stack path and stack name, respectively.
    4. The remaining file items in the stack are removed from the file list.
  6. This continues until the file list is exhausted.

Tuning

File stacking can be tuned by the user to match obscure cases using the moviestacking advanced setting.

Deficiencies

  • Stacking is currently only applied to movies.
  • Stacking is currently only applied to filenames, not the full path.
  • The default expressions will NOT stack files which use only a number as the volume token (eg movie1.avi, movie2.avi). This is intentional due to false positives which can occur with sequels in a flat directory layout. Some solutions to this problem (in order of best to worst) follow...
  1. Use a dir-per-movie directory layout, see the append example of the moviestacking advanced setting.
  2. Rename offending files to match one of the more specific volume tokens (ie. cd1, part1, etc)
  3. Create special-case regular expressions for those that fail to stack (see tuning).