Ray
8b40e89b8a
Update MPV playback threading model ( #481 )
...
There's no user facing changes in this PR
This PR updates `MpvPlayer` to use a threading model more similar to
[ExoPlayer's
model](https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer#threading-model ).
There's now a dedicated thread looper message queue between the UI
interactions on the main thread and calls to `libmpv`. This is necessary
because previously, the main thread would make the calls into `libmpv`.
`libmpv` uses internal mutex locking for some operations which meant
that the main thread would be blocked momentarily.
Now, the UI issues a command (eg seek to X position) and the command is
added to the thread looper queue and processed on that separate thread.
This uses the standard Android Handler/Looper mechanisms.
Related to #235
2025-12-17 18:24:25 -05:00
Ray
7320c12f0c
Merge pull request #497 from damontecres/translations-2025-12-17
...
Fix merge
2025-12-17 17:19:36 -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
Ray
8479d8621d
Bump dependency versions, notably media3 ( #496 )
...
## Description
Bumps dependency versions, notably media3/ExoPlayer to `1.9.0`
### Related issues
Fixes #108
Fixes #355
Fixes #479
2025-12-17 17:00:15 -05:00
Priit Jõerüüt
badb56880b
Translated using Weblate (Estonian)
...
Currently translated at 100.0% (314 of 314 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2025-12-17 18:25:40 +00:00
oyvhov
e19cf0de2c
Translated using Weblate (Norwegian Nynorsk)
...
Currently translated at 8.0% (25 of 311 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nn/
2025-12-17 18:25:40 +00:00
oyvhov
0ed15a3251
Added translation using Weblate (Norwegian Nynorsk)
2025-12-17 18:25:40 +00:00
efko
c94dcbf3dd
Translated using Weblate (Greek)
...
Currently translated at 57.8% (180 of 311 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/el/
2025-12-17 18:25:40 +00:00
Outbreak2096
461caaa8fd
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (311 of 311 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2025-12-17 18:25:40 +00:00
DragoWing
5ca5826cb3
Translated using Weblate (Dutch)
...
Currently translated at 99.3% (309 of 311 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nl/
2025-12-17 18:25:40 +00:00
Priit Jõerüüt
e816151651
Translated using Weblate (Estonian)
...
Currently translated at 100.0% (311 of 311 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2025-12-17 18:25:40 +00:00
arcker95
da12095434
Translated using Weblate (Italian)
...
Currently translated at 100.0% (311 of 311 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2025-12-17 18:25:40 +00:00
American_Jesus
5f3a7ebff1
Translated using Weblate (Portuguese)
...
Currently translated at 100.0% (311 of 311 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2025-12-17 18:25:40 +00:00
efko
a67bd0f83f
Translated using Weblate (Greek)
...
Currently translated at 44.6% (139 of 311 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/el/
2025-12-17 18:25:40 +00:00
SimonHung
cb62344e53
Translated using Weblate (Chinese (Traditional Han script))
...
Currently translated at 87.1% (271 of 311 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-17 18:25:40 +00:00
ymir
f2e3ae2447
Translated using Weblate (French)
...
Currently translated at 100.0% (310 of 310 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2025-12-17 18:25:40 +00:00
Codeberg Translate
131b44c439
Update translation files
...
Updated by "Remove blank strings" add-on in Weblate.
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/
2025-12-17 18:25:40 +00:00
Rand0mB0y
7da9189b4d
Translated using Weblate (Greek)
...
Currently translated at 20.3% (63 of 310 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/el/
2025-12-17 18:25:40 +00:00
Rand0mB0y
1497a0718b
Added translation using Weblate (Greek)
2025-12-17 18:25:40 +00:00
opakholis
6a7a2a5c79
Translated using Weblate (Indonesian)
...
Currently translated at 98.0% (304 of 310 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
2025-12-17 18:25:40 +00:00
RabSsS
d0000e4811
Translated using Weblate (French)
...
Currently translated at 98.7% (306 of 310 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2025-12-17 18:25:40 +00:00
Outbreak2096
cae07b0acd
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (310 of 310 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2025-12-17 18:25:40 +00:00
Vistaus
79b84cfe6b
Translated using Weblate (Dutch)
...
Currently translated at 100.0% (310 of 310 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nl/
2025-12-17 18:25:40 +00:00
arcker95
a68e9d8eb9
Translated using Weblate (Italian)
...
Currently translated at 100.0% (310 of 310 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2025-12-17 18:25:40 +00:00
RabSsS
c0a68c5daa
Translated using Weblate (French)
...
Currently translated at 98.0% (304 of 310 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2025-12-17 18:25:40 +00:00
opakholis
dcd9560113
Translated using Weblate (Indonesian)
...
Currently translated at 84.1% (261 of 310 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
2025-12-17 18:25:40 +00:00
Priit Jõerüüt
5dbc2049cb
Translated using Weblate (Estonian)
...
Currently translated at 100.0% (310 of 310 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2025-12-17 18:25:40 +00:00
American_Jesus
1c38979c48
Translated using Weblate (Portuguese)
...
Currently translated at 100.0% (310 of 310 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2025-12-17 18:25:40 +00:00
Outbreak2096
1caa7b32c4
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 91.5% (280 of 306 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2025-12-17 18:25:40 +00:00
American_Jesus
9fde9c70ed
Translated using Weblate (Portuguese)
...
Currently translated at 99.6% (305 of 306 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2025-12-17 18:25:40 +00:00
Geekice
b8891eee35
Translated using Weblate (Italian)
...
Currently translated at 97.0% (297 of 306 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2025-12-17 18:25:40 +00:00
Priit Jõerüüt
4b3efc097e
Translated using Weblate (Estonian)
...
Currently translated at 100.0% (306 of 306 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2025-12-17 18:25:40 +00:00
American_Jesus
eef886b285
Translated using Weblate (Portuguese)
...
Currently translated at 99.3% (304 of 306 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2025-12-17 18:25:40 +00:00
Outbreak2096
1c890f64aa
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (272 of 272 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2025-12-17 18:25:40 +00:00
Vistaus
8b20c392f3
Translated using Weblate (Dutch)
...
Currently translated at 100.0% (272 of 272 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nl/
2025-12-17 18:25:40 +00:00
ymir
56416da486
Translated using Weblate (French)
...
Currently translated at 100.0% (272 of 272 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2025-12-17 18:25:40 +00:00
American_Jesus
ca7c8b2e5f
Translated using Weblate (Portuguese)
...
Currently translated at 90.0% (245 of 272 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2025-12-17 18:25:40 +00:00
Outbreak2096
8bdd030f42
Added translation using Weblate (Chinese (Simplified Han script))
2025-12-17 18:25:40 +00:00
Codeberg Translate
6e77afe672
Update translation files
...
Updated by "Remove blank strings" add-on in Weblate.
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/
2025-12-17 18:25:39 +00:00
ianvm
4fac067fb0
Translated using Weblate (Dutch)
...
Currently translated at 100.0% (272 of 272 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nl/
2025-12-17 18:25:39 +00:00
ymir
18a2f648ca
Translated using Weblate (French)
...
Currently translated at 100.0% (272 of 272 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2025-12-17 18:25:39 +00:00
Priit Jõerüüt
6776640087
Translated using Weblate (Estonian)
...
Currently translated at 99.6% (271 of 272 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2025-12-17 18:25:39 +00:00
Ray
7581b05b97
Move time tracking into a CompositionLocal ( #493 )
...
## Description
Creates a `CompositionLocal` which tracks the current time in a single
place and is usable anywhere in the app.
Can be used such as:
```kotlin
val now = LocalClock.current.now
val details = remember(item, now) {
// Create detail strings based the item and current time
// This will be recomposed/updated whenever the time changes
}
```
### Related issues
Related to #475
2025-12-17 13:25:36 -05:00
YogiBear12
2908f539e2
Redesign alphabet picker to fit all letters on screen ( #480 )
...
- Switch to tv.material3.Button with ButtonDefaults for better styling
- Add opacity changes based on focus (0.85f focused, 0.2f unfocused)
- Keep selected letter fully visible when picker is unfocused
- Reduce button size from 24.dp to 14.dp to fit all letters
- Reduce spacing between letters (1.1.dp vertical, 2.dp horizontal)
- Use transparent backgrounds for unfocused letters
- Use border color for selected letter when focused, tertiary when
unfocused
- Add Box with CircleShape clip to prevent focus indicator overflow
- Reduce font size by 15%
- Add 16.dp end padding to push picker away from screen edge
When using the 'Show details' view option, the alphabet picker will
still overflow the bottom edge of the screen. I find this an acceptable
option though, as the backdrop pushes the card grid further down the
page.
Closes https://github.com/damontecres/Wholphin/issues/386
>[!NOTE]
> AI was used in the making of this PR
---------
Co-authored-by: Damontecres <damontecres@gmail.com>
2025-12-17 12:16:46 -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
Ray
8224f83678
Add pull request template
2025-12-16 20:01:56 -05:00
Damontecres
5b21e352bc
Update development.md with info on setting up the dev environment
2025-12-16 19:35:14 -05:00
Damontecres
f77d345abf
Allow null ItemTrackModification from DB
2025-12-16 13:52:44 -05:00
damontecres
d5a55ce4ad
Fix trickplay image scaling ( #477 )
...
Fix to #467 to scale the tiles by the actual calculated ratio based on
the server's fixed width and our target width instead of using the
general density scaling
I verified this on 1080p & 4k with 4:3, 16:9, & 2.35:1 videos.
Fixes
https://github.com/damontecres/Wholphin/issues/432#issuecomment-3657381461
2025-12-15 16:53:06 -05:00