[NOTE]: This readme is a work-in-progress. I am currently working on a GUI and improving separation of features. If you require any specific information, please submit a github issue. I will try my best to address any questions you have in this readme once I get the chance. Thanks! :)
[NOTE]: For the moment, live_audio_level.py is WAAAAY less responsive on Windows than on Linux, this is being worked on.
[NOTE]: The latest version of a dependency (PyAudio v0.2.11) doesn't support the most recent version of python (3.7.4) on Windows 10 as of this commit (2019/10/07 @ 07:75PM)
[NOTE]: Mac requires a method to pipe your desktop audio into an audio input, soundflower can be used for this
Step | *NIX |
---|---|
#1 | python3 -m venv lifxtools-venv (create a virtual environment) |
#2 | source lifxtools-venv/bin/activate (enter the virtual environment) |
#3 | pip install lifxtools (install lifxtools from PyPi) |
#4 | install any external requirements for your platform (e.g. portaudio if it isn't pre-installed on your OS) |
#5 | python3 -m lifxtools (run lifxtools module with GUI) |
[todo]
[todo]
(Ultra-slow fade mode) Stanley Kubrick's A Clockwork Orange is well enhanced by the effect of average_screen_color.py; first few minutes of the film are of particularly strong effect.
(Slow fade mode) Blade Runner (1997). Movie full of both muted and vibrant tones. Takes full advantage of the vividness of the colour of lifx bulbs
(Game fade mode) Half-Life 2: Episode 1. The first few levels of this game are truly awesome with live colour averages.
Intergration for multiple public transport APIs. This will involve making a package to translate multiple APIs to the general format (which is likely object-based)
Planned APIs to intergrate:
- PTV (Public Transport Victoria)
The plan:
color condition | effect |
---|---|
blue > red | cooler light |
blue == red | neutral light |
blue < red | warmer light |
With the addition of benchmarking capabilities available to the user, this will allow users to compare their color average processing time with the refresh rate of their displays. Ideally, this number should be as close to matching as possible (with consideration for network speed also)
This has the intention of saving network bandwidth (and potenially a small amount of processing time)
Add tests for if a firewall is in place and whether it may cause issues for the scripts, if it's detected that it will, return a verbose error to the user to help them rectify the issue.
All core, universal classes and functions would stay in Volux Core, and then features such as the volume control edge would be seperated into a seperate module of sorts, kind of like a plugin or extension to the core. The same goes for the features available in lifxtools such as the live audio visualiser; it would become a module/plugin/extension.