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.
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>`.
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
* fix: show fully uncached range for network streams
* fix: correctly filter and fuse uncached ranges
Overlapping cached ranges were not handled correctly and sometimes it
could end up with very short uncached ranges.
Now overlaps and small gaps are fused together, and very short ranges
are filtered out.
Also removes the counter from built-in playlist related control buttons, as big playlists create badges that are too big and overlap/overflow the button too much. And having the counter there will make people ask for position (understandable), which would further worsen this problem. Better to have it in the top bar.
ref #212
Previously, all of the `peek-{element}` commands such as `peek-ui` would force the elements' visibility only until pressed again, OR MOUSE MOVED. This was sometimes annoying (small mouse movements would reset it), and limiting, for no really good reason.
With this, the commands are renamed to `toggle-{x}`, and toggle each element's permanent `min_visibility` between `0` and `1`.
ref #48
The end time of the last cached range on fully buffered video is sometimes lower than reported duration, which was causing a redundant uncached range indicator at the end of the timeline.
ref #214
All of the old styles had visibility issues, and rendering code was a bit too overcomplicated. This fixes all if it by rendering chapters as diamond indicators on top of the timeline.
`timeline_chapters` option is now a boolean, and `timeline_chapters_opacity` & `timeline_chapters_width` have been removed.
This means chapter rendering is no longer configurable, as they resize based on timeline size, and inherit its opacity and border size, so I don't see what anyone would want to configure here, but I'm sure I'll get some requests as always :'(.
ref #206
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.