Bug 458997

Summary: 'Start numbering at' doesn't work when rendering to image sequence
Product: [Applications] krita Reporter: Maarten <info>
Component: AnimationAssignee: Eoin O'Neill <eoinoneill1991>
Status: RESOLVED FIXED    
Severity: normal CC: eoinoneill1991
Priority: NOR    
Version: 5.1.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Maarten 2022-09-11 13:46:44 UTC
SUMMARY
'Start numbering at' doesn't work when rendering to image sequence


STEPS TO REPRODUCE - TEST 1
1. Create a frame-by-frame animation starting from frame 24 and ending at frame 45 (for example. not starting at 0 or 1)
2. File --> Render Animation
3. Leave 'Start numbering at' at 0 to start output numbering on frame 0
4. Click 'OK' to render
5. Watch result in Windows Explorer: See that the frame numbers aren't starting at 0, but at frame 24 as the original keyframe number on the timeline. So it ignored the 'start numbering at' setting.

STEPS TO REPRODUCE - TEST 2
1. Create a frame-by-frame animation starting from frame 24 and ending at frame 45 (for example. not starting at 0 or 1)
2. File --> Render Animation
3. Leave 'Start numbering at' at 1 to start output numbering on frame 1
4. Click 'OK' to render
5. Watch result in Windows Explorer: See that the frame numbers aren't starting at 1, but at frame 24 as the original keyframe number on the timeline. So it ignored the 'start numbering at' setting.

STEPS TO REPRODUCE - TEST 3
1. Create a frame-by-frame animation starting from frame 24 and ending at frame 45 (for example. not starting at 0 or 1)
2. File --> Render Animation
3. Leave 'Start numbering at' at 2 to start output numbering on frame 2
4. Click 'OK' to render
5. Watch result in Windows Explorer: See that the frame numbers aren't starting at 2, but at frame 24 as the original keyframe number on the timeline. So it ignored the 'start numbering at' setting.

OBSERVED RESULT
See above

EXPECTED RESULT
Image sequence to start at given frame number as set in 'start numbering at'

SOFTWARE/OS VERSIONS
Windows:  10
Krita: 5.1.0
Comment 1 Eoin O'Neill 2022-09-12 19:46:46 UTC
Git commit 9913555acb209ca826ea543af467ae6fa3ed44d1 by Eoin O'Neill.
Committed on 12/09/2022 at 19:45.
Pushed by eoinoneill into branch 'master'.

Fix the "Start Numbering At" Field not Working as Advertised

Internally, the code always refers to this as 'numbering offset' so I
presume that the labeling changed in the GUI and that wasn't properly
reflected in the code to work as intended. In short, I've modified the
behavior to work as advertised.

I plan to make some modifications to export at some point, but one of the
best things we could do short term is clean up variable naming to better
reflect intent as that is how this bug happened in the first place (I
think...)

M  +2    -2    libs/ui/KisAsyncAnimationFramesSavingRenderer.cpp

https://invent.kde.org/graphics/krita/commit/9913555acb209ca826ea543af467ae6fa3ed44d1
Comment 2 Halla Rempt 2022-09-13 06:50:58 UTC
Git commit ff83c5a91811b2822b73b33839212cef47cb7392 by Halla Rempt, on behalf of Eoin O'Neill.
Committed on 13/09/2022 at 06:50.
Pushed by rempt into branch 'krita/5.1'.

Fix the "Start Numbering At" Field not Working as Advertised

Internally, the code always refers to this as 'numbering offset' so I
presume that the labeling changed in the GUI and that wasn't properly
reflected in the code to work as intended. In short, I've modified the
behavior to work as advertised.

I plan to make some modifications to export at some point, but one of the
best things we could do short term is clean up variable naming to better
reflect intent as that is how this bug happened in the first place (I
think...)
(cherry picked from commit 9913555acb209ca826ea543af467ae6fa3ed44d1)

M  +2    -2    libs/ui/KisAsyncAnimationFramesSavingRenderer.cpp

https://invent.kde.org/graphics/krita/commit/ff83c5a91811b2822b73b33839212cef47cb7392
Comment 3 Maarten 2022-09-13 14:38:17 UTC
Wow, great work and nice to see you picked this up so soon! Thanks for that! It's nice to be able to start our frames from a given number soon! Thanks again
Comment 4 Eoin O'Neill 2022-09-15 02:30:51 UTC
Hi Marteen,

No worries, thanks again for reporting the bug. If you want to test it out earlier, you can try out one of Krita's nightly version(s).
Comment 5 Maarten 2022-09-17 09:19:01 UTC
(In reply to Eoin O'Neill from comment #4)
> Hi Marteen,
> 
> No worries, thanks again for reporting the bug. If you want to test it out
> earlier, you can try out one of Krita's nightly version(s).

See it's present in 5.1.1, which I just installed. You guys are faster than the light! Thanks for this!
Comment 6 Dmitry Kazakov 2023-09-25 13:50:01 UTC
Git commit 0ed384a5dae0d99582f964c0061519769b7a0176 by Dmitry Kazakov.
Committed on 25/09/2023 at 15:46.
Pushed by dkazakov into branch 'master'.

Fix removal of duplicated frames in "Only Unique Frames" mode

The offset was applied incorrectly so the clean-up stage of the rendering
process removed incorrect files (basically, the files without the
normalizing offset)

The patch should also fix a possible offset issue between the video
and audio when rendering multiple times into the same folder
Related: bug 450449, bug 474679

M  +2    -2    libs/ui/KisAsyncAnimationFramesSavingRenderer.cpp
M  +1    -17   libs/ui/animation/KisAnimationRender.cpp
M  +0    -4    libs/ui/animation/KisAnimationRender.h
M  +13   -21   libs/ui/dialogs/KisAsyncAnimationFramesSaveDialog.cpp
M  +2    -2    libs/ui/dialogs/KisAsyncAnimationFramesSaveDialog.h

https://invent.kde.org/graphics/krita/-/commit/0ed384a5dae0d99582f964c0061519769b7a0176
Comment 7 Dmitry Kazakov 2023-09-25 13:50:37 UTC
Git commit 2fbd233de9554bb94a98fbf53cb14dc3e457fe5d by Dmitry Kazakov.
Committed on 25/09/2023 at 15:50.
Pushed by dkazakov into branch 'krita/5.2'.

Fix removal of duplicated frames in "Only Unique Frames" mode

The offset was applied incorrectly so the clean-up stage of the rendering
process removed incorrect files (basically, the files without the
normalizing offset)

The patch should also fix a possible offset issue between the video
and audio when rendering multiple times into the same folder
Related: bug 450449, bug 474679

M  +2    -2    libs/ui/KisAsyncAnimationFramesSavingRenderer.cpp
M  +1    -17   libs/ui/animation/KisAnimationRender.cpp
M  +0    -4    libs/ui/animation/KisAnimationRender.h
M  +13   -21   libs/ui/dialogs/KisAsyncAnimationFramesSaveDialog.cpp
M  +2    -2    libs/ui/dialogs/KisAsyncAnimationFramesSaveDialog.h

https://invent.kde.org/graphics/krita/-/commit/2fbd233de9554bb94a98fbf53cb14dc3e457fe5d