Repository navigation
Loops, thumbnail fit setting, app tour - #51
Merged
Merged
Conversation
- 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>
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Duplication | 11 |
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.
- 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>
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-fileloops 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
shorts_test.dart(loops feed, EDL URL, no markers in the shorts, mode stored) andshorts_markers_ui_test.dart(relative window, fit rule, tile fit, settings sheet);dart analyzeclean,flutter test865 passing (plus the tour at 2× text in English and German, the thumbnail setting, the switch's position).ApiKeyheader reaches the server. Not tried in the app on a device yet.🤖 Generated with Claude Code