Commit Graph

674 Commits

Author SHA1 Message Date
christoph-heinrich
ed784c38cd fix: possible nil error in uncached ranges generation (#256) 2022-09-24 00:53:51 +02:00
christoph-heinrich
cc75e8d15f fix: integer resolution when scaling (#251) 2022-09-23 23:04:28 +02:00
christoph-heinrich
ca1780f111 fix: showing uncached ranges when not caching (#252)
This still shows uncached ranges as early as we can, but is more
reliable.

ref #244
2022-09-23 22:59:01 +02:00
christoph-heinrich
940e6eaf86 fix: ensure cache ranges extend to 0 and duration (#253) 2022-09-23 22:50:06 +02:00
tomasklaen
df37ca748e refactor: use commandv instead of command 2022-09-23 18:22:25 +02:00
tomasklaen
702bea8e51 fix: initialization of required props causing osd messages 2022-09-23 17:49:04 +02:00
tomasklaen
6f9865e281 fix: remove code committed by accident 2022-09-23 17:25:58 +02:00
tomasklaen
958359209a fix: more file-end handling bugs
ref #251
2022-09-23 17:16:59 +02:00
tomasklaen
6ef4a2a53a tweak: colors 2022-09-23 16:58:24 +02:00
tomasklaen
810616a131 feat: implement chapter_range_patterns option
Effectively facilitates localization of simple chapter ranges.

ref #247
2022-09-23 16:15:11 +02:00
tomasklaen
850563dbef feat: implemented buffered_time_threshold option 2022-09-23 14:45:31 +02:00
tomasklaen
882186f984 fix: visual tweaks
- Volume hides when timeline is hovered to not render over thumbnail.
- Progress line starts growing only at the end of minimization.
- Buffered time is bottom capped to 0.
2022-09-23 14:38:28 +02:00
dyphire
9bc72328f0 fix: improve formats in media types (#249) 2022-09-23 14:15:17 +02:00
tomasklaen
1cf1d5e1f5 fix: overlapping sponsor block segment issues
Fixed:
- tooltip for adjacent sponsor block segment was not showing because last previous chapter belonged to end of the previous segment
- overlapping chapter range backgrounds in timeline
2022-09-23 14:13:39 +02:00
christoph-heinrich
3b2a2f300f feat: set uncached ranges as early as possible (#244) 2022-09-23 13:02:42 +02:00
tomasklaen
01cf36081d fix: chapter ranges broken by old configs
Implements chapter range validation, and detects & swaps the old default config for the new one.

closes #247
2022-09-23 12:50:59 +02:00
tomasklaen
eca7836889 feat: split intros & outros into their own chapter range types
ref #163
2022-09-23 12:34:33 +02:00
tomasklaen
de41a10c07 feat: implemented menu-blurred command
Opens a menu without preselecting any item. Suitable when opening menu with a mouse input.

closes #248
2022-09-23 12:28:05 +02:00
tomasklaen
612e2a5cc4 refactor: renamed next_file_on_end to autoload 2022-09-23 11:59:00 +02:00
tomasklaen
3226a0d33e fix: improve file-end event detection
closes #235
2022-09-23 11:51:49 +02:00
tomasklaen
0ede5ef54a fix: curtain flashing when replacing menu
closes #246
2022-09-23 09:49:51 +02:00
tomasklaen
e05c6b6749 feat: removed directory_navigation_loops option in favor of loop-playlist
This is behavior is now controlled by mpv's `loop-playlist` property.
2022-09-23 09:32:06 +02:00
christoph-heinrich
ff041fe895 refactor: simplify rounding function (#245) 2022-09-23 09:16:58 +02:00
christoph-heinrich
36cd31e23b fix: border in thumbnail decoration calculation was already scaled (#242) 2022-09-22 22:16:38 +02:00
christoph-heinrich
bbe32ba65a fix: time can be nil when creating chapter menu (#243) 2022-09-22 22:16:15 +02:00
tomasklaen
1df7a47005 fix: overeager match patterns for chapter ranges 2022-09-22 22:10:21 +02:00
tomasklaen
ac5fd9cc03 fix: uncached ranges resetting initial range prematurely
ref #240
2022-09-22 18:25:18 +02:00
Zhong Lufan
d20f47c8ea fix: show cache indication whenever cache is available (#240) 2022-09-22 15:34:50 +02:00
tomasklaen
5082ad0a83 fix: buggy active chapter detection in chapters menu
closes #226
2022-09-22 15:05:44 +02:00
tomasklaen
d2dd7e4415 feat: implemented shuffle and next_file_on_end options
The `shuffle` option built into mpv doesn't shuffle playlist playback, but instead just randomizes the order of every new opened playlist. So when you enable this after opening a playlist, it does nothing. If you enable it before opening a playlist, it'll randomize its list order, so you can't browse alphabetically. None wants this, none expects this. And since its is expected from a ui such as uosc to provide a shuffle button that works like in any other media player on the planet, I had to simulate it.

It decides on the next file 300ms before the end, so it can potentially cut out punchlines from short videos such as those from r/perfectlycutscreams. But this is necessary because a lot of files actually end like ~100ms or more before their duration, but on corrupted files or files where stream ended prematurely, this can happen way before that. If file is force ended by mpv before our timer kicks in, our simulated `file-end` event won't fire, and uosc is unable to take over to decide to play the next one.

I couldn't figure out a better way to implement this. There's no 'fil-reached-end' even in mpv. There are only 'im-unloading-the-file' events (`file-end`, `on_unload`, ... etc), which is useless here because it triggers even when user opens a different file during playback.

Implementing `shuffle` allowed for trivial `next_file_on_end`, so that got added as well. It load next file in directory when current file ends.

Directory navigation now also adheres to `shuffle` uosc option, and `playlist-loop`, `playlist-repeat`, & `loop-file` mpv options.

Additionally, the `<has_playlist>` disposition was removed from the `shuffle` and `loop-playlist` control bar buttons as they now affect directory navigation as well.

closes #235
2022-09-22 14:57:54 +02:00
tomasklaen
2adfc36c24 feat: add top_bar_title_opacity option
ref #237
2022-09-21 23:18:01 +02:00
christoph-heinrich
4e49a22009 fix: thumbnail decoration with scaling (#238) 2022-09-21 23:06:37 +02:00
tomasklaen
a4638fcdef feat!: improve chapter ranges serialization
Users can no longer create their own or edit existing chapter range serializers, but that was always very limited and prone to errors. Instead, all common use cases for chapter ranges: intros/openings, outros/endings, and sponsor blocks serializers are now internal.

Users can still disable and configure colors for each individual serializer by specifying a `{type}:{color}` pairs delimited by a comma on a `chapter_ranges` property. The color is now an RGB(A) HEX code.
2022-09-21 22:58:00 +02:00
tomasklaen
a03fe26f38 refactor: update default controls bar and its dispositions 2022-09-21 14:55:05 +02:00
christoph-heinrich
f3d492912a fix: anchor texture instead of align and shift (#221)
* fix: anchor texture instead of align and shift

* fix: texture offset for timeline and volume

The black lines are now nicely centered between the white ones.
2022-09-21 14:50:49 +02:00
tomasklaen
6d54e0fdfe fix: speed_opacity option being ignored
closes #231
2022-09-21 14:10:59 +02:00
tomasklaen
a4257d7c31 feat!: accept colors in RGB(A) HEX format
Affects options `foreground`, `foreground_text`, `background`, `background_text`.

Other configurable colors will follow suit in next commits.
2022-09-21 14:02:43 +02:00
tomasklaen
d24cb25e56 fix: timeline chapter tooltip sometimes disappearing 2022-09-21 13:47:11 +02:00
tomasklaen
5d396512ee refactor: thumbnail handling and styling
ref #213
2022-09-21 13:12:52 +02:00
Eva
b3b5b15406 feat: thumbfast intergration (#213)
* feat: thumbfast intergration

* fix: respect ui scale, hidpi scale, support wrapped chapter titles
2022-09-21 09:19:37 +02:00
christoph-heinrich
cabe84daf9 fix: correctly align texture glyphs (#222) 2022-09-21 08:46:03 +02:00
christoph-heinrich
43644c1f59 fix: decay opacity of parent menus text (#232) 2022-09-20 22:33:51 +02:00
tomasklaen
e06c34686d fix: current chapter selector crashing on videos without chapters
closes #230
2022-09-20 15:59:52 +02:00
dyphire
6ac00f9115 fix: add .vob and .lrc in *_types (#224) 2022-09-20 12:24:14 +02:00
tomasklaen
81d9426930 feat: show current chapter as a top bar subtitle
ref #228
2022-09-20 11:55:13 +02:00
tomasklaen
ee629f6f6a tweak: shifted chapter diamonds 1px up
They looked too sunk into the foreground, and now they look like they are just sitting on top of it. Looks better, and improves visibility when minimized.
2022-09-20 09:29:51 +02:00
hooke007
4dc4a8ee3d fix: add more formats in *_types (#220) 2022-09-19 23:43:45 +02:00
tomasklaen
ed8cb8741e feat: added has_many_* disposition types
Adds `has_many_audio`, `has_many_sub`, and `has_many_video` disposition types that can
be used when constructing the controls bar.

The audio track selector button now has a `<has_many_audio>` disposition instead of the old `<has_audio,!audio>`.
2022-09-19 23:42:32 +02:00
tomasklaen
0ef4ddf92d perf: optimized control bar reflow on disposition changes 2022-09-19 23:25:50 +02:00
tomasklaen
5d92c73481 feat: added control bar button badge limits
It is now possible to specify a threshold when to hide the badge by doing `#audio>1` to display the audio counter badge only when there's more than 1 audio track.

ref #212
2022-09-19 22:08:13 +02:00