Bug 430363

Summary: Allow frame rates less than 1 for GIF export
Product: [Applications] krita Reporter: David Gene <david>
Component: AnimationAssignee: Bourumir Wyngs <bourumir.wyngs>
Status: RESOLVED INTENTIONAL    
Severity: wishlist CC: ahab.greybeard, bourumir.wyngs, emmetoneill.pdx, jessenzr, tamtamy.tymona
Priority: NOR    
Version First Reported In: 4.3.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description David Gene 2020-12-14 04:50:39 UTC
SUMMARY
I recently had a situation where I wanted each frame of a GIF to appear for two seconds (0.5fps), but the interface didn't support it. This would be a nice feature to have.

STEPS TO REPRODUCE
1. Create an animation
2. Export as GIF
3. Try to set framerate lower than 1, e.g. 0.5

OBSERVED RESULT
Interface doesn't allow framerates of less than 1 for gif exports

EXPECTED RESULT
Decimal framerates should be allowed to be inputted when exporting an animation, and will round to the nearest supported framerate by the export file format after unfocusing from the framerate input field, letting users see framerate that will be actually used before they actually hit Export. 

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Ubuntu 20.04
(available in About System)
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8
Comment 1 Tiar 2021-05-18 23:59:05 UTC
I wonder how to make it possible in the GUI without making users shoot themselves in the foot.
Comment 2 Ahab Greybeard 2021-05-19 13:44:31 UTC
@Tiar: There is room in the fps indicator for fractional decimal values:
0.9, 0.8, ...,0.2, 0.1, 0.05 that would be obtained by decrementing from a value of 1.
Could a background colour of yellow (caution) be set for less than 1 fps?
Or, go all the way and have an option to change fps to a millisecond frame interval?

@David Gene: As a workaround, you can open the animated .gif in GIMP then Export it as animated .gif and specify an overiding frame interval in milliseconds.
Comment 3 Bourumir Wyngs 2022-03-20 15:12:35 UTC
I suggest adding fractional rates to the spin box:  2/3, 1/2, 1/3, 1/4, 1/5, 1/10 . This looks clear and intuitive enough and would be useful for educational animations like matrix multiplication, or chemical reaction, or how exactly the Judo throw should be performed. Such animations require serious thinking while watching and slow speeds may be for them appropriate.

This would require a derivative of QSpinBox where rendering is overridden. We can think on possible alternatives. If the community is OK, I can take over this request of enhancement and implement the change.
Comment 4 Bourumir Wyngs 2022-04-02 19:19:23 UTC
I will propose the change that supports fractional frame rates in story board and also in export dialogs. Instead of complicating the user selection with fractional parts, I simply extended the existing spin box to spin down below 1 into 1/2 and other fractions. 3/2 is also provided.  Fractions are useful for educational animations that may run slowly and do not need many frames.
Comment 6 Bourumir Wyngs 2022-04-10 07:13:25 UTC
This feature will be additionally discussed at https://krita-artists.org/t/fractional-frame-rates-needed-or-not/39513