Skip to content

feat: add media repeat and auto-advance controls - #4243

Merged
marinofaggiana merged 14 commits into
masterfrom
mediaviewer-repeat
Aug 12, 2026
Merged

feat: add media repeat and auto-advance controls#4243
marinofaggiana merged 14 commits into
masterfrom
mediaviewer-repeat

Conversation

@marinofaggiana

@marinofaggiana marinofaggiana commented Aug 11, 2026

Copy link
Copy Markdown
Member

Changes

  • Added Repeat current item and Auto-play next item controls for audio, AVPlayer, and VLC.
  • Repeat takes precedence when both options are enabled.
  • Automatically finds and plays the next compatible audio or video item.
  • Persisted both options in NCPreferences.
  • Fixed page transitions and autoplay when moving to the next media item.
  • Updated the audio controls layout and added localization and accessibility labels.
  • Added unit tests for playback behavior, option precedence, and persistence.

馃 AI (if applicable)

  • The content of this PR was partly or fully generated using AI

Support shared playback completion options across audio, AVPlayer, and VLC viewers.

Automatically advance to the next compatible media item and cover option precedence with unit tests.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Reload the audio player after viewer-wide teardown and skip fullscreen video dismissal for audio transitions.

Use the repeat-one icon for the audio repeat control.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
@marinofaggiana marinofaggiana changed the title Mediaviewer repeat feat: add media repeat and auto-advance controls Aug 11, 2026
Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Track playback using elapsed media time, keep progress updates active during UI interactions, and seek by timestamp after scrubbing.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Share presentation state across AVPlayer and VLC to suppress controls during automatic playback, repeat restarts, and seeking.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Deduplicate media viewer identifiers and skip repeated source items during next-media lookup.
Restore stopped playback controls when no matching item can be advanced to.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Deactivate media while paging and resume playback only after the target page settles.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
@marinofaggiana
marinofaggiana merged commit 5d423fc into master Aug 12, 2026
4 checks passed
@marinofaggiana
marinofaggiana deleted the mediaviewer-repeat branch August 12, 2026 06:50
@marinofaggiana marinofaggiana self-assigned this Aug 12, 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.

1 participant