A software designed to control the DIY Moving Head projector
Caution
Software made for windows and linux.
It detects beats from the output stream of your speakers and then use them to create beautiful lightshows.
Wheel file is available, download in releases, run
pip install lightshow-X.XX.X.py3-none-any.whlInstaller needing admin in the releases.
Portable also available in the releases.
Download, extract.
Run lightshow.exe
Download the AppImage. Make it executable:
chmod +x lightshow-X.XX.X-x86_64.AppImageDownload the .tar.gz archive.
Make the lightshow file executable & execute:
cd extracted_folder
chmod +x lightshow
./lightshowIm not even sure it works.
Tip
UV is recommended
-
Clone repo
git clone https://github.com/PastaLaPate/Lightshow
-
Go to dir
cd Lightshow -
Install dependencies
uv sync
-
Linux dev dependencies
- Using apt:
sudo apt install libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsmpeg-dev librtmidi-dev
- Using dnf:
sudo dnf install rtmidi-devel
- Using apt:
-
Start
uv run lightshow
Make sure you have dev dependencies:
uv sync --devuv buildWheel is in dist/
Install NSIS.
With chocolatery: choco install nsis
Build using pyinstaller: uv run pyinstaller lightshow.spec
Build using pyinstaller: uv run pyinstaller lightshow.linux.spec
Feel free to open prs to fix code or add new devices.
In this project like every one I create, code is handwritten and hand-reviewed. AI must strictly be used as a tool, not as a replacment for your brain. AI Use cases:
- Explaining the code base
- Help for architectural decisions: which pattern to use
- Find TODOs and give snippet of example code.
- Help for Libs' usage.
What it musn't be used for:
- Full AI Commit with no review
- Full architectural decisions without thinking about alternatives
- Code you don't know how it works.
PyQT6 for ui. PyQTGraph for visualization. DBUS/winrt for tracks tracking.
Soundcard for audio stream, numpy for treatment.
