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 (the ones that made sense to me) are then copied to the stack members. If a stack top is moved the stack members are moved. (Provided the stacked files have any commonality.)
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 a collapsed stack and all the files are deleted. Delete a stack top of an expanded stack and the top will be removed and a new top will be picked.
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 in handheld options MC does several things.
If MC needs to convert a file we look through the files stack for a file of the requested type. (MP3, WMA, etc.)
If the file is found under the stack location we use that first. Otherwise we use any available stack file of the appropriate type.
If no stack file is available we look to see if the file already exists where the conversion engine would put it.
If we find one we use it and stack it with the orignal file. (Unless, of course, it already is in a stack.)
If we do not then we 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.
Stacks 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.
- The images ...
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.
Some minor 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.)