Skip to content

feat: PR 1/2 - export at the project resolution and frame rate, or 1.5x/2x - #175

Closed
Domica wants to merge 6 commits into
jub0t:mainfrom
Domica:feat-export-original-resolution
Closed

Domica wants to merge 6 commits into
jub0t:mainfrom
Domica:feat-export-original-resolution

Conversation

@Domica

@Domica Domica commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Problem

The Resolution dropdown offered four 16:9 short sides (4K, QHD, 1080p, 720p) as the only choices, whatever the project's own aspect was, and the Frame rate dropdown offered 24/30/60 only. A 1:1 or vertical project, or a project whose rate is 25 or 29.97, had no way to export at the project's own numbers through the sheet — the named tiers scaled along the project aspect in code but the labels disagreed, and the rate offered nothing but the three the dropdown carried.

Fix

Three options beside the four named resolution tiers:

  • Original project resolution — the project's own frame, no
    scaling. A 1:1 project exports 1:1, a 9:16 project exports 9:16.
  • 1.5× — 1.5 times the project frame.
  • — twice the project frame.
  • 21:9 — movie format ratio

And one beside the three named rates:

  • Original — the project's own rate, exact fraction (30000/1001 stays 30000/1001, no rounding to 29.97).

The named tiers keep their meaning; they already scaled along the project's aspect in code, so this is mostly making the labels honest.

Companion

The project side of the same issue is the companion PR — the Format picker on the launch screen that lets a project be born 9:16, 4:5 or 1:1 in the first place. This PR is the export half.

Verification

  • cargo check -p concat (runs on CI)
  • Tested on a personal nightly: 16:9, 1:1 and 9:16 projects each export
    at the resolution the dropdown names, and ffprobe agrees

Closes #109.

image image

@Domica Domica changed the title feat: export at the project resolution and frame rate, or 1.5x/2x feat: PR 1/2 - export at the project resolution and frame rate, or 1.5x/2x Sep 22, 2026
@Domica
Domica force-pushed the feat-export-original-resolution branch from 40a5a7e to 2f1767a Compare September 22, 2026 12:03
…tiers

The Resolution dropdown only offered 16:9 short sides, which are wrong
for a 1:1 or vertical project. Adds three options beside the four named
tiers:

- Original: the project's own frame, no scaling. A 1:1 project
  exports 1:1, a 9:16 project exports 9:16.
- 1.5x: 1.5 times the project frame. 300 x 300 -> 450 x 450.
- 2x: twice the project frame. 300 x 300 -> 600 x 600.

The named tiers already scaled along the project aspect in code; this
is mostly making the labels honest for the shapes those tiers do not
fit.

Closes jub0t#109.
"1.5x" and "2x" alone do not say what is being scaled. The dropdown
offers resolution tiers beside the project options, so a reader could
take them for a scaling of the tier. They scale the project frame,
and the label now says so.
The named tiers scale along the project aspect — correct for a project
that shares the shape, but a 21:9 widescreen delivery wanted a fixed
frame. 2560 × 1080 is now a named option, and Original/1.5×/2× shift
one index down.
The merge of the resolution options into concat_fixed dropped the colour
range row that the colour work added: app.slint still forwarded
color-range-changed, but ExportDialog no longer had the callback, so
the build script failed on app.slint.

Brings the ExportData field, the callback, the Colour section and the
Rust side (ExportMsg::ColorRangeChanged, ExportPane.color_range,
color_range() and the spec field) back, with the resolution options
untouched.
"2560 × 1080" alone did not say the frame is ultrawide. The label now
reads "Wide 21:9 · 2560 × 1080", the shape first, the pixels after,
matching how the named tiers read elsewhere.
The rebase onto main kept both the helper this branch added and the
one main had merged from the colour work. They are identical; the
main version stays.
@Domica

Domica commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

Withdrawn. Will be opened at a later date.

@Domica Domica closed this Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The output resolution should match the project's format

1 participant