Commit graph

197 commits

Author SHA1 Message Date
Ray
8bdc8a6f8f
Consistent audio/subtitle info across dialogs (#664)
## Description
Makes the labels for audio & subtitle stream consistent across the app

The More->Choose dialogs now highlight which track is currently choosen.

Also uses more of the brand names for audio codecs (eg DD+) and allows
for these to be translated into other languages.

### Related issues
Closes #621 
Fixes #668
Related to
https://github.com/damontecres/Wholphin/issues/528#issuecomment-3678876207,
I adjusted the background & selection colors of the dialogs during
playback

### Screenshots

#### Choose subtitles from More dialog
![subtitle_dialog1
Large](https://github.com/user-attachments/assets/edaf96a0-fea4-4110-b274-e8c57494bc59)

#### Choose subtitles during playback
![subtitle_dialog2
Large](https://github.com/user-attachments/assets/c0dd76ab-bb2c-42a9-bfa7-2d3b6ffe2b35)

#### Choose audio
![audio_tracks
Large](https://github.com/user-attachments/assets/3214879d-9845-48ff-918c-e9cd470ed0bc)
2026-01-11 12:46:38 -05:00
Ray
02d6a98ba8
More subtitle selection fixes (#630)
## Description
Fixes more subtitle selection issues, primarily fixes the sort order of
subtitle streams. But also prefer default subtitle in some cases

Adds test cases for the described situations below

Also adds an option in the More dialog to clear track selections made on
an item/series.

### Related issues
Addresses
https://github.com/damontecres/Wholphin/issues/570#issuecomment-3707255647
&
https://github.com/damontecres/Wholphin/issues/570#issuecomment-3707292928
2026-01-04 17:06:54 -05:00
Ray
0fe8e5d988
Show button for trailers instead of card row (#618)
## Description
On both movie & series detail pages, show a button to play trailers
instead of the row of cards below.

The button works like this:
- If no trailers, the button shows "No trailers" and is
disabled/non-clickable
- If only a single trailer, the button shows "Play trailer" and clicking
it plays the trailer
- Otherwise, shows "Trailers" and clicking displays a dialog to choose
one

Local trailers are shown first in the list. Then there is an attempt to
sort the trailers for the dialog so that names with "Official Trailer"
or "Official Theatrical Trailer" are listed first and "Teaser" is listed
last. This isn't perfect and doesn't work for non-English, but there's
no other metadata to use.

### Related issues
Closes #408
2026-01-02 13:50:45 -05:00
Ray
d15ffa13b8
Merge pull request #602 from damontecres/translations-2025-12-30
Translations as of 2025-12-30
2026-01-01 15:07:46 -05:00
Ray
26a913b05e
Support resolution switching (#597)
## Description
Adds a settings for automatic resolution switching. When enabled, the
app tries to output content at the video stream's resolution.

For example, if playing 1080p content on a 4K TV, the actual output by
the Android TV device will be 1080p.

This works in hand-in-hand with automatic refresh rate switching. So
enabling both allows for the output to match both refresh rate and
content resolution. Outputting the best refresh rate is preferred over
best resolution.

Also, shows the current display mode in the playback debug info.

### Related issues
Closes #428 
Fixes #531
2025-12-31 17:11:30 -05:00
Ray
7e5a491d8e
Allow trusting user provided SSL/TLS certificates (#608)
## Description
Allow for trusting user added certificates

### Related issues
Closes #254
2025-12-31 14:13:07 -05:00
Damontecres
2b68b91d9e
Fix invalid string characters 2025-12-30 13:49:20 -05:00
lazigeri
b62cc84bf9
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
bad567f2bb
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
SimonHung
d2e8440a03
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:11 +00:00
lazigeri
0e0e0b12eb
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
716d81f0d2
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
SimonHung
b9a4bbd3f3
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:11 +00:00
jab3
f463e707cc
Translated using Weblate (Spanish)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2025-12-29 20:39:11 +00:00
butterflyoffire
ab9dbed022
Translated using Weblate (Kabyle)
Currently translated at 14.9% (47 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/kab/
2025-12-29 20:39:11 +00:00
butterflyoffire
1c92934b33
Added translation using Weblate (Kabyle) 2025-12-29 20:39:11 +00:00
opakholis
5a8dc23989
Translated using Weblate (Indonesian)
Currently translated at 97.7% (308 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
2025-12-29 20:39:11 +00:00
oyvhov
c74c40dfd8
Translated using Weblate (Norwegian Nynorsk)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nn/
2025-12-29 20:39:11 +00:00
lazigeri
f240498aaa
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
texxlan
8f923c187f
Translated using Weblate (German)
Currently translated at 87.9% (277 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2025-12-29 20:39:11 +00:00
lazigeri
a2e72ddf45
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
jab3
5c9ca3b24a
Translated using Weblate (Spanish)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2025-12-29 20:39:11 +00:00
texxlan
295faf51aa
Translated using Weblate (German)
Currently translated at 77.1% (243 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2025-12-29 20:39:11 +00:00
lazigeri
6af8204402
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
OmriKumri
dda8baa46d
Translated using Weblate (Hebrew)
Currently translated at 10.7% (34 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/he/
2025-12-29 20:39:11 +00:00
OmriKumri
6f5e0d82d1
Translated using Weblate (Hebrew)
Currently translated at 6.6% (21 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/he/
2025-12-29 20:39:11 +00:00
RabSsS
6cb320c43f
Translated using Weblate (French)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2025-12-29 20:39:11 +00:00
Outbreak2096
a2535b098d
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2025-12-29 20:39:11 +00:00
adambibor
aad81f85c9
Translated using Weblate (Hungarian)
Currently translated at 99.3% (313 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
8ee6b9d8b5
Translated using Weblate (Hungarian)
Currently translated at 99.3% (313 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
arcker95
3cd26759f4
Translated using Weblate (Italian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2025-12-29 20:39:11 +00:00
Priit Jõerüüt
0ccdf391de
Translated using Weblate (Estonian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2025-12-29 20:39:11 +00:00
American_Jesus
8d4fcb377d
Translated using Weblate (Portuguese)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2025-12-29 20:39:11 +00:00
lazigeri
dfa1ba079c
Translated using Weblate (Hungarian)
Currently translated at 81.5% (257 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
ff8a9a7125
Translated using Weblate (Hungarian)
Currently translated at 78.7% (248 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
225b3c0455
Translated using Weblate (German)
Currently translated at 76.8% (242 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2025-12-29 20:39:11 +00:00
SimonHung
1289bed0c4
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 88.5% (278 of 314 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:10 +00:00
oyvhov
955d577624
Translated using Weblate (Norwegian Nynorsk)
Currently translated at 100.0% (314 of 314 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nn/
2025-12-29 20:39:10 +00:00
SimonHung
76db702564
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 87.2% (274 of 314 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:10 +00:00
oyvhov
dbe8074997
Translated using Weblate (Norwegian Nynorsk)
Currently translated at 8.2% (26 of 314 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nn/
2025-12-29 20:39:10 +00:00
Outbreak2096
05fffe63a2
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (314 of 314 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2025-12-29 20:39:10 +00:00
arcker95
7930b1d4d0
Translated using Weblate (Italian)
Currently translated at 100.0% (314 of 314 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2025-12-29 20:39:10 +00:00
American_Jesus
ca3c5e8de9
Translated using Weblate (Portuguese)
Currently translated at 100.0% (314 of 314 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2025-12-29 20:39:10 +00:00
Ray
11dda19b8a
TV Guide UI followup to #517 (#521)
## Description
- Instead of just replacing newline characters, collapse white-space
into single space characters which is roughly how the web UI does it
with CSS's `white-space: nowrap;`
- Use an actual arrow indicator instead of a `<` character for when a
program begins before the guide start

### Related issues
#517
https://github.com/damontecres/Wholphin/issues/434
https://github.com/damontecres/Wholphin/issues/435
https://github.com/damontecres/Wholphin/issues/436

### Screenshots
<img width="605" height="316" alt="image"
src="https://github.com/user-attachments/assets/6a5227b5-9960-4c6d-a086-a4a9867ea60b"
/>
2025-12-20 14:47:28 -05:00
Amar Sandhu
fd260f2709
Add "Ends at" time display. (#475)
Addresses #441 .

---------

Co-authored-by: Damontecres <damontecres@gmail.com>
2025-12-18 15:52:27 -05:00
Ray
8c0defb772
Add translations as of 2025-12-17 (#495)
Adds another batch of translated strings.

Thank you to all of the contributors!

---------

Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: ymir <ymir@noreply.codeberg.org>
Co-authored-by: ianvm <ianvm@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: American_Jesus <american_jesus@noreply.codeberg.org>
Co-authored-by: Vistaus <vistaus@noreply.codeberg.org>
Co-authored-by: Geekice <geekice@noreply.codeberg.org>
Co-authored-by: opakholis <opakholis@noreply.codeberg.org>
Co-authored-by: RabSsS <rabsss@noreply.codeberg.org>
Co-authored-by: arcker95 <arcker95@noreply.codeberg.org>
Co-authored-by: Rand0mB0y <rand0mb0y@noreply.codeberg.org>
Co-authored-by: SimonHung <simonhung@noreply.codeberg.org>
Co-authored-by: efko <efko@noreply.codeberg.org>
Co-authored-by: DragoWing <dragowing@noreply.codeberg.org>
Co-authored-by: oyvhov <oyvhov@noreply.codeberg.org>
2025-12-17 17:01:08 -05:00
YogiBear12
801ff5e67b
Redesign Select Server and Select User screens (#478)
Redesign Select Server and Select User screens with horizontal card
layout, similar to traditional streaming services

- Replace vertical lists with horizontal list of icons
- Center align text in Quick Connect and Username/Password modals
- Display Jellyfin profile images
- Fallback to first letter of username if no image is available
- Filter out duplicate server entries in the auto-discovery list

---------

Co-authored-by: Damontecres <damontecres@gmail.com>
2025-12-17 11:56:19 -05:00
Ray
bbfbc13532
Backdrop improvements (#476)
## Description

The backdrop image shown on most pages is now configurable in advanced
settings:
* Image w/ dynamic color - Shows the backdrop with dynamic color filling
the entire space (new default)
* Image only - Shows only the backdrop image (current Wholphin behavior)
* None - Don't show any backdrops

Additionally, the backdrop is retained between page loads for the same
items.

## Acknowledgements

Big thanks to @YogiBear12 from which the idea and implementation for the
dynamic color was adapted from!

Code adapted from
https://github.com/YogiBear12/Halfin/blob/main/COLOR_EXTRACTION_AND_BACKDROP.md#backdrop-fading-and-transitions

## Issues

Closes #221
Closes #461
Closes #442



https://github.com/user-attachments/assets/1acbc487-c697-44d7-89ed-e7e4c9169360
2025-12-17 11:18:57 -05:00
damontecres
ab8bbf2bd7
MPV: Adjust subtitle delay/offset (#470)
**This is for MPV playback backend only!** Since this only works in MPV
for now, the option is not shown if using ExoPlayer.

Adds a setting (the gear icon during playback) to adjust the subtitle
delay.

A negative delay shows subtitles sooner. A positive delay shows them
later. For example, if a subtitle is supposed to show between
1000ms-2000ms, a negative 250ms delay will show it at 750ms-1750ms
instead.

The delay is persisted between plays of the same media & subtitle track.

Ref: #12 


![subtitle_delay](https://github.com/user-attachments/assets/824e3a28-650a-4619-9535-b67addaabf1e)
2025-12-15 10:06:36 -05:00
damontecres
6edcfb1067
Customize TV guide display (#443)
Adds a view options button for the TV guide to allow some basic
customization:
* Show details header
* Adjust how channels are sorted
* Toggle color coding for programs

Related to #250 
Closes #288 
Fixes #439
2025-12-12 22:05:01 -05:00