Skip to content

Sparkled: The web-based LED sequencer

License

Notifications You must be signed in to change notification settings

codenift/sparkled

 
 

Repository files navigation

Sparkled

Build Status

Sparkled is a web-based LED sequencer that aims to reduce the barrier to entry for lighting projects. Sparkled

Features

With Sparkled, you get an integrated solution containing:

  • A rich web interface for staging, sequencing, previewing and scheduling music-backed LED animations
  • A fast UDP service to stream rendered pixel data to Sparkled clients, which use the data to drive LED strips (or whatever you want!)

Clients

Sparkled clients are responsible for rendered pixel data from the Sparkled server and displaying it on the LED strips. The official Sparkled clients are listed below:

Roadmap

Before Initial Release

  • Move project to Sparkled github account
  • Set up official project website
  • Rewrite UI in React (In Progress)
  • Stage editor, so users can set up their own lighting structures
  • Lots of unit & integration testing
  • Various bugfixes

After Initial Release

  • Add more effect and fill types
  • Multithreaded rendering
  • Support sequences without music (currently requires a mute MP3 file to be uploaded)
  • Ability to replace MP3 files for existing sequences (even with different lengths)
  • More Sparkled Clients (ESP8266, Arduino Ethernet)

Getting Started

Sparkled is currently in pre-alpha, so significant chunks of core functionality are still missing or incomplete.

These instructions will get you a copy of the project up and running on your local machine.

Prerequisites

The following software and hardware requirements must be met before installing the Sparkled server:

  • Java SE 8 JDK (8u151 or later recommended)
  • Maven 3 (3.5.2 or later recommended)
  • A modern web browser (Chrome 60 or later recommended)
  • Internet connectivity to download Maven and NPM artifacts

Installing

Fork and clone the repository

SSH:
git clone [email protected]:<your_username>/sparkled.git

HTTPS:
git clone https://github.com/<your_username>/sparkled.git

Build the project

Note: the initial build will take quite a while, as all of the Maven and NPM dependencies need to be downloaded

cd sparkled
mvn install

Run Sparkled

cd sparkled/app/target
java -jar sparkled.jar

Wait for the application to start, then connect to the UI in Chrome via the following URL:

http://localhost:8080

Running the tests

Use maven to run both the frontend and backend unit tests:

cd sparkled
mvn test

Use npm to run just the frontend unit tests:

cd sparkled/webui
npm run test

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • FastLED for building and maintaining an incredible LED strip library, without which this project would never have been conceived.
  • The FastLED community for being a great source of help and inspiration.

About

Sparkled: The web-based LED sequencer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 64.9%
  • JavaScript 33.7%
  • CSS 1.2%
  • HTML 0.2%