Fabio Manganiello
03dc524f80
Fixed response type
2020-07-04 00:15:44 +02:00
Fabio Manganiello
c943acb9c2
Smarter logic for parsing YouTube URLs in Kodi
2020-07-04 00:12:16 +02:00
Fabio Manganiello
a9dbda455f
Support for default media player volume
2020-02-21 18:40:46 +01:00
Fabio Manganiello
70fe2459de
_event_callbacks is a protected attribute of mpv.MPV
2020-02-21 18:29:40 +01:00
Fabio Manganiello
a0ceb560b4
Implemented alarm/timer plugin ( closes #111 )
2020-02-17 19:37:22 +01:00
Fabio Manganiello
8248b5353f
Added status action to MediaPlugin interface
2020-02-17 18:12:40 +01:00
Fabio Manganiello
4c3140c9b5
Fixed docs
2020-01-09 23:40:59 +01:00
Fabio Manganiello
f378fa8832
MPV.Event.IDLE should also be treated as a player stop event
2019-12-07 17:16:48 +01:00
Fabio Manganiello
d38746d278
Moved imports for extra dependencies inside the methods where they are actually used
2019-12-01 23:35:05 +01:00
Fabio Manganiello
09991b2e8a
Use a filesystem FIFO for YouTube media content instead of playing the *.googlevideo.com URL directly
...
Google Video URLs now return 403 if played directly. Let youtube-dl
handle the heavylifting and use a FIFO to stream the media
2019-09-30 18:06:30 +02:00
Fabio Manganiello
e9c7104242
Keep track of the newly inserted token records in media.local.search, or we can experience UniqueConstraint violations upon session commit because of duplicate records
2019-09-02 23:05:16 +02:00
Fabio Manganiello
fa9b816d06
Return the parsed raw YouTube URL only if available, otherwise the original URL
2019-08-04 17:36:06 +02:00
Fabio Manganiello
aebeadbcf7
args can be either a list or a tuple - treat accordingly
2019-08-04 17:17:09 +02:00
Fabio Manganiello
3a5a731bd2
pause and then play omxplayer in the play handler to make sure that all the proper events are generated upon play
2019-08-04 16:50:38 +02:00
Fabio Manganiello
dcb4a36959
Replaced os.environ['HOME'] with os.path.expanduser('~') (Windows compatibility)
...
Solves #74
2019-07-29 00:03:01 +02:00
Fabio Manganiello
0ab70cdbae
Kodi Application.SetVolume() expects an integer or a string, not a float
2019-07-25 23:54:32 +02:00
Fabio Manganiello
9c4646bed5
Fixed documentation and added missing docs to the index
2019-07-16 20:28:00 +02:00
Fabio Manganiello
55cd937a51
Made OMXPlayer plugin more resiliant in the case where the player has already terminated
2019-07-13 22:12:56 +02:00
Fabio Manganiello
654c61ec51
Standardized omxplayer returned attributes and volume management
2019-07-12 20:12:59 +02:00
Fabio Manganiello
277d6ec271
Added torrent support in new webplayer
2019-07-01 19:32:22 +02:00
Fabio Manganiello
c78789e644
Added Kodi support to new media webplayer
2019-06-29 00:06:03 +02:00
Fabio Manganiello
f86eeef549
New media webplugin WIP
2019-06-27 23:52:40 +02:00
Fabio Manganiello
70bba5fc96
Support for browser webplayer and subtitles in new webplugin
2019-06-26 11:05:16 +02:00
Fabio Manganiello
e55735f409
Added YouTube support to new media webplugin
2019-06-25 22:46:25 +02:00
Fabio Manganiello
cf23e2fc72
Support for subtitles in new media webplugin - WIP
2019-06-25 00:48:00 +02:00
Fabio Manganiello
17de2a194c
Removed comment
2019-06-24 01:04:52 +02:00
Fabio Manganiello
9305f86d0c
New media webplugin WIP
2019-06-24 01:01:08 +02:00
Fabio Manganiello
ba800ef8e2
Normalized all local players so that they handle events and return statuses in the same format
2019-06-23 02:16:20 +02:00
Fabio Manganiello
482f6f0765
New media webplugin WIP
2019-06-22 00:15:32 +02:00
Fabio Manganiello
4cd2e6949f
New media webplugin WIP
2019-06-21 02:13:14 +02:00
Fabio Manganiello
ecd41a1f41
New media webplugin WIP
2019-06-18 18:14:48 +02:00
Fabio Manganiello
e5d7334662
New media webplugin WIP
2019-06-16 21:45:21 +02:00
Fabio Manganiello
749436c452
Clean up running VLC instance on stop and new media play
2019-02-21 19:24:47 +01:00
Fabio Manganiello
6222747730
typo
2019-02-21 01:49:43 +01:00
Fabio Manganiello
8b08f146a0
Typo on method name
2019-02-21 01:34:09 +01:00
Fabio Manganiello
f9765b4fed
Support for extra arguments passed to VLC
2019-02-21 01:28:51 +01:00
Fabio Manganiello
9e7f84644b
Support for default fullscreen and default volume in VLC
2019-02-21 00:09:02 +01:00
Fabio Manganiello
c4cd93a6da
Added VLC plugin
2019-02-20 17:17:30 +01:00
Fabio Manganiello
b5315032c3
Leverage youtube-dl standard media plugin instead of the mpv internal one
2019-02-19 13:40:18 +01:00
Fabio Manganiello
185aff6be3
Fixed support for subtitles in torrent files and better synchronization between mpv and torrent
2019-02-19 13:13:17 +01:00
Fabio Manganiello
377c963994
Better to react only on mpv shutdown not end_of_file
2019-02-19 11:12:57 +01:00
Fabio Manganiello
dcec3329d4
Trying to fix nasty race condition SHUTDOWN->START_FILE that triggers a spurious MediaStopEvent
2019-02-19 11:09:22 +01:00
Fabio Manganiello
10fa7c1ab1
Trying to fix nasty race condition SHUTDOWN->START_FILE that triggers a spurious MediaStopEvent
2019-02-19 11:08:57 +01:00
Fabio Manganiello
47b92480ff
Trying to fix nasty race condition SHUTDOWN->START_FILE that triggers a spurious MediaStopEvent
2019-02-19 11:06:02 +01:00
Fabio Manganiello
c0513cade9
Handle quick playback 'rebounces' in mpv
2019-02-19 10:56:05 +01:00
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