Skip to content

Loops, thumbnail fit setting, app tour - #51

Merged
Two-Play merged 5 commits into
developfrom
feature/loops
Oct 25, 2026
Merged

Two-Play merged 5 commits into
developfrom
feature/loops

Conversation

@Two-Play

@Two-Play Two-Play commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Shorts | Loops (4.27): the shorts tab's top bar switches between short videos and Loops: scene markers (random, preferred tags and "portrait only" apply, length doesn't), each repeating on its own. Stored for all servers (shortsModeProvider); the page swaps its feed in place. The "Content" setting that mixed markers into the shorts is removed (a stored value is ignored). "Play as loops" in the markers grids.

  • Robust looping: a marker now plays Short.playbackUrl, an mpv EDL of only its clip (edl://%<len>%<url>,start=…,length=…), which mpv treats as a file of its own: position 0 to the clip's length, loop-file loops it seamlessly. The A-B loop inside the whole scene and the position correction are gone. PreviewSeekBar(windowRelative: true) maps the clip's times onto the window (sprite frames and markers at absolute times, seeks relative).

  • No zoom on tablets: shorts and their tiles cover only when that crops ≤ 30 % (Short.fitFor), otherwise the whole picture shows: portrait videos on a landscape tablet, landscape scenes in the 9:16 tiles.

  • Thumbnails setting: Settings → Previews & cards → Thumbnails: "Show whole" (default; the same 30 % rule, now also for 16:9 scene cards and their previews and the markers grid) or "Fill (crop)".

  • App tour: six swipeable steps (welcome, player, shorts vs loops, library and You, favorites and ratings, settings) after the theme picker on the first login; Settings → About → "App tour" opens it again. The screenshot integration test skips it.

  • Fix: the shorts/loops switch pulled the shorts' top bar to the middle of the screen.

Tests

  • Updated shorts_test.dart (loops feed, EDL URL, no markers in the shorts, mode stored) and shorts_markers_ui_test.dart (relative window, fit rule, tile fit, settings sheet); dart analyze clean, flutter test 865 passing (plus the tour at 2× text in English and German, the thumbnail setting, the switch's position).
  • EDL checked with the desktop mpv over a local HTTP server with byte ranges: duration = clip length, starts at 0, loops back to 0, the ApiKey header reaches the server. Not tried in the app on a device yet.

🤖 Generated with Claude Code

- The shorts tab switches between "Shorts" (videos only) and "Loops"
  (scene markers with the preferred tags and orientation), stored for all
  servers; the feed swaps in place. The former "Content" setting that
  mixed markers into the shorts is gone.
- A marker plays an mpv EDL of only its clip, which mpv loops as a file
  of its own from 0; the A-B loop and the clip correction are gone. The
  seek bar maps the player's clip times onto the window
  (windowRelative).
- Shorts and their tiles cover the screen only when that crops at most
  30 %, else they show whole (portrait videos on landscape tablets,
  landscape scenes in 9:16 tiles).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codacy-production

codacy-production Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 11 duplication

Metric Results
Duplication 11

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Two-Play and others added 2 commits October 25, 2026 19:50
- The shorts/loops switch's column took the screen's height, which
  pulled the whole top bar to the middle.
- 16:9 scene thumbnails, their previews and the markers grid's tiles
  show a portrait scene whole on black instead of zoomed to the width
  (pictureFit, shared with the shorts).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Settings → Previews & cards → Thumbnails: "Show whole" (default, the
  30 % rule) or "Fill (crop)", for scene cards with their previews,
  marker tiles and short tiles.
- A six-step tour (welcome, player, shorts vs loops, library and You,
  favorites and ratings, settings) follows the theme picker after the
  first login and opens again from Settings → About.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Two-Play Two-Play changed the title Loops: markers apart from the shorts; no zoom on tablets Loops, thumbnail fit setting, app tour Oct 25, 2026
Two-Play and others added 2 commits October 25, 2026 21:15
…side

- "Full video" opens the scene where the short (or the loop's clip, from
  the marker's start) is, instead of the resume point or marker start.
- A new seek sequence (the other side) counts from the last seek's
  target for 2 s, since mpv and cast devices still report the position
  from before it; it starts from one step again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Two-Play
Two-Play merged commit 9799d8b into develop Oct 25, 2026
4 checks passed
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.

1 participant