Skip to content

Add chapter selection to OSD#5011

Open
TheMelmacian wants to merge 10 commits into
jellyfin:masterfrom
TheMelmacian:feature/osd_chapter_selection
Open

Add chapter selection to OSD#5011
TheMelmacian wants to merge 10 commits into
jellyfin:masterfrom
TheMelmacian:feature/osd_chapter_selection

Conversation

@TheMelmacian

@TheMelmacian TheMelmacian commented Nov 21, 2023

Copy link
Copy Markdown
Contributor

Changes
I added a selection menu to the OSD which allows to directly select a chapter.
It shows the number, chapter name and the start time.
If no name is set, a name in the form Chapter 01 is generated.
Th currently active chapter is calculated based on playtime and chapter start/end times and shown in the menu.

To prevent the volume from changing when scrolling through the menu, the mouse wheel listener is deactivated while the menu is visible.
Edit: This was fixed with #5401, so I adjusted my code accordingly.

For the button I used the ordered list icon:
jellyfin_chapter_selection

jellyfin_chapter_selection_menu

@TheMelmacian
TheMelmacian requested a review from a team as a code owner November 21, 2023 23:23
@sonarqubecloud

This comment has been minimized.

@thornbill thornbill added feature New feature or request ui & ux This PR or issue mainly concerns UI & UX labels Nov 30, 2023
@jellyfin-bot jellyfin-bot added the merge conflict Conflicts prevent merging label Mar 24, 2024
@jellyfin-bot

This comment has been minimized.

@jellyfin-bot jellyfin-bot removed the merge conflict Conflicts prevent merging label Mar 24, 2024
@sonarqubecloud

This comment has been minimized.

@Gauvino

Gauvino commented Mar 30, 2024

Copy link
Copy Markdown

Possible to add on 10.9 ?

@TheMelmacian

Copy link
Copy Markdown
Contributor Author

The 10.9 release is currently prepared and no more features are added: https://jellyfin.org/posts/testing-10.9.0
Probably 10.10 if the PR gets accepted.

@jellyfin-bot jellyfin-bot added the merge conflict Conflicts prevent merging label Apr 21, 2024
@jellyfin-bot

This comment has been minimized.

@jellyfin-bot jellyfin-bot removed the merge conflict Conflicts prevent merging label Apr 27, 2024
@1hitsong

1hitsong commented May 18, 2024

Copy link
Copy Markdown
Member

I like the idea. This resembles the same menu I created on Roku 🤘

If I click the Chapters button and click somewhere outside of the menu to close it (meaning, I did not click on a chapter), I get the following error:
image

@thornbill

Copy link
Copy Markdown
Member

That error is an artifact of our weird dialog code that rejects when closed... a couple places depend on it though so probably just need a catch to suppress it here.

@TheMelmacian

Copy link
Copy Markdown
Contributor Author

The settings, audio selection and subtitle selection are also affected by this.
Adding a catch to the actionsheet promise is easy but the question is should all errors be supressed

.catch(() => {
    // prevent 'ActionSheet closed without resolving' error
})

or only the ActionSheet closed without resolving error

.catch((error) => {
    // supress 'ActionSheet closed without resolving' error
    // log and throw all other errors
    if (error !== 'ActionSheet closed without resolving') {
        console.error('ActionSheet error', error);
        throw new Error(error);
    }
})

just let me now and I will provide a fix for this.

@thornbill

Copy link
Copy Markdown
Member

I would just catch all for now.

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@jellyfin-bot

jellyfin-bot commented May 19, 2024

Copy link
Copy Markdown
Collaborator

Cloudflare Pages deployment

Latest commit 19af2bf
Status ✅ Deployed!
Preview URL https://f52fba65.jellyfin-web.pages.dev
Type 🔀 Preview

View build logs

1hitsong
1hitsong previously approved these changes May 25, 2024

@1hitsong 1hitsong left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested in Windows 11.

Functionality works well. Code looks good.

Possible followup idea: Display the chapter images to the side of the chapter names.

soultaco83 added a commit to soultaco83/jellyfin-web-unstable that referenced this pull request Sep 15, 2024
@TheMelmacian

Copy link
Copy Markdown
Contributor Author

since this didn't make the cut for 10.10, any plans to add it in 10.11 ?

@thornbill

Copy link
Copy Markdown
Member

Thanks for your patience @TheMelmacian! I will see if our UI/UX lead has feedback.

@thornbill

Copy link
Copy Markdown
Member

Sorry again for the delay on this. I reviewed the change with our ui/ux lead and I think we are going to hold off and add this functionality as part of the full redesign effort.

@TheMelmacian

Copy link
Copy Markdown
Contributor Author

As long as the redesign is planned for the next major release, I have no problem with that.

@jellyfin-bot jellyfin-bot added the merge conflict Conflicts prevent merging label Feb 27, 2025
@jellyfin-bot

Copy link
Copy Markdown
Collaborator

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

@jellyfin-bot jellyfin-bot removed the merge conflict Conflicts prevent merging label Feb 27, 2025
@sonarqubecloud

Copy link
Copy Markdown

@ItsMCB

ItsMCB commented Jul 23, 2025

Copy link
Copy Markdown

I strongly value this chapter list feature as someone who frequently seeks a particular moment in my media, such as a specific performance from a four-hour concert. Is there an ETA for the full redesign effort that would include this feature?

@TheMelmacian

Copy link
Copy Markdown
Contributor Author

Sorry again for the delay on this. I reviewed the change with our ui/ux lead and I think we are going to hold off and add this functionality as part of the full redesign effort.

Sadly the redesign wasn't completed with 10.11.z and we still have to wait for this feature.
It's now the third major release (and nearly two years) this PR was not included and the advertised redesign that should include the same functionality wasn't finished either.
Why holding off this feature for two years? It doesn't include side effects or major code changes that could influence a redesign in any meaningful way. The change in the GUI is also minimal. And who knows when the redesign is finally finished and released?

@thornbill

Copy link
Copy Markdown
Member

It's fair to say the redesign work has stalled a bit... In light of that can you help me understand what need this is trying to solve? Chapters are already listed on the item details screen and in the video player timeline (similar to YouTube and other streaming platforms). What is the advantage in displaying them in a third way/place?

@TheMelmacian

Copy link
Copy Markdown
Contributor Author

The later added "chapters on timeline" feature was never an argument against this PR. Only that the same feature would be part of the redesign.
Having the chapters directly on the timeline has its advantages, but there are also some shortcomings that the chapter list has not. I think both features complement each other quite well.
MPC-HC for example has both, and the user can choose based on preferences and his current use case.

  • the current timeline is lacking chapter names
  • the timeline doesn't give a good and quick overview of all existing chapters (with names and times)
  • its way harder to search and jump to a specific chapter
  • to see chapter times I have to hover over the timeline at the the specific marker
  • the timeline doesn't work well with media with a very high number of (short) chapters

See other comments:

I strongly value this chapter list feature as someone who frequently seeks a particular moment in my media, such as a specific performance from a four-hour concert. Is there an ETA for the full redesign effort that would include this feature?

I don't see any chapter information on the item details screen. I'm not sure where they're supposed to be.
But any chapter information outside of the player is irrelevant for selecting a chapter during playback.

@jellyfin-bot

Copy link
Copy Markdown
Collaborator

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

@jellyfin-bot jellyfin-bot added merge conflict Conflicts prevent merging stale No activity for an extended length of time labels Apr 7, 2026
@sonarqubecloud

Copy link
Copy Markdown

@jellyfin-bot jellyfin-bot removed stale No activity for an extended length of time merge conflict Conflicts prevent merging labels Apr 13, 2026
@jellyfin-bot

Copy link
Copy Markdown
Collaborator

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

@jellyfin-bot jellyfin-bot added the merge conflict Conflicts prevent merging label Jun 30, 2026
@jellyfin-bot jellyfin-bot removed the merge conflict Conflicts prevent merging label Jul 2, 2026
@jellyfin-bot jellyfin-bot added the merge conflict Conflicts prevent merging label Jul 21, 2026
@jellyfin-bot

Copy link
Copy Markdown
Collaborator

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

@jellyfin-bot jellyfin-bot added the stale No activity for an extended length of time label Jul 21, 2026
@sonarqubecloud

Copy link
Copy Markdown

@jellyfin-bot jellyfin-bot removed the merge conflict Conflicts prevent merging label Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request stale No activity for an extended length of time ui & ux This PR or issue mainly concerns UI & UX

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants