- The order is fixed because we now iterate a LayerList (a
std::vector) instead of a SelectedLayers (a std::set)
- This can be an issue each time we iterate over a std::set (and
SelectedLayers is a std::set) because it depends on the specific STL
impl details (which vary depending on msvc/clang/gcc compiler).
- This fix iterates over layers, no matter if are visible or not
(SelectedLayers::toLayerList() returns only browseable layers)
New cmake flag -DENABLE_UI=OFF can be used to turn off the GUI
and compile a CLI-only version of Aseprite.
Requested here too:
https://community.aseprite.org/t/1351
Now we can use --layer multiple times to modify the --save-as and
--sheet behavior to render only the filtered/selected layers. This can
be combined with --split-layers too.
We have to propagate show/hide layers/groups visibility properly to
export them correctly. We use the same code that in the "Export Sprite
Sheet" for this (a new RestoreVisibleLayers class is separated for
this).
This change was done to avoid calling split_string() each time we want
to know the frame range. (As the frame range will be used in several
parts of the code.)
When a DocumentExporter is used to export a specific range of frames
from the CLI processor, a temporal frame tag is created, we've to delete
that tag when the DocumentExporter is destroyed.
We’ve moved the cli into its own directory (src/app/cli). Also, we’ve
added a new “--preview” parameter to know what will be done using the
given command line options.