Exporting selected frames exports wrong frame numbers

Steps to reproduce:

  1. select frames (not starting from 0)
  2. export sheet

Observe that meta section contains ALL tags with “from” and “to” properties not matching the exported frame indices or tagFrame in the frames array. I checked against {frame} and {tagFrame} and also against said frames array index.

Solution: {frame} from Item Filename option in export dialog (Output tab) should keep the absolute index of the frame. This way the “from” and “to” properties will match.

Am I getting it all wrong?

hi, mikedmc!
i wouldn’t say this is a bug as i can imagine situations where you would want to have frames in selection start with 0: let’s say you have different animations in one aseprite file and want to export them as separated sprite sheets. then you’d want to start each animation with frame 0.
however, you can change that. for instance following item filename:
{frame2} - {tagframe002} will start counting frames from 2 and tag frames from 002.
similarly, frameTags section in json points to location in output (selection), not whole source timeline. but, again, as long as you include the shift of your selection in your {frame#}, frame numbers and “from/to” numbers in frameTags section will match.

1 Like

Hi Olga,

It looks very inconsistent. Having that “frame” that just tells me the index in the array is inconsistent with the exported tags. Splitting tags also makes frame=tagframe. The tags have start/end like from 20 to 40 where I only exported frames 5 to 10 hence the info becomes useless and using the data for your exported tags you’ll be reading from outside the array bounds.
Setting the starting tag manually is a good workaround but hard to use irl.
My importer goes around the tags section and just uses the tag names and tagFrame data from each frame and it does the job but it doesn’t look rock-solid.
Also, each tag points to some frames array, I see no use in the tags showing me timeline frame data if the frames array don’t mirror that timeline frame index for themselves.
Another way of doing it would be to have “frame” in each frame just put the timeline frame index like some sort of ID.

This is a small issue and it’s easy to go around it but I still think it’s a bug.

1 Like

i looked more into it and it seems like tagframe indeed doesn’t work too well.

first of all, i agree that having tagframe = frame when the frame isn’t part of any tag is not good. there should be some default null value for such case.
there’s also an issue when tags are nested.

here’s the timeline and selection to be exported:
timeline

with: {title} {frame2} - {tagframe00}.{extension}
here’s json:
json
dots show the starting frames of tags.

i would expect the output to look more like this:
json good
this way it is easily visible that there are two levels of tags and which frames aren’t in any tags.

i can only say that since i’m not using tagframe at all, i don’t know how critical is this for other people.

Version 1.30 beta seems to be working differently. Maybe I should have told you that I’m using 1.28. Will update and see what changed.
[Updated]
False alarm, same thing. I’ll just go ahead and use what I can from the json. I’ll leave this report open for future reference anyway.

Good software! I’ll probably write a custom exporter in LUA if I get the time or branch the repo if easier.