Commit Graph

62 Commits

Author SHA1 Message Date
christoph-heinrich
a57c827242 fix: react to changes in the title property (#199) 2022-09-15 08:44:14 +02:00
christoph-heinrich
cf43630069 fix: mouse input with fractional scaling (#200)
Closes #192
2022-09-15 08:43:24 +02:00
christoph-heinrich
e7710128fe fix: rectangle borders not inheriting opacity (#195)
This caused problems with the opacity for speed notches.
2022-09-14 17:25:54 +02:00
tomasklaen
2f297c2834 feat: mouse wheel on menu now scrolls by 3 items at a time 2022-09-14 16:49:57 +02:00
tomasklaen
85b49002a8 feat: remove title option, use mpv's title config instead
ref #177
2022-09-14 16:45:57 +02:00
tomasklaen
fefe5f01d8 feat: added title option
ref #177
2022-09-14 16:29:10 +02:00
tomasklaen
d99194d297 feat: added peek-ui, peek-volume, and peek-top-bar commands
ref #48
2022-09-14 15:05:45 +02:00
tomasklaen
b87a9a59f4 feat: added text_border option
Controls border of any text or icon when drawn on top of video.

ref #185
2022-09-14 14:14:45 +02:00
tomasklaen
1f18b8b751 feat: improve volume slider visuals
I wanted to round the nudge as well, but thats just too much math and bezier curves.
2022-09-14 13:53:30 +02:00
christoph-heinrich
3d21df656b fix: menu ignoring parent opacity option (#196)
* fix: parent menu opacity
* fix: menu preview opacity
* fix: menu scrollbar opacity
2022-09-14 09:02:35 +02:00
christoph-heinrich
4b496b162d fix: menu hint_width calculated from title (#194) 2022-09-14 08:49:58 +02:00
Christoph Heinrich
18e6204317 fix: timeline not using real time width
Chapters and cache used the time width calculated from the time padding,
which was a rounded value, instead of the time width that is used for
the progress indicator and the time calculation for mouse input.

This led to e.g. the chapter line for a chapter at 0s being rendered one
pixel too far to the right.

Now the time_x and time_width are the same as in the other calculations
and the chapter and cache components decide for themselves how to deal
with that.

Chapter indicators are now correctly positioned, even at the extremes.

Cache now starts and ends exactly where the center pixel for the
progress line would be. This is inclusive, so e.g. for a 3 pixel wide
progress line, time would start 1.5 pixels in, but cache starts 1 pixel
in. This is to have clean edges for the cache at the start and the end.

The padding indicator for the cache is now moved one pixel outside of
the cache range instead of overlapping with the beginning and the end,
basically making the cache go from one wall to the other.
2022-09-13 22:22:39 +02:00
Christoph Heinrich
36dfebca52 fix: chapter line intersection not using rounded values
Lines used rounded coordinates for clean lines outside of the progress
indicator, but still used the non rounded ones when overlapping.
2022-09-13 22:22:39 +02:00
christoph-heinrich
1381d119c6 fix: pixel to time calculation (#172)
While things were sort of fine with `timeline_style=line`,
it was impossible to set the time to 0% or 100% when using
`timeline_style=bar`.
2022-09-13 21:59:02 +02:00
christoph-heinrich
44db2ac18f fix: has_playlist control disposition (#186)
Also replace all
`get_property_native('playlist-count')` with `state.playlist_count`
and all `state.playlist_count > 1` with `state.has_playlist`.
2022-09-13 21:49:12 +02:00
tomasklaen
e994867799 fix: TopBar not initializing all the values it needs
closes #193
2022-09-13 21:41:21 +02:00
tomasklaen
ebccd11328 feat!: consolidate all *_font_scale options into one font_scale
ref #185
2022-09-13 17:55:31 +02:00
tomasklaen
e8239e88c9 fix: menu item hint clipping not accounting for spacing
closes #191
2022-09-13 13:43:09 +02:00
tomasklaen
a110ddcc95 fix: shift+enter in menus was not bound to soft opening items 2022-09-13 13:33:52 +02:00
tomasklaen
fc8c554f85 fix: broken active item indexes in self updating menus 2022-09-13 13:24:48 +02:00
tomasklaen
bf012b2485 fix: volume position sometimes not adjusting to controls 2022-09-13 12:35:11 +02:00
tomasklaen
b98e58654d fix: controls bar invisible when timeline disabled while hovered
ref #188
2022-09-13 12:11:35 +02:00
tomasklaen
7f05a75db4 fix: top bar buttons not inheriting top bar visibility 2022-09-13 11:56:47 +02:00
tomasklaen
386953b78e tweak: switch to round icons 2022-09-13 11:48:49 +02:00
christoph-heinrich
079b0a4f50 fix: is_protocol() not returning a boolean (#180)
Returning a string instead of a boolean is fine in most cases,
but if the result gets compared against a boolean this breaks things.
2022-09-13 11:12:20 +02:00
tomasklaen
56a60629e1 fix: control bar buttons loosing focus on item load
closes #190
2022-09-13 10:25:50 +02:00
tomasklaen
193f0706af refactor!: active and selected_index menu API
Allows multiple items in a menu to be `active`. `select` flag is no longer on the item, but moved to the menu properties as `selected_index`.
2022-09-13 10:22:36 +02:00
tomasklaen
aeac6523d6 feat: add update-menu API
closes #171
2022-09-13 00:11:30 +02:00
tomasklaen
9b64c529ac refactor!: element system, menu implementation, ...
With this, the codebase is mostly typed (as much as sumneko's type checking allows), and finally go-to-definition-able.

This refactor changed or touched more than 90% of the codebase, so here's just the most notable changes I can recall:

Menu implementation is now way more robust, and supports:
- live menu updates
- opening submenus allows navigating to parent menus
- items icons and bold & italic styling
- keeping menu open after selecting the item
- peeking submenus
- and a lot of other small tweaks

The menu input data structure changed. It no longer accepts `active_index` and `selected_index`, instead, each item can now have `active` or `selected` property.

And I'm sure there's a lot I'm forgetting to mention, but it's midnight here T.T

closes #144, ref #171, closes #176
2022-09-12 23:53:37 +02:00
tomasklaen
87e7e9ec09 refactor: make ass:tooltip accept elements 2022-09-07 22:58:22 +02:00
tomasklaen
03abd30f8c feat: add tooltips 2022-09-07 14:09:00 +02:00
tomasklaen
29834b4d88 fix: improve top bar visibility
closes #168
2022-09-07 12:52:02 +02:00
christoph-heinrich
c128b0d151 fix: chapter indicator visibility when over progress line (#175)
Differentiate between parts of chapter indicator that are covered by the
progress line/bar and parts that are not.
2022-09-07 12:20:34 +02:00
christoph-heinrich
15aa20b93a fix: chapter ranges not using their opacity config (#173) 2022-09-07 12:00:17 +02:00
tomasklaen
0403de1a35 fix: subs track menu not selecting disabled item 2022-09-07 11:55:08 +02:00
tomasklaen
a501ded419 feat: improve track selection menus
Adds `load-audio`, `load-video` menus, adds load file item to all track selection menus, makes disabled subtitle item a bit more prominent and styled appropriately.

Notable addition: new `muted` property for menu items which makes the title half the opacity.

closes #169, closes #170
2022-09-07 11:45:12 +02:00
tomasklaen
0109e5ce8e feat: improve menu styling
Fixes couple things, makes menu prettier with borders, and adds `bold` and `italic` props to each menu item.
2022-09-07 10:25:05 +02:00
tomasklaen
b6d45e5bd7 fix: remove obsolete options, add persistency to controls, update conf file 2022-09-07 08:46:42 +02:00
tomasklaen
fa1b2112ec feat: implement controls bar
Also includes a lot of refactoring around codebase to make it work as needed.

Notable addition: new `items` command that displays playlist if any, or open-file otherwise.

ref #167, closes #71
2022-09-06 20:02:35 +02:00
christoph-heinrich
468fadff0f feat: support osc-margins shared-script-property (#166)
The documentation cautions against using shared script properties, but
console.lua relies on the margin to not overlap with the bottom bar from
the default osc. Without support for that in uosc, using the console
was always annoying.

Now it also doesn't overlap with the uosc timeline.
The script property gets updated on render whenever at least one of of
the margins changed.
2022-09-03 08:55:07 +02:00
christoph-heinrich
454cab8d26 refactor: move chapter range handling into loop and break early (#162) 2022-09-01 15:18:17 +02:00
tomasklaen
2008b776fa fix: top bar title not inheriting opacity 2022-09-01 13:09:44 +02:00
christoph-heinrich
a4b32e4edc feat: don't show tooltips for chapters that only end a range (#153)
Chapters that end a chapter range and are matched by something other
then `.*` are now not shown when hovering over that chapter,
unless that chapter is also used to start another range.
2022-09-01 13:00:35 +02:00
christoph-heinrich
7224760820 fix: cap volume to >= 0 (#161)
With a step size of 1 it was possible to set volume to -1.
mpv permits setting volume to -1 for legacy reasons, so cap it in the ui.

There was a `set_from_cursor` method for setting volume in the speed element.
Probably got copied there at some point by accident.
2022-09-01 10:49:03 +02:00
tomasklaen
92a8ec2281 fix: top bar title missing border
closes #158, closes #160
2022-09-01 10:45:30 +02:00
christoph-heinrich
b84d272b3c fix: remove unneeded closing curly brace from title (#159) 2022-09-01 10:41:58 +02:00
tomasklaen
60ded9c0f2 style: tweak declarations, suppress warnings, reformat 2022-09-01 10:38:40 +02:00
tomasklaen
e276ae14cb feat: always display volume controls, and visualize no audio
This is a media player after all, it makes sense to be able to control it's volume even when playing files with no audio. We might implement image viewing mode in the future, but for now, this stays enabled.

closes #154
2022-09-01 10:28:28 +02:00
christoph-heinrich
1585bc30aa fix: nil error in show-menu api (#156)
The local `menu` shadowed the global `menu`, thus accesing it's methods
didn't work.
2022-08-31 17:24:56 +02:00
christoph-heinrich
ad2123744b fix: compatiblity with unpack and table.unpack (#155)
In Lua 5.2 the unpack global has been moved to table.unpack
To keep compatiblity with 5.1 and newer, choose depending on what's
available.
2022-08-31 17:20:33 +02:00