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
Fabio Manganiello
3baf0b1589
Initial support for playing multiple sounds to the same stream
2018-12-24 18:58:44 +01:00
Fabio Manganiello
3d2636b09c
Further split between sound and core modules
2018-12-24 17:15:29 +01:00
Fabio Manganiello
65465e3a18
- Refactored the class sound out of the plugin module
...
- More robust stream naming and index assignment logic
2018-12-24 17:12:11 +01:00
Fabio Manganiello
755df6284a
Added missing reference to completed_callback_event
2018-12-23 23:43:12 +01:00
Fabio Manganiello
c2cf0b5f74
Support for polyphonic synthetic sounds in sound plugin
2018-12-23 23:29:52 +01:00
Fabio Manganiello
7a5657778e
Basic support for synth sounds in sound plugin
2018-12-22 01:47:52 +01:00
Fabio Manganiello
00dacc456c
A more robust logic for getting the default sound devices
2018-12-21 16:52:52 +01:00
Fabio Manganiello
e2f7213697
Don't fail hard if it was not possible to get the ical content
2018-12-20 16:47:07 +01:00
Fabio Manganiello
b3ffb29726
Don't extend calendar events will null values
2018-12-20 16:40:14 +01:00
Fabio Manganiello
8d497b0be7
Fixed reference to libtorrent dependency as the pip URL is broken
2018-12-20 01:04:50 +01:00
Fabio Manganiello
a226aad669
Added python-dateutil requirement
2018-12-19 00:09:21 +01:00
Fabio Manganiello
c8f7eb30aa
Made Redis backend and plugin more robust.
...
- Redis arguments read either from the backend or the plugin
configuration as a fallback in case of partial conf
- send_message now falls back on the default Redis connection
configuration if *args and **kwargs are missing
2018-12-18 15:51:37 +01:00
Fabio Manganiello
7586412ded
Serial plugin extended with a general purpose read() method - to communicate for e.g. Espruino and compatible devices
2018-12-16 23:14:34 +01:00
Fabio Manganiello
28223cab30
Only import sounddevice when needed
2018-12-16 17:29:45 +01:00
Fabio Manganiello
abd88d0a71
recplay default blocksize should be the configured/default output blocksize
2018-12-16 17:23:26 +01:00
Fabio Manganiello
c054d04f2d
Added configurable input and output device blocksize to sound device plugin
2018-12-16 17:11:05 +01:00
Fabio Manganiello
e049d5483e
Added blocksize to sound.record
2018-12-16 16:58:33 +01:00
Fabio Manganiello
be43c3ac21
Changed default sound device to index 0 as 'default' is not present on all the systems
2018-12-16 16:34:40 +01:00
Fabio Manganiello
20a779bd8f
Replaced if not
references with if <var> is not None
2018-12-16 16:24:45 +01:00
Fabio Manganiello
f7576dcb7f
Added support for audio pass-through to sound plugin
2018-12-16 16:15:45 +01:00
Fabio Manganiello
be98dcde6a
Added sound device plugin
2018-12-15 01:18:48 +01:00
BlackLight
e89046f12a
Added max_results to YouTube search
2018-12-12 23:03:17 +01:00
BlackLight
9b0a72269a
typo
2018-12-12 22:52:51 +01:00
BlackLight
b7603ba166
Mapping YouTube API responses to the internal simpler format recognized by OMXPlayer plugin
2018-12-12 22:46:32 +01:00
BlackLight
679cad53b5
Added YouTube plugin that leverages the YouTube API; Replaced OMXPlayer search references to the old HTML parser withe new YouTube plugin
2018-12-12 22:33:41 +01:00
Fabio Manganiello
383a075f39
Handling Wiimote timeout on Wiimote backend
2018-12-01 18:43:18 +01:00
Fabio Manganiello
2b03276159
#46 : Added Wiimote support
2018-12-01 17:56:31 +01:00
Fabio Manganiello
6603f64757
Enforced cast to string for any object posted to the Redis bus
2018-11-20 14:24:14 +00:00
Fabio Manganiello
c2be1cf6e8
Enforced cast to string for any object posted to the Redis bus
2018-11-20 14:18:58 +00: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
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
56b87f3436
Support for default broker server configuration in MQTT plugin
2018-11-02 15:32:12 +00:00
Fabio Manganiello
788a2652c8
Support for TLS/SSL and user authentication on MQTT
2018-11-02 15:15:48 +00:00
Fabio Manganiello
e2ff62f15d
Refactored file plugin
2018-11-02 13:57:24 +00:00
Fabio Manganiello
38a8cac9c6
Refactored SSL context logic as utils methods
2018-11-01 23:34:14 +01:00
Fabio Manganiello
bf52304758
Fixed ReadTheDocs
2018-11-01 19:42:43 +01:00
Fabio Manganiello
6bc976cf89
Fixed SSL support in websocket implementation
2018-11-01 17:28:54 +00:00
Fabio Manganiello
484d282a26
Updated wiki
2018-10-28 23:48:26 +01:00
Fabio Manganiello
92a3759721
Added websocket backend and plugin
2018-10-26 21:55:49 +02:00
Fabio Manganiello
284e0638f8
Always define msg so the function doesn't fail on exception
...
Reverted the previous retry logic for backend - it didn't really work
This reverts commit 4e0e4863a0
.
This reverts commit 964c7b5cf0
.
This reverts commit 6ce348365f
.
2018-10-25 20:46:34 +02:00
Fabio Manganiello
4e0e4863a0
Don't modify Redis args directly when initializing the object in another plugin
2018-10-25 20:14:50 +02:00
Fabio Manganiello
276ee8fee9
Round download progress to two decimals
2018-10-22 19:14:41 +02:00
Fabio Manganiello
76b40c0c37
Managing torrent stop and remove as well
2018-10-22 19:12:06 +02:00
Fabio Manganiello
ab51c1d1bc
Extended torrents plugin
2018-10-22 18:51:00 +02:00
Fabio Manganiello
7375fb74fc
OMXPlayer to delegate torrent search and download to the torrent plugin
2018-10-22 18:26:11 +02:00
Fabio Manganiello
ce6baa453c
Keeping track of multiple downloads in torrent plugin
2018-10-22 15:24:09 +00:00
Fabio Manganiello
9974583038
Added torrent plugin
2018-10-22 14:52:32 +00:00
Fabio Manganiello
4d592fff17
Support for multiple devices in AutoRemote plugin
2018-10-22 09:36:30 +00:00