Skip to content

[Feature] Add option to persist preferred subtitle track (prefer “forced” when available) #303

@Skorpion-610

Description

@Skorpion-610

What problem does this solve?

Currently, Moonfin lets you choose audio and subtitle tracks before starting playback, which works well for multi-language releases.

However, the selected subtitle track is not persisted across items, so I have to reselect the same type of subtitles (usually the release’s own subtitles) every time I start a movie or TV episode.

I would like an option in Settings (or a sensible default behavior) so that Moonfin remembers my preferred subtitle track type between playbacks.

Ideally, when multiple subtitle tracks are available, the app would automatically select “forced” subtitles when they exist in the release, as these are usually the most context-relevant and what I always use when available.

Proposed solution

Add a setting like:

“Preferred subtitle type”:

Off / None

Default from release

Forced (if available), otherwise default

The choice is stored per user/profile so it persists across sessions.

On playback start, Moonfin automatically selects the preferred subtitle track according to this setting, while still allowing manual override in the pre-playback track selection screen.

Alternatives considered (optional)

If technically easier, a first iteration could simply “remember last used subtitle track per user” and reuse it for subsequent items, then later refine to prefer “forced” when available.

Additional context (optional)

Why this is useful

Avoids having to manually select the same subtitle track for every movie/episode.

Matches common usage where “forced” subtitles (foreign language parts, signs, etc.) are usually the most relevant when present in the release.

Makes Moonfin more convenient for users who always use the same subtitle configuration.

For instance, many releases expose multiple subtitle tracks such as:

  • FR Forced : SRT - French - Default - Forced - SUBRIP
  • ENG Forced : SRT - English - Forced - SUBRIP
  • FR Full : SRT - French - SUBRIP
  • ENG Full : SRT - English - SUBRIP

I always want the client to automatically pick the “FR Forced” (or more generally any forced track in my preferred language) when available, instead of having to select it manually every time.

Image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions