File stacking: Difference between revisions
Jump to navigation
Jump to search
>Althekiller No edit summary |
>NedBot m (Robot: Cosmetic changes) |
||
Line 1: | Line 1: | ||
XBMC's file stacking feature handles your multi-part files in a clean, intuitive manner. | XBMC's file stacking feature handles your multi-part files in a clean, intuitive manner. | ||
=What is file stacking?= | = What is file stacking? = | ||
File stacking combines your multi-part files into a single item in the file list or library. | 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 file stacking work?= | = How does file stacking 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 the file list alphabetically. | # Sort the file list alphabetically. | ||
#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. | ||
#For each consecutive filename where all tokens '''except''' Volume match, the file's index in the file list is stored in a vector. | # For each consecutive filename where all tokens '''except''' Volume match, the file's index in the file list is stored in a vector. | ||
#Once the above condition fails... | # Once the above condition fails... | ||
##The stack path is generated (eg. "stack://movie-cd1-xvid.avi , movie-cd2-xvid.avi") | ## The stack path is generated (eg. "stack://movie-cd1-xvid.avi , movie-cd2-xvid.avi") | ||
##The stack name is created from the Title Ignore and Extension tokens (eg. movie-xvid.avi) | ## The stack name is created from the Title Ignore and Extension tokens (eg. movie-xvid.avi) | ||
##The path and label of the first file item are replaced by the stack path and stack name, respectively. | ## The path and label of the first file item are replaced by the stack path and stack name, respectively. | ||
##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. | ||
=Deficiencies= | = Deficiencies = | ||
*Stacking is currently only applied to movies. | * Stacking is currently only applied to movies. | ||
*Stacking is currently only applied to filenames, not the full path. | * 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). | * 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... | ||
#Use a dir-per-movie directory layout, see the '''append''' example of the [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] advanced setting. | # Use a dir-per-movie directory layout, see the '''append''' example of the [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] advanced setting. | ||
#Rename offending files to match one of the more specific volume tokens (ie. cd1, part1, etc). | # Rename offending files to match one of the more specific volume tokens (ie. cd1, part1, etc). | ||
#Create special-case regular expressions for those files that fail to stack (see [[#Tuning|tuning]]). | # Create special-case regular expressions for those files that fail to stack (see [[#Tuning|tuning]]). |
Revision as of 16:09, 7 September 2011
XBMC's file stacking feature handles your multi-part files in a clean, intuitive manner.
What is file stacking?
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 file stacking work?
The stacking function is presented with a list of file items from a directory listing.
- Sort the file list alphabetically.
- CD1, CD2, ..., CD9 directories are collapsed if they contain only one video file.
- Each filename is tokenized into Title, Volume, Ignore and Extension parts.
- For each consecutive filename where all tokens except Volume match, the file's index in the file list is stored in a vector.
- Once the above condition fails...
- The stack path is generated (eg. "stack://movie-cd1-xvid.avi , movie-cd2-xvid.avi")
- The stack name is created from the Title Ignore and Extension tokens (eg. movie-xvid.avi)
- The path and label of the first file item are replaced by the stack path and stack name, respectively.
- The remaining file items in the stack are removed from the file list.
- 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...
- Use a dir-per-movie directory layout, see the append example of the moviestacking advanced setting.
- Rename offending files to match one of the more specific volume tokens (ie. cd1, part1, etc).
- Create special-case regular expressions for those files that fail to stack (see tuning).