Skip to content

Commit 9e8d88f

Browse files
authored
PR feb (#270)
- ***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).
1 parent 8d24dac commit 9e8d88f

File tree

8 files changed

+40
-39
lines changed

8 files changed

+40
-39
lines changed

docs/index.md

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ a {
2222

2323
### In this release
2424

25+
- ***Breaking changes***: requires `Glow Worm Luciferin` firmware (v5.20.2).
26+
- Fixed a regression that caused Firefly Luciferin to crash at startup when using an AMD GPU along with the DDUPL_DX12
27+
capture method.
28+
- Grab area improvements made on `DDUPL/XIMAGESRC/PIPEWIRESRC` capture method has been backported on legacy capture
29+
methods `WinAPI/CPU`.
30+
- Added Polish language. Thanks @gmx168. Closes [#258](https://github.com/sblantipodi/firefly_luciferin/pull/258).
31+
- WiFi access does not work if MQTT server is down, fixed.
32+
Closes [#74](https://github.com/sblantipodi/glow_worm_luciferin/issues/74).
33+
- [Arduino Bootstrapper](https://github.com/sblantipodi/arduino_bootstrapper/releases) update (v.1.18.3).
34+
35+
### In the previous releases:
36+
2537
- ***Breaking changes***: requires `Glow Worm Luciferin` firmware (v5.19.4).
2638
- **Color accuracy has been significantly improved when using HDR contents.** Closes [#268](https://github.com/sblantipodi/firefly_luciferin/issues/268).
2739
- New [color orders](https://github.com/sblantipodi/firefly_luciferin/wiki/RGB-and-RGBW-support#how-to-change-color-order) to support newer LED strips.
@@ -31,30 +43,4 @@ a {
3143
- 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.
3244
- Fix "Slow rainbow" effect switching to "Solid" automatically.
3345

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

src/main/java/org/dpsoftware/FireflyLuciferin.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ public FireflyLuciferin() {
105105
NativeExecutor.exit();
106106
}
107107
manageLocale();
108-
// TODO
109108
// Queue is configured to hold a single frame, don't use `put` on it, but `offer` to prevent to block the writing thread.
110109
MainSingleton.getInstance().sharedQueue = new LinkedBlockingQueue<>(1);
111110
imageProcessor = new ImageProcessor(true);

src/main/java/org/dpsoftware/NativeExecutor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ public static void restartNativeInstance(String profileToUse) {
151151
execCommand.add(profileToUse);
152152
}
153153
log.info("Restarting instance");
154+
log.debug("Restart command: {}", execCommand);
154155
runNative(execCommand.toArray(String[]::new), 0);
155156
if (CommonUtility.isSingleDeviceMultiScreen()) {
156157
MainSingleton.getInstance().restartOnly = true;

src/main/java/org/dpsoftware/config/Configuration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.dpsoftware.LEDCoordinate;
3131
import org.dpsoftware.MainSingleton;
3232
import org.dpsoftware.NativeExecutor;
33+
import org.dpsoftware.gui.GuiSingleton;
3334
import org.dpsoftware.gui.elements.Satellite;
3435
import org.dpsoftware.managers.ManagerSingleton;
3536
import org.dpsoftware.managers.dto.HSLColor;
@@ -201,7 +202,7 @@ public void setToggleLed(boolean toggleLed) {
201202
if (!ManagerSingleton.getInstance().pipelineStarting) {
202203
if (toggleLed) {
203204
MainSingleton.getInstance().guiManager.trayIconManager.setTrayIconImage(Enums.PlayerStatus.STOP);
204-
} else {
205+
} else if (!GuiSingleton.getInstance().oldFirmwareDevice) {
205206
MainSingleton.getInstance().guiManager.trayIconManager.setTrayIconImage(Enums.PlayerStatus.OFF);
206207
}
207208
}

src/main/java/org/dpsoftware/grabber/ImageProcessor.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,9 @@ public static Color getAverageColor(LEDCoordinate ledCoordinate, int osScaling)
153153
*/
154154
public static Color getAverageColor(LEDCoordinate ledCoordinate, int osScaling, boolean getAverageScreenshot) {
155155
int r = 0, g = 0, b = 0;
156-
int skipPixel = 5;
157-
// 6 pixel for X axis and 6 pixel for Y axis
158-
int pixelToUse = 6;
159156
int pickNumber = 0;
160-
int width = GrabberSingleton.getInstance().screen.getWidth() - (skipPixel * pixelToUse);
161-
int height = GrabberSingleton.getInstance().screen.getHeight() - (skipPixel * pixelToUse);
157+
int width = GrabberSingleton.getInstance().screen.getWidth() - 1;
158+
int height = GrabberSingleton.getInstance().screen.getHeight() - 1;
162159
int xCoordinate;
163160
int yCoordinate;
164161
if (getAverageScreenshot || MainSingleton.getInstance().config.getCaptureMethod().equals(Configuration.CaptureMethod.CPU.name())) {
@@ -169,10 +166,10 @@ public static Color getAverageColor(LEDCoordinate ledCoordinate, int osScaling,
169166
yCoordinate = ledCoordinate.getY();
170167
}
171168
// We start with a negative offset
172-
for (int x = 0; x < pixelToUse; x++) {
173-
for (int y = 0; y < pixelToUse; y++) {
174-
int offsetX = (xCoordinate + (skipPixel * x));
175-
int offsetY = (yCoordinate + (skipPixel * y));
169+
for (int x = 0; x < ledCoordinate.getWidth(); x++) {
170+
for (int y = 0; y < ledCoordinate.getHeight(); y++) {
171+
int offsetX = (xCoordinate + x);
172+
int offsetY = (yCoordinate + y);
176173
int rgb = GrabberSingleton.getInstance().screen.getRGB(Math.min(offsetX, width), Math.min(offsetY, height));
177174
Color color = new Color(rgb);
178175
r += color.getRed();

src/main/resources/build_assets/org.dpsoftware.FireflyLuciferin.appdata.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,23 @@
7474
</screenshot>
7575
</screenshots>
7676
<releases>
77+
<release version="2.21.3" date="2025-02-02">
78+
<url type="details">https://github.com/sblantipodi/firefly_luciferin/releases/tag/v2.21.3</url>
79+
<description>
80+
<p>Breaking changes: requires Glow Worm Luciferin firmware (v5.20.2)</p>
81+
<ul>
82+
<li>Fixed a regression that caused Firefly Luciferin to crash at startup when using an AMD GPU along
83+
with the DDUPL_DX12 capture method.
84+
</li>
85+
<li>Grab area improvements made on DDUPL/XIMAGESRC/PIPEWIRESRC capture method has been backported on
86+
legacy capture methods WinAPI/CPU.
87+
</li>
88+
<li>Added Polish language. Thanks @gmx168.</li>
89+
<li>WiFi access does not work if MQTT server is down, fixed.</li>
90+
<li>Arduino Bootstrapper update (v.1.18.3).</li>
91+
</ul>
92+
</description>
93+
</release>
7794
<release version="2.20.5" date="2025-01-18">
7895
<url type="details">https://github.com/sblantipodi/firefly_luciferin/releases/tag/v2.20.5</url>
7996
<description>

src/main/resources/gstreamer

Submodule gstreamer updated 149 files

src/main/resources/project.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
version=${project.version}
2-
minimum.firmware.version=5.19.4
2+
minimum.firmware.version=5.20.2
33
# This feature is not exposed to end users. Used for testing purpose only. Set false before the release.
44
gw.alpha.download=false

0 commit comments

Comments
 (0)