Commit graph

183 commits

Author SHA1 Message Date
Fabio Manganiello
0336427386 mpv received events logged on info instead of debug 2019-02-19 10:47:10 +01:00
Fabio Manganiello
bcb60ed218 Minimum torrent download size before streaming: 10->15 MB 2019-02-19 10:42:51 +01:00
Fabio Manganiello
bc81f9bed6 Only propagate MediaStopEvent on mpv shutdown, not end-of-file 2019-02-19 10:41:40 +01:00
Fabio Manganiello
f71e534860 Added mpv to the supported media plugins on media.webtorrent 2019-02-19 10:31:17 +01:00
Fabio Manganiello
88600dab90 typo 2019-02-19 01:09:53 +01:00
Fabio Manganiello
8f8b28912c typo 2019-02-19 01:02:07 +01:00
Fabio Manganiello
376dda616b Propagate environment variables if set to mpv player before playing 2019-02-19 00:58:26 +01:00
Fabio Manganiello
8a6be8b540 Use synchronize_session=fetch when synchronizing records on deletion 2019-02-19 00:32:54 +01:00
Fabio Manganiello
de0b92f5ef Added mpv media plugin 2019-02-19 00:15:03 +01:00
Fabio Manganiello
a549627516 Added draft for media.mpv plugin 2019-02-18 01:17:21 +01:00
Fabio Manganiello
9a565061c4 Refactoring of media.search in a more scalable way. Also faster search
with workers in parallel by media type
2019-02-18 00:26:46 +01:00
Fabio Manganiello
c7f0783615 Unique constraint on MediaFile.path 2019-02-17 17:17:20 +01:00
Fabio Manganiello
497d7770c6 Better way to group by media path 2019-02-17 17:16:25 +01:00
Fabio Manganiello
d03d69e6c0 Forgot an equal sign 2019-02-17 16:31:04 +01:00
Fabio Manganiello
2213455eff Fixed setup.py error on filter use as a keyword 2019-02-17 16:30:43 +01:00
Fabio Manganiello
4076cd3518 Sync removed directories in the media index 2019-02-17 16:04:46 +01:00
Fabio Manganiello
b204d477ac Added LocalMediaSearcher class to index local files and provide faster results to media.search when the index is available 2019-02-17 02:37:23 +01:00
Fabio Manganiello
8227427834 webtorrent timeout 20 -> 120 seconds 2019-02-13 09:46:51 +01:00
Fabio Manganiello
5cbd0fdfe7 Added support for VTT subtitles and subtitles toggling both in local and browser media players 2019-02-12 01:30:55 +01:00
Fabio Manganiello
34f0264d5e Subtitles support
- Added support for local and OpenSubtitles media subs
- Added management of media events in web panel
2019-02-11 00:55:20 +01:00
Fabio Manganiello
b3f2974c4c Support for streaming media to browser 2019-02-08 00:43:43 +01:00
Fabio Manganiello
9ec3365413 Support for media streaming over internal HTTP server
Dropped the additional node.js dependency of localstream and relied
instead on a built-in solution to stream files
2019-02-07 14:27:14 +01:00
Fabio Manganiello
affaee6ab7 Forgot to override the default port when specified in media.start_streaming 2019-02-06 17:49:20 +01:00
Fabio Manganiello
86dc7f240a typo 2019-02-06 15:15:10 +01:00
Fabio Manganiello
880a394d74 Synchronize with the streaming process to make sure that we start playing only when the streaming service is ready 2019-02-06 15:12:55 +01:00
Fabio Manganiello
10e45123c4 Fixed localstream executable 2019-02-06 13:17:03 +01:00
Fabio Manganiello
687e9e32f9 Forgot an import os line 2019-02-06 11:55:21 +01:00
Fabio Manganiello
6713ce0f03 Implemented support for casting local media through the localstream script 2019-02-06 11:51:44 +01:00
Fabio Manganiello
d15b21ddfa Added support for remote cast on the web media panel 2019-02-06 09:47:00 +01:00
Fabio Manganiello
8a75979f72 Expose output_dir and media_file on TorrentCompletedDownloadEvent 2019-02-05 17:18:55 +01:00
Fabio Manganiello
f4dd4e0eb5 typo 2019-02-05 17:09:40 +01:00
Fabio Manganiello
8c8e913242 Don't pass duplicate arguments from download to play 2019-02-05 16:34:48 +01:00
Fabio Manganiello
ba48e52fb1 Update self.chromecasts on each get_chromecasts() call 2019-01-20 15:16:16 +01:00
Fabio Manganiello
3c0ed443a2 Support for download-only option in webtorrent plugin 2019-01-20 15:10:14 +01:00
Fabio Manganiello
96ee21dc0e More consistent naming for Kodi and Chromecast media methods 2019-02-05 11:02:31 +01:00
Fabio Manganiello
e2dbdcd66a Parsing the right state attributes out of the Chromecast status 2019-02-05 10:02:27 +01:00
Fabio Manganiello
9add8890cd Support for complete Chromecasts status 2019-02-05 09:49:50 +01:00
Fabio Manganiello
dc2a686d23 Support for casting torrents to Chromecast 2019-02-05 02:30:20 +01:00
Fabio Manganiello
3798414f22 Wait for the media file to be ready before failing 2019-02-05 00:52:14 +01:00
Fabio Manganiello
52d0ba442b Refactored webtorrent plugin and synchronization with the player
The WebTorrent plugin now uses the `download -o <download_dir> -p <port>` options.
Improved interaction both with the webtorrent executable and the player
executable, and triggering the right events upon state changes, as well
as free support for torrent streaming through the webtorrent executable.
2019-02-05 00:15:36 +01:00
Fabio Manganiello
9506813dc2 Only propagate a MediaStopEvent when the awaited player actually stops 2019-02-04 09:27:12 +01:00
Fabio Manganiello
05abc86b90 Handling webtorrent instance stop from mplayer interface 2019-02-04 01:55:14 +01:00
Fabio Manganiello
286eb431f0 Refactored torrent module 2019-02-04 01:01:39 +01:00
Fabio Manganiello
a4f80d4622 Added media.webtorrent plugin 2019-02-03 17:43:30 +01:00
Fabio Manganiello
4b7730d4cf Added status method to mplayer plugin 2019-02-02 17:55:29 +01:00
Fabio Manganiello
9ebb265458 Only copy the environment to the mplayer executable if it's set, and don't copy the whole environment from platypush 2019-02-02 17:32:56 +01:00
Fabio Manganiello
c18650c964 quit method implemented as part of the media interface 2019-02-02 17:12:22 +01:00
Fabio Manganiello
ed4b7e1da9 mplayer step_property volume doesn't really work as intended 2019-02-02 16:36:47 +01:00
Fabio Manganiello
3a5d7c7cba MPlayer has a quite weird way of handling the volume 2019-02-02 16:28:55 +01:00
Fabio Manganiello
535c4bbc17 Added set_volume action to mplayer plugin 2019-02-02 16:11:31 +01:00
Fabio Manganiello
d0a288b423 Don't start the mplayer pipe with shell=True 2019-02-02 16:06:56 +01:00
Fabio Manganiello
7068530eb0 Strip the file:// part out of the resource name 2019-02-02 15:58:18 +01:00
Fabio Manganiello
36725f7136 typo 2019-02-02 15:54:44 +01:00
Fabio Manganiello
1713c0c940 Propagate enviornment variables to the player executable 2019-02-02 15:51:12 +01:00
Fabio Manganiello
63b423cf75 Refactored mplayer and omxplayer under the same media player 2019-02-02 00:06:28 +01:00
Fabio Manganiello
56b6e6a899 More optimized check against supported extensions 2019-01-20 10:01:07 +01:00
Fabio Manganiello
297d1114e7 Implemented generic media plugin and made MPlayer extend it (TODO: omxplayer and vlc) 2019-01-20 08:50:05 +01:00
Fabio Manganiello
d59044fa2d Added MPlayer plugin 2019-02-01 09:34:50 +01:00
Fabio Manganiello
bb966f123f Added back and forward methods to Chromecast plugin 2018-11-13 23:23:14 +01:00
Fabio Manganiello
025309cae8 Fixed Chromecast media_controller methods 2018-11-13 23:17:51 +01:00
Fabio Manganiello
632da318b1 Expanded Chromecast plugin 2018-11-13 23:09:19 +01:00
Fabio Manganiello
6fcc3a2397 Support for YouTube media in Chromecast plugin 2018-11-13 20:20:55 +01:00
Fabio Manganiello
26f3842724 Added support for Plex to Chromecast 2018-11-13 01:29:24 +01:00
Fabio Manganiello
42053dcf3b Expanded Plex plugin 2018-11-12 23:23:21 +01:00
Fabio Manganiello
1459630661 Added Plex and Chromecast plugins 2018-11-12 16:50:20 +01:00
Fabio Manganiello
7adfb67c12 Fixed Kodi plugin 2018-10-20 19:27:15 +02:00
Fabio Manganiello
2dac094aea player_id should be optional in media.kodi.stop 2018-10-20 18:00:53 +02:00
Fabio Manganiello
4fce1dd2e1 More features on the Kodi plugin 2018-10-20 17:17:29 +02:00
Fabio Manganiello
5b5fdd0933 Kodi player plugin improved 2018-10-20 16:59:47 +02:00
Fabio Manganiello
e16b444b0b player_id selection implemented in Kodi 2018-10-20 16:40:12 +02:00
Fabio Manganiello
4f3c7f715f Expanded Kodi actions 2018-10-18 16:24:22 +02:00
Fabio Manganiello
b6a4432528 Added Kodi plugin 2018-10-18 16:14:39 +02:00
Fabio Manganiello
eb229a6fbe Added call to parent constructor in media.ctrl 2018-07-06 02:37:47 +02:00
Fabio Manganiello
66d78c8615 [#61] Plugins actions refactoring
- Using `@action` annotation to indicate methods that are allowed to be
executed as actions

- The output and errors of an action are automatically wrapped into a
`Response` object without any response build required on the plugin side
2018-07-06 02:08:38 +02:00
Fabio Manganiello
f3bdeaf418 Fixed Spotify URIs conversion 2018-06-27 08:56:25 +02:00
Fabio Manganiello
c4401b25be Reload logic on media.ctrl in case the connection with the media plugin has been reset 2018-04-22 23:39:23 +02:00
Fabio Manganiello
a783efd0d7 Added status method to media.ctrl plugin 2018-04-20 15:18:20 +02:00
Fabio Manganiello
ded4ac3b95 - Introduced a more consistent Enum for managing playing states across different players
- media.ctrl can now spot which player is playing and control only the right one
- Extended video.omxplayer plugin methods
2018-04-20 12:17:27 +02:00
Fabio Manganiello
61e851dd8e Fixes 2018-04-19 00:32:20 +02:00
Fabio Manganiello
12295f2f77 youtube_search_and_play moved back to video.omxplayer 2018-04-19 00:30:43 +02:00
Fabio Manganiello
d2b881fee7 YouTube search and play code moved to media.ctrl plugin 2018-04-18 00:50:19 +02:00
Fabio Manganiello
eff046f1d1 Added __init__.py 2017-12-27 10:30:33 +01:00
Fabio Manganiello
92b691041e Added more general media control plugin, #10 2017-12-27 10:19:35 +01:00