[GH-ISSUE #1367] [Bug] Partial Export 'Expression' Ignores Custom Frame Order, Affecting Thumbnail Selection #1008

Closed
opened 2026-02-26 09:33:16 +03:00 by kerem · 2 comments
Owner

Originally created by @wenual on GitHub (Jan 26, 2025).
Original GitHub issue: https://github.com/NickeManarin/ScreenToGif/issues/1367

Originally assigned to: @NickeManarin on GitHub.

Describe the bug
When the "Export partially" option is selected during the save process, the custom frame order provided in the "Expression" field is ignored. For example, an input such as 50-100,0-49 is rendered sequentially as 0-100, disregarding the specified swapped order.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Save as'
  2. Click on 'Export partially'
  3. Scroll down to 'Partial export'
  4. Select 'Expression' under the dropdown menu
  5. Type a custom frame order, e.g., 50-100,0-49
  6. Click on Save
  7. Observe that the output GIF renders sequentially (0-100), ignoring the custom frame order.

Expected behavior
The exported GIF should respect the custom frame order specified in the "Expression" field. For example:

  • Start with frame 50
  • End with frame 49
  • Jump in the middle as specified

This behavior is especially important when the thumbnail (derived from the first frame of the GIF) should represent a visually appealing frame located later in the sequence.

Desktop (please complete the following information):

  • OS: [e.g. Windows 10 PRO]
  • Version: [e.g. 2.41.1]

Additional context
This feature is important for workflows where the thumbnail of a GIF (derived from the first frame) should represent a visually appealing frame located later in the sequence.

Attempts to reproduce this behavior using custom FFmpeg parameters have shown that frames are united in sequential order regardless of the input, potentially overridden by ScreenToGif.

My ffmpeg param for example:

-vsync passthrough 
{I} 
-loop 0 
-lavfi "select='between(n\,1319\,1346)+between(n\,1300\,1318)',setpts=N/FRAME_RATE/TB,scale=1000:-1,split[scaled][palette];[palette]palettegen=stats_mode=diff:max_colors=256[pal];[scaled][pal]paletteuse=new=1:dither=floyd_steinberg:diff_mode=rectangle,fps=24" 
-f gif 
{O}
Originally created by @wenual on GitHub (Jan 26, 2025). Original GitHub issue: https://github.com/NickeManarin/ScreenToGif/issues/1367 Originally assigned to: @NickeManarin on GitHub. **Describe the bug** When the "Export partially" option is selected during the save process, the custom frame order provided in the "Expression" field is ignored. For example, an input such as `50-100,0-49` is rendered sequentially as `0-100`, disregarding the specified swapped order. **To Reproduce** Steps to reproduce the behavior: 1. Go to 'Save as' 2. Click on 'Export partially' 3. Scroll down to 'Partial export' 4. Select 'Expression' under the dropdown menu 5. Type a custom frame order, e.g., `50-100,0-49` 6. Click on `Save` 7. Observe that the output GIF renders sequentially (`0-100`), ignoring the custom frame order. **Expected behavior** The exported GIF should respect the custom frame order specified in the "Expression" field. For example: - Start with frame 50 - End with frame 49 - Jump in the middle as specified This behavior is especially important when the thumbnail (derived from the first frame of the GIF) should represent a visually appealing frame located later in the sequence. **Desktop (please complete the following information):** - OS: [e.g. Windows 10 PRO] - Version: [e.g. 2.41.1] **Additional context** This feature is important for workflows where the thumbnail of a GIF (derived from the first frame) should represent a visually appealing frame located later in the sequence. Attempts to reproduce this behavior using custom FFmpeg parameters have shown that frames are united in sequential order regardless of the input, potentially overridden by ScreenToGif. My ffmpeg param for example: ``` -vsync passthrough {I} -loop 0 -lavfi "select='between(n\,1319\,1346)+between(n\,1300\,1318)',setpts=N/FRAME_RATE/TB,scale=1000:-1,split[scaled][palette];[palette]palettegen=stats_mode=diff:max_colors=256[pal];[scaled][pal]paletteuse=new=1:dither=floyd_steinberg:diff_mode=rectangle,fps=24" -f gif {O} ```
kerem 2026-02-26 09:33:16 +03:00
Author
Owner

@wenual commented on GitHub (Jan 26, 2025):

The workaround could be implemented in various ways, potentially offering better flexibility than directly fixing this bug. For example:

  1. Option to select a split frame: Allow users to define a specific point where the sequence is divided.
  2. Option to select a specific frame for the thumbnail: Enable users to choose a specific frame to be copied and used as the first frame, ensuring the desired thumbnail is delivered.
<!-- gh-comment-id:2614402349 --> @wenual commented on GitHub (Jan 26, 2025): The workaround could be implemented in various ways, potentially offering better flexibility than directly fixing this bug. For example: 1. **Option to select a split frame:** Allow users to define a specific point where the sequence is divided. 2. **Option to select a specific frame for the thumbnail:** Enable users to choose a specific frame to be copied and used as the first frame, ensuring the desired thumbnail is delivered.
Author
Owner

@NickeManarin commented on GitHub (Jun 7, 2025):

Done, reverse order now also works as well (10-0), besides the fix what you requested (50-100, 0-49).
It will be available with v2.41.3

<!-- gh-comment-id:2952889990 --> @NickeManarin commented on GitHub (Jun 7, 2025): Done, reverse order now also works as well (10-0), besides the fix what you requested (50-100, 0-49). It will be available with v2.41.3
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ScreenToGif#1008
No description provided.