Stacks are simply groupings of files that are used as a single file. In the case of the HH engine the grouping might be a lossless file and a lossy version of it. For images it might be 20 pictures of a cat.
When a stack top is tagged, most of those tags are copied to the stack members. If a stack top is moved, the stack members are moved (provided the stacked files have any commonality).
Tops -- Stack tops start out somewhat random. The application picks the largest file as the top for non images. For images it picks the largest dimension file of type jpeg.
Delete -- If a collapsed stack is deleted, ALL the files are deleted. If the stack top of an expanded stack is deleted, the top will be removed and a new top will be selected.
The right click menu allows one to stack and unstack files. This creates the grouping.
Expand Stack and Collapse Stack control how the files are viewed. A collapsed stack only shows the top file. The others are not visible. An expanded stack has all files available.
Search for stack files simply searches on all items in a given stack (or stacks), expands those stacks and runs the search.
Auto stacking by name is the only currently available option. It simply looks for matches on the "name" field and bundles the files together.
Additional auto stacking options to be added.
Stacks in Images
In the world of photos the stacks are pretty much user driven. (Although I would like to swap the existing RAW file cache out for one based on stacks.)
Stacks are intended to be used to hide versions of files that one would normally not be interested in seeing. So one might put a jpeg as the top of a stack and have the RAW image file that it came from as a hidden stack member.
Another example would be a single image with several purposed files underneath it. For instance one could be a representative jpeg with the RAW source file, a file sized for the web and another sized and sharpened for print. In general use one would only want to see the jpeg but if a sale was made the image sized and sharpened for print could be found quickly via a right click->Stacks->Search for stack files.
Stacks as Cache
Currently only available for the handheld conversions. When enabled under MC's Handheld options (select Cache converted file (via a stack) under Options->Handheld->Conversion->Conversion Cache), MC does several things.
If MC needs to convert a file, the files stack is searched for a file of the requested type. (MP3, WMA, etc.)
If the file is found under the stack location, it is used. Otherwise MC uses any available stack file of the appropriate type.
If no stack file is available, MC searches for the file where the conversion engine would put it. If found there, it is used and stacked with the original file (unless, of course, it already is in a stack).
If not found there, MC will convert the file, copy it to the stack location directory, and stack it with the original file.
Cache features planned
Size warning. Stacking revisions can use a lot of storage. Best to warn on selection.
Cache creation. The old system allowed one to pre build the conversion cache. This functionality will be added.
Cache deletion. We should also be able to delete entries created by the HH conversion engine. These files are tagged in the [stack tag] field.
The stacks need to be utilized by other pieces of the app. Library server, etc.
Stack images in the view
Right now the only visual indicator that a file is part of a stack is an overlay that appears in the upper right of the thumbnail in Thumbnails view.
If the image looks like a stack of cards with a black star on top, it is a collapsed stack.
If the image looks like a single card with a black star, it is the top of an expanded stack.
If the image looks like a single card with a grey outline of a star, it is a stack member of an expanded stack.
Stack information is included in the tooltips.
Other features to be added
Enable/disable the stack indicator overlay. Sometimes you just don't care if it is a stack.
Support for details view. (Probably make an available column.)