Fabio Manganiello
1103e417e1
Managing optional arguments properly on _exec
2019-02-13 23:50:40 +01:00
Fabio Manganiello
32cdab5530
Always handle at least one retry on mpd plugin _exec method, the TCP connection to a mopidy server can really be shaky
2019-02-13 17:35:18 +01:00
Fabio Manganiello
077bb0686b
Don't break if no data is received from the Snapcast server
2019-02-07 09:05:27 +01:00
Fabio Manganiello
05a1713b92
Make sure that extra arguments on the Spotify URI are discarded during the URI parse
2019-01-30 09:08:29 +01:00
Fabio Manganiello
ee0040fba6
More robust Spotify URI parsing that discards optional arguments (e.g. si=) passed to the URL
2019-01-30 09:04:18 +01:00
Fabio Manganiello
0e6f8bbb0b
typo
2019-01-14 19:54:59 +01:00
Fabio Manganiello
ca24243449
As python-mpd2 doesn't seem to be quite thread-safe, the mpd plugin entry-point has now got a reentrant lock
2019-01-14 19:52:54 +01:00
Fabio Manganiello
33fd226fa1
Don't throw the exception if a certain Snapcast host is not reachable
2019-01-11 11:50:37 +01:00
Fabio Manganiello
29be2945cc
Log trace before attempting a Snapcast connection
2019-01-11 11:46:13 +01:00
Fabio Manganiello
a190184b0c
Using an auxiliary map to keep track of the playing hosts to prevent errors when the items are removed by the worker threads while iterating them
2019-01-10 18:14:41 +01:00
Fabio Manganiello
2c8099e7ae
Apply stream name filtering logic also to HTTP streams
2019-01-10 18:01:24 +01:00
Fabio Manganiello
f156e9c199
Refactored plugin so that errors are properly returned up the stack, client connections are lazy and re-initialized upon error
2019-01-10 17:51:33 +01:00
Fabio Manganiello
8759dafa0e
Let plugin fail if unable to retrieve the status, so it can rely on the automatic reload mechanism instead of swallowing the error
2019-01-10 17:28:49 +01:00
Fabio Manganiello
abe80db47e
Changed default for exclude_local from True to False
2019-01-10 17:25:25 +01:00
Fabio Manganiello
c619d89fa4
Added method to programmatically get the list of active Snapcast connections
2019-01-10 17:22:52 +01:00
Fabio Manganiello
a349b45ba4
Removed get_plugin utils method from web server, it messes up with also with the reentrant locks as it runs in another process. Refactored Snapcast frontend to get the backend hosts asynchronously through a plugin method
2019-01-10 11:52:39 +01:00
Fabio Manganiello
544979e7ff
- Added position
argument to music.mpd.add
...
- Added RSS feed parser plugin
2019-01-09 18:43:13 +01:00
Fabio Manganiello
3c385a601f
Exposing backend hosts and ports as both lists and JSON on Snapcast plugin
2019-01-08 18:24:59 +01:00
Fabio Manganiello
80bd5b684c
Added support for setting/changing group streams on Snapcast
2019-01-08 17:43:20 +01:00
Fabio Manganiello
19eab381ae
Weird Jinja bug broke the web panel load when using JSON parse, had to refactor it a bit to fix it
2019-01-08 13:53:21 +01:00
Fabio Manganiello
d91e494940
Added group and host modals and settings to Snapcast UI
2019-01-08 12:54:33 +01:00
Fabio Manganiello
004868f526
Added skeleton UI for Snapcast plugin on web panel
2019-01-07 15:34:31 +01:00
Fabio Manganiello
bbc3a9e82a
Fixed Snapcast status method
2019-01-06 23:46:52 +01:00
Fabio Manganiello
efad5a2bd7
Added Snapcast backend
2019-01-06 19:19:30 +01:00
Fabio Manganiello
2fba3109b3
Wrapped sample response in codeblock
2019-01-06 12:56:30 +01:00
Fabio Manganiello
e97ce5d676
Added Snapcast plugin
2019-01-06 02:19:56 +01:00
Fabio Manganiello
240abb627d
Fix old Spotify playlists URI format
2019-01-03 10:37:16 +01:00
Fabio Manganiello
fc3f53f32b
Retry logic for getting mpd status
2018-11-07 18:04:37 +01:00
Fabio Manganiello
cbfcb76c21
volup/voldown fix for mpd plugin
2018-11-04 01:35:33 +01:00
Fabio Manganiello
b88f7fcecc
Added play_if_paused_or_stopped method to mpd plugin
2018-09-25 19:40:00 +02:00
Fabio Manganiello
38f61298f8
Support for bulk mpd add
2018-09-25 09:42:46 +02:00
Fabio Manganiello
bbdf11b9ce
Added shuffle method to music.mpd
2018-08-06 22:44:02 +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
ad1c87b2be
Adding more plugins documentation
2018-06-25 00:49:45 +02:00
Fabio Manganiello
96e3acb20f
Added MPD play_if_paused and pause_if_playing methods
2018-05-25 18:04:37 +02:00
Fabio Manganiello
2f8c74c8e3
- Added Pushbullet JS logic to show mirror notifications on web FE
...
- Added JS and CSS files for dashboard and widgets
2018-05-04 17:25:12 +02:00
Fabio Manganiello
f717315136
Added music.mpd.searchaddplaylist method
2018-04-15 16:31:23 +02:00
Fabio Manganiello
87fb8855b7
- Show Spotify results first from MPD search, if available
...
- More granular calculation of the match score
2018-04-15 11:15:43 +02:00
Fabio Manganiello
73c74654d1
- Better MPD filter management - you can now pass filters as arrays like
...
['artist', 'Led Zeppelin', 'title', 'Stairway To Heaven'] instead of
relying on one single type-filter pair
- Improved condition matching - don't skip the last condition token if
there are still event tokens to add
2018-04-14 23:58:48 +02:00
Fabio Manganiello
decadee00a
Implemented music search from web panel
2018-04-12 13:04:56 +02:00
Fabio Manganiello
40efb3f9c7
Support for selecting and playing tracks and playlists in web interface
2018-02-05 09:45:35 +01:00
Fabio Manganiello
1cab75757b
- Support for playlist update events handling on MPD
...
- Support for playlist updates on the web interface
- Support for selecting and playing tracks in the web interface
2018-02-05 00:55:19 +01:00
Fabio Manganiello
de2e50fefa
Implemented support for track random seek
2018-01-31 10:35:14 +01:00
Fabio Manganiello
7cd15d35e1
Return new status on random and repeat calls
2018-01-31 01:39:04 +01:00
Fabio Manganiello
968b71e946
- Implemented support for shuffle, random and set volume on the UI
...
- Reduced the websocket ping poll frequency to 1 second
2018-01-31 01:32:07 +01:00
Fabio Manganiello
28bc4c748e
UI improvements + support for MPD playlists and folders
2018-01-30 00:54:46 +01:00
Fabio Manganiello
4fa7a08006
Added mpd backend
2018-01-13 02:52:06 +01:00
Fabio Manganiello
08189653bb
s/playlistload/load/
2017-12-29 12:48:14 +01:00
Fabio Manganiello
b6733b3e6a
Also start playback when adding a playlist
2017-12-29 12:44:49 +01:00
Fabio Manganiello
26c3afee68
Implemented play_or_stop in mpd
2017-12-28 13:13:09 +01:00