Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request]: Dual language subtitles #402

Closed
3 tasks done
chaorace opened this issue Jan 6, 2024 · 2 comments
Closed
3 tasks done

[Feature Request]: Dual language subtitles #402

chaorace opened this issue Jan 6, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@chaorace
Copy link

chaorace commented Jan 6, 2024

Preflight checklist

  • I have searched the issue tracker for a bug report that matches the one I want to file, without success.
  • I have searched the features list for this feature, and I couldn't find it.
  • I have checked that I'm using the latest stable version of the app.

Problem Description

Currently, Miru's player is only capable of rendering one subtitle track at a time. I'd like it if Miru were enhanced to allow for displaying two subtitle tracks on the same video simultaneously.

Why? Watching videos with dual subtitle tracks is a fun way to study Japanese (or any language!) and is a stock feature available in many common video players such as VLC and MPV.

Proposed Solution

Requirements

  1. Expose a new option called "Secondary Subtitle Language" in the Player > Language Settings panel (default: "None", for no secondary track)
  2. Whenever "Secondary Subtitle Language" isn't set to the default "None", a second radio button group should be available in the player's subtitle chooser dialog (for switching or even hiding the second track during playback)
  3. Whenever a video is playing with a secondary subtitle track selected, both the main track and the secondary track should be visible at the same time (preferably fully legible!)

Proposed Implementation

After reviewing the relevant Miru code, it is my opinion that the best solution would be to preprocess the two input tracks into a single merged track which the player can then handle normally. Since the player uses ASS and Miru's subtitle module automatically converts other formats into ASS, we can introduce a merge step in-between which takes two ASS inputs and produces one ASS output.

Due to the complexity of ASS and Miru's overarching "it just works" design, I feel that we should avoid the obvious offset-based merge strategy because that would inevitably lead to the introduction of clunky and inscrutable options (i.e.: Secondary Subtitle Offset Amount (X)). A much more ideal solution would be some kind of configuration-free "smart merge".

Luckily for us, such a "smart merge" already exists in the form of the mergeSubtitles function provided by subtitle-tools. Theoretically, it should be possible to simply import the dependency and wire it up to a brief and largely self-contained code pathway.

Extra (Future?) Considerations

  • In the RSSView, a new term badge should be added to indicate torrents which appear to support all of the user's preferred subtitle languages
  • The autoplay torrent selection algorithm should be updated to account for and prioritize torrents which most closely match currently preferred languages
@chaorace chaorace added the enhancement New feature or request label Jan 6, 2024
@ThaUnknown
Copy link
Owner

if you want to learn japanese, then I recommend you use duolingo or smth, Miru is for watching anime, not learning japanese, not that it matters as 95% of releases don't have japanese subtitles, also I'm fairly sure MPV doesn't support concurrent subtitle tracks

this is too much effort, too many potential issues, for something 1 or 2 people max will use

@ThaUnknown ThaUnknown closed this as not planned Won't fix, can't repro, duplicate, stale Jan 6, 2024
@chaorace
Copy link
Author

chaorace commented Jan 6, 2024

if you want to learn japanese, then I recommend you use duolingo or smth, Miru is for watching anime, not learning japanese

This comes off as super rude. Just say no next time, bye.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants