Skip to content

Commit

Permalink
Update resource, force HyperSerial detection (#723)
Browse files Browse the repository at this point in the history
* Update translations by @AstaRom

* update license

* Disable cache before release build

* Update language file's (#716)

* Force HyperSerial detection (#732)

* Add ttyACM detection

* Fix

* Update language file's (#736)

---------

Co-authored-by: Aleksandar Jovanovic <[email protected]>
Co-authored-by: Roman Astafev <[email protected]>

* Update CHANGELOG.md

* Fix verbose option

* Update

* Update language file's (#747)

---------

Co-authored-by: Roman Astafev <[email protected]>
Co-authored-by: Roman Astafev <[email protected]>
Co-authored-by: Aleksandar Jovanovic <[email protected]>
  • Loading branch information
4 people authored Jan 25, 2024
1 parent fd90a20 commit d04527b
Show file tree
Hide file tree
Showing 177 changed files with 460 additions and 263 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/push-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
pull_request:

env:
USE_CACHE: "1"
USE_CACHE: "0"
RESET_CACHE: "0"
USE_CODEQL: "1"
BUILD_ARCHIVES: ${{ startsWith(github.event.ref, 'refs/tags') && 1 || 0 }}
Expand Down
11 changes: 9 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
- Fix verbose command line option #737 (v20 beta2 🆕)
- New features: disable LEDs/components on startup #737 (v20 beta2 🆕)
- New features: stop processing when user has locked the system #737 (v20 beta2 🆕)
- Force HyperSerial detection #732 Thanks @alex-013 (v20 beta2 🆕)
- Fix Linux DBus sleep/wakeup handler (v20 beta2 🆕)
- Fix pipewire grabber for non-contiguous DMA memory & EGL #711 Thanks @Mic92 (v20 beta2 🆕)
- Update build scripts and include Ubuntu 24.04 LTS (v20 beta2 🆕)
- Fixes for v20beta1 #705 (v20 beta2 🆕)
- Refactoring. Migration to C++ smart pointers (v20 beta 🆕)
- Pixel and vertex shaders hardware acceleration for DX11 Windows grabber (v20 beta 🆕)
- Unified LED driver smoothing and clocking for better linear transition (v20 beta 🆕)
Expand All @@ -13,7 +21,7 @@
- Upgrade Fedora 38 to 39, Ubuntu 23.04 to 23.10 #667 (v20 beta 🆕)
- Colorized logs #640 (v20 beta 🆕)
- Fix macOS build #638 #671 #672 (v20 beta 🆕)
- Update language file's. Thanks @AstaRom #617 (v20 beta 🆕)
- Update language file's. Thanks @AstaRom #505 #538 #571 #617 #710 #716 #723 (v20 beta 🆕)
- Make bonjour use logging utilities. Thanks @nurikk #529 (v20 beta 🆕)
- New interface: removed ancient Font Awesome 4 (so 2017...) Migrate to SVG: Bootstrap Icons and Google Material Icons/Symbols #605 (v20 beta 🆕)
- New device discovery service #605 (v20 beta 🆕)
Expand Down Expand Up @@ -44,7 +52,6 @@
- Update Github actions/download@v3 #372 (v20 beta 🆕)
- Remove depraciated ::set-output from Github Action #390 (v20 beta 🆕)
- Upgrade Bootstrap to 5.2.3 / improved 'video live preview' on smartphones #336 (v20 beta 🆕)
- Update language file's. Thanks @AstaRom #505 (v20 beta 🆕)
- LED designer context menu to disable, identify or customize LED position and size etc
- Added Philips Hue Entertainment API 2. Support for Hue gradients (thanks @gibahjoe)
- Save/restore WLED state and set max brightness at startup
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2020-2023 awawa-dev
Copyright (c) 2020-2024 awawa-dev

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## About

Open source ambient lighting implementation for television and music sets based on the video and audio streams analysis. Focused on stability while ensuring performance and quality, especially for USB grabbers. Single and multi-threaded video processing optimization for **Windows**, **macOS** and **Linux x64 & ARM** (Raspberry Pi and others).
Open source ambient lighting implementation for television and music sets based on the video and audio streams analysis. Focused on stability while ensuring performance and quality. Single and multi-threaded video processing optimization for **Windows**, **macOS** and **Linux x64 & ARM** (Raspberry Pi and others).

![v20](https://github.com/awawa-dev/HyperHDR/assets/69086569/9bc7999d-1515-4a96-ba5e-8a732cf7d8a4)

Expand All @@ -17,14 +17,14 @@ Open source ambient lighting implementation for television and music sets based
* Support for USB grabbers under Linux, Windows 10, macOS (x64/M1)
* Pipewire/Portal hardware-accelerated screen capturer for Linux/Wayland
* DirectX screen grabber with pixel and vertex shader processing acceleration for Windows 10/11
* DirectX screen grabber supports native Windows HDR modes like DXGI_FORMAT_R16G16B16A16_FLOAT
* Dynamic video cache buffers. Now Rpi can process even 1080p120 NV12 stream without any size decimation
* Built-in audio visualization effects using **spectrum analysis**
* MQTT support for IoT
* Entertainment API v2: per-channel support for Philips Gradient Strip and others
* Automatic LUT calibration detects grabber model specific properties for the best quality of HDR/SDR
* Optimized multi-instances. You can use for example your TV LED strip and multiple WLED or Philips Hue light sources.
* Built-in latency benchmark for USB grabbers
* Software screen grabbers: DirectX11 (Windows), CoreGraphics (macOS), Pipewire/Wayland/x11 (Linux), frame buffer (Linux)
* easy LED strip geometry editing process, automatic or manual with mouse and context menu per single LED
* Automatic signal detection with smart learning capability for USB grabbers
* SK6812 RGBW: advanced calibration of the white color channel for [HyperSerialEsp8266](https://github.com/awawa-dev/HyperSerialEsp8266), [HyperSerialESP32](https://github.com/awawa-dev/HyperSerialESP32), [HyperSPI](https://github.com/awawa-dev/HyperSPI), [HyperSerialPico](https://github.com/awawa-dev/HyperSerialPico)
Expand All @@ -33,7 +33,9 @@ Open source ambient lighting implementation for television and music sets based
* Support for 48bits HD108 LED strip
* Support WS281x, APA102, HD107, SK9822 and SK6812 RGBW LED strips using the fastest possible cable solution for generic ESP8266/ESP32/rp2040 external LED drivers: [HyperSPI](https://github.com/awawa-dev/HyperSPI). Alternatively, there is a simple solution using a high-speed connection via a standard USB serial port for ESP8266/ESP32/Pico with data integrity check and white channel calibration: [HyperSerialEsp8266](https://github.com/awawa-dev/HyperSerialEsp8266) and [HyperSerialESP32](https://github.com/awawa-dev/HyperSerialESP32) and for Raspberry Pi Pico [HyperSerialPico](https://github.com/awawa-dev/HyperSerialPico). You can also use our WLED fork for ESP8266 and ESP32 using 2Mb baud speed (or higher): [HyperSerialWLED](https://github.com/awawa-dev/HyperSerialWLED)

Our advanced video processing can improve the source for the LEDs, making the ambient lighting even more enjoyable and colorful.
Our advanced video processing can improve the source for the LEDs, making the ambient lighting even more enjoyable and colorful.
You can use it for SDR video streams as well as for HDR and Dolby Vision (LLDV if your hardware supports it). Or instead of using a USB grabber, let your computer screen be the video source with software capture.

![example](https://github.com/awawa-dev/HyperHDR/assets/69086569/4077c05d-4c02-47eb-8d64-a334064403b3)

## Download packages & sources
Expand Down
2 changes: 1 addition & 1 deletion cmake/osxbundle/LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2023 awawa-dev
Copyright (c) 2024 awawa-dev

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
Expand Down
2 changes: 1 addition & 1 deletion include/base/ColorCalibration.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/base/LedCalibration.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/base/RawUdpServer.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/bonjour/DiscoveryRecord.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/bonjour/DiscoveryWrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/grabber/DX/PixelShaderHyperHDR.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/grabber/DX/VertexShaderHyperHDR.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/proto-nano-server/ProtoNanoClientConnection.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/utils/ChannelCalibration.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/utils/GlobalSignals.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/utils/InternalClock.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 2 additions & 0 deletions include/utils/Logger.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ class Logger : public QObject
static Logger* getInstance(const QString& name = "", LogLevel minLevel = Logger::INFO);
static void deleteInstance(const QString& name = "");
static void setLogLevel(LogLevel level, const QString& name = "");
static void forceVerbose();
static LogLevel getLogLevel(const QString& name = "");
static QString getLastError();

Expand All @@ -95,6 +96,7 @@ class Logger : public QObject
static QMutex _mapLock;
static QMap<QString, Logger*> _loggerMap;
static QAtomicInteger<int> GLOBAL_MIN_LOG_LEVEL;
static QAtomicInteger<bool> _forceVerbose;
static QString _lastError;
static bool _hasConsole;
const QString _name;
Expand Down
2 changes: 1 addition & 1 deletion include/utils/LutCalibrator.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/utils/Macros.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion include/utils/MemoryBuffer.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/ColorCalibration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
28 changes: 17 additions & 11 deletions sources/base/ComponentController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,20 +45,26 @@ void ComponentController::handleCompStateChangeRequest(hyperhdr::Components comp
bool disableLeds = _disableOnStartup && !isComponentEnabled(COMP_ALL) && _prevComponentStates.empty();

Debug(_log, "Disabling HyperHDR instance: saving current component states first");
for (const auto& comp : _componentStates)
if (comp.first != COMP_ALL)
{
if (disableLeds && comp.first == COMP_LEDDEVICE)
_prevComponentStates.emplace(comp.first, true);
else
_prevComponentStates.emplace(comp.first, comp.second);
_componentStates[COMP_ALL] = false;

if (comp.second)
for (int i = 0; i < 2; i++)
for (const auto& comp : _componentStates)
if (comp.first != COMP_ALL &&
((i == 0 && comp.first == COMP_LEDDEVICE) || (i == 1 && comp.first != COMP_LEDDEVICE)))
{
emit SignalRequestComponent(comp.first, false);
if (disableLeds && comp.first == COMP_LEDDEVICE)
_prevComponentStates.emplace(comp.first, true);
else
_prevComponentStates.emplace(comp.first, comp.second);

if (comp.second)
{
emit SignalRequestComponent(comp.first, false);
}
}
}
setNewComponentState(COMP_ALL, false);

Debug(_log, "Disabling HyperHDR instance: preparations completed");
emit SignalComponentStateChanged(COMP_ALL, false);
}
else
{
Expand Down
2 changes: 1 addition & 1 deletion sources/base/DetectionAutomatic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/Grabber.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/GrabberHelper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/GrabberWrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/HyperHdrInstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/HyperHdrManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/ImageColorAveraging.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/ImageToLedManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/LedCalibration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/NetworkForwarder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/RawUdpServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/Smoothing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
2 changes: 1 addition & 1 deletion sources/base/SoundCapture.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*
* MIT License
*
* Copyright (c) 2020-2023 awawa-dev
* Copyright (c) 2020-2024 awawa-dev
*
* Project homesite: https://github.com/awawa-dev/HyperHDR
*
Expand Down
Loading

0 comments on commit d04527b

Please sign in to comment.