Fabio Manganiello
ca72e22820
[UI] Proxy /media/*
requests to upstream when Vue is in debug mode.
2023-11-12 15:55:03 +01:00
Fabio Manganiello
d4b519a572
[media UI] Wrapped the file browser into a MediaBrowser
component.
...
This will make it easier to support multiple media collection providers
other than local files.
2023-11-12 15:54:27 +01:00
Fabio Manganiello
6dfe2324c1
[UI] Added navigation crumbs to the file browser.
2023-11-12 15:53:46 +01:00
Fabio Manganiello
724f625963
[media.chromecast
] Skip errors on cast.wait
.
...
It may be that the cast thread has been recycled and it's already been
awaited. It's safe to skip the error in these cases.
2023-11-12 15:52:31 +01:00
Fabio Manganiello
e416a70658
[UI] (Re)-added required logo-256x256.png
image.
2023-11-12 15:52:07 +01:00
Fabio Manganiello
cad36b7911
[UI] Watch the connected
flag for changes to update the Nav indicator.
2023-11-12 14:00:18 +01:00
Fabio Manganiello
60b5f235a7
[Automatic] Updated UI files
2023-11-12 02:08:23 +00:00
Fabio Manganiello
1f321c32dc
[media.chromecast
] Full plugin rewrite.
2023-11-12 03:08:54 +01:00
Fabio Manganiello
20aeb0b72e
[system
] Some versions of cpuinfo
may return cache sizes in human-readable format.
2023-11-10 21:55:41 +01:00
Fabio Manganiello
9a090d1b46
[system
] Cache sizes can also be float, not necessarily int.
2023-11-10 21:30:56 +01:00
Fabio Manganiello
3d62069775
[Automatic] Updated UI files
2023-11-10 01:48:45 +00:00
Fabio Manganiello
1d833d25ab
Updated integrations docs.
2023-11-10 02:49:29 +01:00
Fabio Manganiello
ceae310901
[snapcast
] Merged backend logic into the plugin.
...
Closes : #283
2023-11-10 02:48:07 +01:00
Fabio Manganiello
6c3edb73f9
[music.snapcast
] Fixed message serialization issue.
...
Closes : #338
2023-11-09 22:46:54 +01:00
Fabio Manganiello
1ec42e11fc
[Automatic] Updated UI files
2023-11-09 01:46:44 +00:00
Fabio Manganiello
52ee614ec4
[media
] Added logic to parse local media metadata.
2023-11-09 02:47:34 +01:00
Fabio Manganiello
a83f4729a6
[UI] Extracted grid
into layout.scss
.
2023-11-09 02:47:34 +01:00
Fabio Manganiello
4814c56a2d
[media
UI] Added resolution to media info.
2023-11-09 02:47:34 +01:00
Fabio Manganiello
90a9684404
[media
UI] Added extra rating fields to the media info component.
2023-11-09 02:47:33 +01:00
Fabio Manganiello
cd635ea69e
[torrent
] Fixed duration and image for TV series results.
2023-11-09 02:47:33 +01:00
Fabio Manganiello
e66ca105d7
[jellyfin
] Added duration
field to video results.
2023-11-09 02:47:33 +01:00
Fabio Manganiello
d1b721dba5
[torrent
] Added image
to search results.
2023-11-09 02:47:33 +01:00
Fabio Manganiello
eb7a96ee94
[youtube
] Added more metadata fields to search results.
2023-11-09 02:47:32 +01:00
Fabio Manganiello
d7093d18c5
[media
UI] Major redesign of the search results.
2023-11-09 02:47:32 +01:00
Fabio Manganiello
f7a25a478d
[UI] Dropdown component rewrite.
...
Dropdown components should always be rendered under the root element, or
nasty effects caused by absolute parenting may end up hiding dropdown
elements regardless of their `z-index`.
The new approach uses a single `<DropdownContainer>` element in the
main `App` file. Each `<Dropdown>` component will push updates to the
bus whenever it triggers open/close events, and the dropdown component
to be rendered will be pushed upstream and rendered in the root element.
2023-11-09 02:47:32 +01:00
Fabio Manganiello
fafc1747d6
[Automatic] Updated UI files
2023-11-06 23:45:02 +00:00
Fabio Manganiello
3d2dc22ed3
[media
UI] Improved media UI.
2023-11-07 00:45:45 +01:00
Fabio Manganiello
e7bd61e0d4
Black/LINT for Jellyfin plugin.
2023-11-07 00:45:45 +01:00
Fabio Manganiello
a94ddd3f05
[torrent
] duration * 60 for results returned by PopcornTime API.
2023-11-07 00:45:44 +01:00
Fabio Manganiello
1d41df51e7
[media
] Extended current track with ytdl metadata if available.
2023-11-07 00:45:44 +01:00
Fabio Manganiello
a939cb648c
[media
UI] Extracted PlayPauseButton
into its own component.
2023-11-07 00:45:44 +01:00
Fabio Manganiello
7889846cd6
[Automatic] Updated UI files
2023-11-06 01:29:16 +00:00
Fabio Manganiello
2caa171c6d
[media
UI] Fixed alignment of the controls right handle.
2023-11-06 02:25:54 +01:00
Fabio Manganiello
27da2becd7
[media
] Added media.get_info
action.
...
It combines the `-j` and `-g` options of ytdl* to get both the stream
URL and the track metadata.
2023-11-06 02:25:35 +01:00
Fabio Manganiello
e0a9ccca24
[media UI
] Component refactor.
...
- Fixed style of the floating control extensions panel.
- Extracted `ProgressBar` and `ExtraControls` into separate components.
2023-11-06 01:54:12 +01:00
Fabio Manganiello
8e8bd7fb9f
[media UI
] Fixing/refactoring media UI.
...
- Fixed broken elements in the media control view.
- Fixed volume bar.
2023-11-05 23:45:37 +01:00
Fabio Manganiello
6411688e65
[youtube
] Don't fail if some items in the response have missing attrs.
2023-11-05 22:12:21 +01:00
Fabio Manganiello
daa93f5994
[media
UI] Fixed style of the Play URL modal.
2023-11-05 12:19:36 +01:00
Fabio Manganiello
71bca662a1
media.play
should support anything supported by a yt_dlp extractor.
2023-11-05 02:40:38 +01:00
Fabio Manganiello
e45fb9c8ac
Major rewrite of the media
routes.
...
- Streaming and media subtitles endpoints moved from Flask to Tornado
routes - the old Flask streaming route no longer worked behind a
Tornado server.
- Storing the streaming state on Redis rather than in a local variable,
or different Tornado processes may end up with different copies of the
registry.
Closes : #336
2023-11-05 01:33:36 +01:00
Fabio Manganiello
0e2738d849
Added _on_error
handler to StreamingRoute
.
2023-11-05 01:03:40 +01:00
Fabio Manganiello
7c780e6650
Refactored utils.bus.send_request
.
...
It should return the response output and raise an error if the response
has errors.
2023-11-04 16:22:27 +01:00
Fabio Manganiello
f7fe844296
Black/LINT pass for media handler routes.
2023-11-04 16:13:52 +01:00
Fabio Manganiello
11c3b7820d
[torrent
] Create download_dir
if it doesn't exist.
2023-11-04 15:48:05 +01:00
Fabio Manganiello
07e7f06c7a
[Automatic] Updated UI files
2023-11-04 11:12:51 +00:00
Fabio Manganiello
2b12984c81
[youtube
] Full plugin rewrite.
...
Instead of relying on the official Google YouTube API (limited, subject
to breaking changes with short/no notice depending on Google's strategy
against scrapers, and with an initial setup that has a high cost), we'll
just stick to Piped from now on.
It's free, it doesn't require API keys, it's unlikely to change, it's
not subject to Google's hostile practices against developers, and
anybody can run an instance.
2023-11-04 12:11:44 +01:00
Fabio Manganiello
44d4ae2a96
[media
] Made the youtube-dl
executable configurable.
...
`youtube-dl` is mostly dead and there are several forks available, thus
we need to give the user the ability to pick which `youtube-dl`
executable fork they want to use.
Among these, `yt-dlp` is probably the most maintained today and it's
also included in many default repos, so it's been added as an extra
requirement for all the media plugins.
Closes : #268
2023-11-04 11:57:09 +01:00
Fabio Manganiello
5478b90288
[Media UI] Start/stop streaming use the configured media plugin.
...
The base `media` plugin is abstract, hence the `Media` panel needs to
pass the current media plugin to the `Utils` mixins so it can pick the
right action.
2023-11-04 11:54:44 +01:00
Fabio Manganiello
b4bf30945a
[media
] Black/LINT for MediaPlugin
.
2023-11-04 00:50:08 +01:00
Fabio Manganiello
efdb63443d
Renamed the youtube
plugin.
...
From `google.youtube` to `youtube`.
2023-11-04 00:07:29 +01:00