Skip to content

Commit

Permalink
PR feb (#270)
Browse files Browse the repository at this point in the history
- ***Breaking changes***: requires `Glow Worm Luciferin` firmware (v5.20.2).   
- Fixed a rgression that caused Firefly Luciferin to crash at startup when using an AMD GPU along with the DDUPL_DX12 capture method. 
- Grab area improvements made on `DDUPL/XIMAGESRC/PIPEWIRESRC` capture method has been backported on legacy capture methods `WinAPI/CPU`.
- Added Polish language. Thanks @gmx168. Closes [#258](#258).
- WiFi access does not work if MQTT server is down, fixed. Closes [#74](sblantipodi/glow_worm_luciferin#74).
- [Arduino Bootstrapper](https://github.com/sblantipodi/arduino_bootstrapper/releases) update (v.1.18.3).
  • Loading branch information
sblantipodi authored Feb 2, 2025
1 parent 8d24dac commit 9e8d88f
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 39 deletions.
38 changes: 12 additions & 26 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,18 @@ a {

### In this release

- ***Breaking changes***: requires `Glow Worm Luciferin` firmware (v5.20.2).
- Fixed a regression that caused Firefly Luciferin to crash at startup when using an AMD GPU along with the DDUPL_DX12
capture method.
- Grab area improvements made on `DDUPL/XIMAGESRC/PIPEWIRESRC` capture method has been backported on legacy capture
methods `WinAPI/CPU`.
- Added Polish language. Thanks @gmx168. Closes [#258](https://github.com/sblantipodi/firefly_luciferin/pull/258).
- WiFi access does not work if MQTT server is down, fixed.
Closes [#74](https://github.com/sblantipodi/glow_worm_luciferin/issues/74).
- [Arduino Bootstrapper](https://github.com/sblantipodi/arduino_bootstrapper/releases) update (v.1.18.3).

### In the previous releases:

- ***Breaking changes***: requires `Glow Worm Luciferin` firmware (v5.19.4).
- **Color accuracy has been significantly improved when using HDR contents.** Closes [#268](https://github.com/sblantipodi/firefly_luciferin/issues/268).
- New [color orders](https://github.com/sblantipodi/firefly_luciferin/wiki/RGB-and-RGBW-support#how-to-change-color-order) to support newer LED strips.
Expand All @@ -31,30 +43,4 @@ a {
- When setting a low brightness color on Firefly Luciferin, it’s not possible to increase the brightness in the [web interface](https://github.com/sblantipodi/firefly_luciferin/wiki/Remote-Access#luciferin-web-interface). Fixed.
- Fix "Slow rainbow" effect switching to "Solid" automatically.

### In the previous releases:

- ***Breaking changes***: requires `Glow Worm Luciferin` firmware (v5.18.2).
- The priority of UDP packets in wireless mode has been increased to signal to the router that Luciferin traffic
requires lower latency than standard packets.
- If the microcontroller is temporarily disconnected from the WiFi network, Firefly Luciferin is now able to reconnect
much faster without restarting the screen capture.
- Added a 'bottom' capture option
for [satellites](https://github.com/sblantipodi/firefly_luciferin/wiki/Surround-lighting-with-satellites) when the
LEDs are configured to use a bottom gap.
- The [save state](https://github.com/sblantipodi/firefly_luciferin/wiki/Remote-Access#luciferin-web-interface) has been
restructured. Auto-save has been disabled to prevent wear on the microcontroller's memory.
Closes [#249](https://github.com/sblantipodi/firefly_luciferin/issues/249).
- Arch Linux package. Note: AUR package is built from the official sources but it's currently maintained by @Ape.
Closes [#246](https://github.com/sblantipodi/firefly_luciferin/issues/246). Thanks @Ape for this.
- Libasound2t64 dependency prevents correct installation on some Linux distros.
Closes [#253](https://github.com/sblantipodi/firefly_luciferin/issues/253).
- Properly handle expired restore token on Wayland.
Closes [#259](https://github.com/sblantipodi/firefly_luciferin/issues/259). Thanks @Ape for the PR.
- Logging improvements. Closes [#260](https://github.com/sblantipodi/firefly_luciferin/pull/260). Thanks @Ape for the
PR.
- Proper config path on Linux. Config file and logs has been moved in XDG_CONFIG_HOME (~/.config/FireflyLuciferin). Old
config files will be automatically moved to the new path.
Closes [#261](https://github.com/sblantipodi/firefly_luciferin/pull/261).
- The snap version was crashing at startup when there were temporary files created by other instances of Firefly Luciferin on the system. Fixed.

[Click here for the complete changelog of previous versions.](https://github.com/sblantipodi/firefly_luciferin/releases)
1 change: 0 additions & 1 deletion src/main/java/org/dpsoftware/FireflyLuciferin.java
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ public FireflyLuciferin() {
NativeExecutor.exit();
}
manageLocale();
// TODO
// Queue is configured to hold a single frame, don't use `put` on it, but `offer` to prevent to block the writing thread.
MainSingleton.getInstance().sharedQueue = new LinkedBlockingQueue<>(1);
imageProcessor = new ImageProcessor(true);
Expand Down
1 change: 1 addition & 0 deletions src/main/java/org/dpsoftware/NativeExecutor.java
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ public static void restartNativeInstance(String profileToUse) {
execCommand.add(profileToUse);
}
log.info("Restarting instance");
log.debug("Restart command: {}", execCommand);
runNative(execCommand.toArray(String[]::new), 0);
if (CommonUtility.isSingleDeviceMultiScreen()) {
MainSingleton.getInstance().restartOnly = true;
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/org/dpsoftware/config/Configuration.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import org.dpsoftware.LEDCoordinate;
import org.dpsoftware.MainSingleton;
import org.dpsoftware.NativeExecutor;
import org.dpsoftware.gui.GuiSingleton;
import org.dpsoftware.gui.elements.Satellite;
import org.dpsoftware.managers.ManagerSingleton;
import org.dpsoftware.managers.dto.HSLColor;
Expand Down Expand Up @@ -201,7 +202,7 @@ public void setToggleLed(boolean toggleLed) {
if (!ManagerSingleton.getInstance().pipelineStarting) {
if (toggleLed) {
MainSingleton.getInstance().guiManager.trayIconManager.setTrayIconImage(Enums.PlayerStatus.STOP);
} else {
} else if (!GuiSingleton.getInstance().oldFirmwareDevice) {
MainSingleton.getInstance().guiManager.trayIconManager.setTrayIconImage(Enums.PlayerStatus.OFF);
}
}
Expand Down
15 changes: 6 additions & 9 deletions src/main/java/org/dpsoftware/grabber/ImageProcessor.java
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,9 @@ public static Color getAverageColor(LEDCoordinate ledCoordinate, int osScaling)
*/
public static Color getAverageColor(LEDCoordinate ledCoordinate, int osScaling, boolean getAverageScreenshot) {
int r = 0, g = 0, b = 0;
int skipPixel = 5;
// 6 pixel for X axis and 6 pixel for Y axis
int pixelToUse = 6;
int pickNumber = 0;
int width = GrabberSingleton.getInstance().screen.getWidth() - (skipPixel * pixelToUse);
int height = GrabberSingleton.getInstance().screen.getHeight() - (skipPixel * pixelToUse);
int width = GrabberSingleton.getInstance().screen.getWidth() - 1;
int height = GrabberSingleton.getInstance().screen.getHeight() - 1;
int xCoordinate;
int yCoordinate;
if (getAverageScreenshot || MainSingleton.getInstance().config.getCaptureMethod().equals(Configuration.CaptureMethod.CPU.name())) {
Expand All @@ -169,10 +166,10 @@ public static Color getAverageColor(LEDCoordinate ledCoordinate, int osScaling,
yCoordinate = ledCoordinate.getY();
}
// We start with a negative offset
for (int x = 0; x < pixelToUse; x++) {
for (int y = 0; y < pixelToUse; y++) {
int offsetX = (xCoordinate + (skipPixel * x));
int offsetY = (yCoordinate + (skipPixel * y));
for (int x = 0; x < ledCoordinate.getWidth(); x++) {
for (int y = 0; y < ledCoordinate.getHeight(); y++) {
int offsetX = (xCoordinate + x);
int offsetY = (yCoordinate + y);
int rgb = GrabberSingleton.getInstance().screen.getRGB(Math.min(offsetX, width), Math.min(offsetY, height));
Color color = new Color(rgb);
r += color.getRed();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,23 @@
</screenshot>
</screenshots>
<releases>
<release version="2.21.3" date="2025-02-02">
<url type="details">https://github.com/sblantipodi/firefly_luciferin/releases/tag/v2.21.3</url>
<description>
<p>Breaking changes: requires Glow Worm Luciferin firmware (v5.20.2)</p>
<ul>
<li>Fixed a regression that caused Firefly Luciferin to crash at startup when using an AMD GPU along
with the DDUPL_DX12 capture method.
</li>
<li>Grab area improvements made on DDUPL/XIMAGESRC/PIPEWIRESRC capture method has been backported on
legacy capture methods WinAPI/CPU.
</li>
<li>Added Polish language. Thanks @gmx168.</li>
<li>WiFi access does not work if MQTT server is down, fixed.</li>
<li>Arduino Bootstrapper update (v.1.18.3).</li>
</ul>
</description>
</release>
<release version="2.20.5" date="2025-01-18">
<url type="details">https://github.com/sblantipodi/firefly_luciferin/releases/tag/v2.20.5</url>
<description>
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/gstreamer
Submodule gstreamer updated 149 files
2 changes: 1 addition & 1 deletion src/main/resources/project.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version=${project.version}
minimum.firmware.version=5.19.4
minimum.firmware.version=5.20.2
# This feature is not exposed to end users. Used for testing purpose only. Set false before the release.
gw.alpha.download=false

0 comments on commit 9e8d88f

Please sign in to comment.