-
-
Notifications
You must be signed in to change notification settings - Fork 29
Manual build process
This guide is meant for developers who wants to customize or build Firefly Luciferin from sources.
Firefly Luciferin uses Java 14
Package API to create the Windows/Linux installer.
If you are running Windows 8 or Windows 10 you can use Desktop Duplication API (DDUPL), it's the fastest implementation yet, no lag, no stutter, very small usage of resources. DDUPL is accessed via JNA using the GStreamer bindings for Java.
GStreamer
is bundled with the installer thanks for the maven-compiler-plugin.
If you want to use your custom GStreamer SDK you need:
- GStreamer core
- GStreamer system plugins
- GStreamer system plugins for capturing
Wix Toolset binaries is in /build_tools/wixtools
folder, add it to the path if you want to create the binaries under Windows using jpackage.
- Simply git clone the project.
- mvn clean
- mvn package
Maven will create a FireflyLuciferin-jar-with-dependencies.jar
that will be bundled with the installer.
Generated jar is executable.
To create the binary installer, simply run:
jpackage -i ./target --type exe --main-class org.dpsoftware.JavaFXStarter --main-jar FireflyLuciferin-jar-with-dependencies.jar --icon ./data/img/luciferin_logo.ico --win-menu --win-menu-group Ambilight --copyright "Davide Perini" --name "Firefly Luciferin" --vendor DPsoftware --win-dir-chooser --win-shortcut --win-per-user-install --win-shortcut --win-shortcut-prompt --java-options "-XX:+UseZGC -Xms64m -Xmx1024m"
jpackage -i target --main-class org.dpsoftware.JavaFXStarter --main-jar FireflyLuciferin-jar-with-dependencies.jar --icon data/img/luciferin_logo.png --linux-shortcut --copyright "Davide Perini" --name FireflyLuciferin --vendor DPsoftware --app-version "${{steps.get-id.outputs.id}}" --java-options "-XX:+UseZGC -Xms64m -Xmx1024m"
Firefly Luciferin has a continuos integration pipeline that creates the Windows Linux installer on every Git Tag.
Another pipeline build the Glow Worm Luciferin firmware here.
- Compatible hardware
- Official PCBs (with Case)
- RGB and RGBW support
- Supported GPIO and Baud Rate
- Device reset
- How to set up multiple monitors
- Power saving features
- Hardware button
- Surround lighting with satellites