Commit graph

358 commits

Author SHA1 Message Date
Fabio Manganiello
740063c23b Clear the timeout handler from the map once the execution is terminated 2019-01-13 22:58:18 +01:00
Fabio Manganiello
2d8b2ba55a Removed pp- prefix from the name of the spawned processes and threads 2019-01-13 20:41:15 +01:00
Fabio Manganiello
db4e68e247 Do exception logging at Request level and discard duplicate exception messages between retries 2019-01-13 20:09:25 +01:00
Fabio Manganiello
8ea0519954 Support for set/clear timeout/interval utils actions and error handling refactor
- Added set/cler timeout/interval actions in the utils plugin to
dynamically set or stop timed actions from your custom logic

- Actions error handling refactoring. If a Response is processed with
some errors, then just log the error and return it to the caller,
without raising an exception. If instead the action execution raised an
uncaught exception, then handle the retries properly and return errors
as a list with the output from all the retries, without being too
verbose with the returning and logging the whole stack trace multiple
times.
2019-01-13 19:29:08 +01:00
Fabio Manganiello
bb8a21ed13 Revert "Sort Adafruit IO received data by timestamp"
This reverts commit 2739dda266.
2019-01-12 02:08:04 +01:00
Fabio Manganiello
2739dda266 Sort Adafruit IO received data by timestamp 2019-01-12 02:06:38 +01:00
Fabio Manganiello
78d44364cf Casting data to number whenever possible on FeedUpdateEvent as well 2019-01-12 01:58:35 +01:00
Fabio Manganiello
d63ad91b2a Implemented receive_next and receive_previous wrappers in Adafruit IO and rationalized returned types 2019-01-12 01:52:39 +01:00
Fabio Manganiello
ca855fce5d Improved Adafruit IO data handling 2019-01-12 01:38:17 +01:00
Fabio Manganiello
1087dae197 Added Adafruit IO backend 2019-01-12 01:07:38 +01:00
Fabio Manganiello
212cfb63c4 Lazy initialization of WeMo environment 2019-01-11 19:58:43 +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
fbf3600e91 Setting thread and process names properly through prctl 2019-01-10 23:45:13 +01:00
Fabio Manganiello
56c7258c74 Setting names for threads 2019-01-10 23:08:29 +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
461362f792 mset signature now compatible both with redis-py < 3.0 and >= 3.0 2019-01-06 23:46:18 +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
699fa92c5e Added HomeSeer plugin 2018-12-28 09:55:09 +01:00
Fabio Manganiello
f9f43964a2 Support for stream names 2018-12-28 00:30:25 +01:00
Fabio Manganiello
fae45d8ca3 Returning only the real part of the FFT 2018-12-27 22:47:44 +01:00
Fabio Manganiello
54c3381ae3 - Added frames throttling support on Leap Motion backend
- Moved the Leap listener to another process to prevent it from hanging the other backends
- Added support for sound and mix frequency analysis
2018-12-27 20:24:51 +01:00
Fabio Manganiello
2e82651dbf Expressed triangular wave as a function of the associated sawtooth-shape wave 2018-12-27 17:33:05 +01:00
Fabio Manganiello
debf9a017b Sound plugin moved back to __init__ for sake of better readthedocs generation 2018-12-27 17:26:16 +01:00
Fabio Manganiello
cff4563dae Rewritten Pushbullet backend using pushbullet.py for better stability 2018-12-27 02:29:44 +01:00
Fabio Manganiello
56ff58d06b Better sound release logic 2018-12-27 01:10:45 +01:00
Fabio Manganiello
c445763979 - Support for sound "release" (removal from active stream)
- Added `query_ports` method to MIDI plugin
2018-12-27 00:09:05 +01:00
Fabio Manganiello
f2d2315610 Extended Sound class docstring 2018-12-26 23:16:37 +01:00
Fabio Manganiello
3598d7fcd5 Support for multiple sound waves (triangular, square and sawtooth) 2018-12-26 23:14:52 +01:00
Fabio Manganiello
3b681bbf57 Added played files/notes in stream in query_streams 2018-12-26 16:58:41 +01:00
Fabio Manganiello
3554968468 Support for multiple sounds on the same stream 2018-12-26 16:10:14 +01:00
Fabio Manganiello
c2544524e1 Added missing docstring line 2018-12-25 19:26:59 +01:00
Fabio Manganiello
2fb5e5abc6 Support for mixes of multiple sounds 2018-12-25 19:26:08 +01:00
Fabio Manganiello
d89184358a Support for playback control for individual sound streams 2018-12-25 17:31:20 +01:00