Skip to content

Commit 558c7e0

Browse files
authored
Refactoring and new features. Migrate to C++ Smart Pointers (#691)
* Refactoring. Migrate to C++ Smart Pointers. DirectX grabber hardware acceleration: pixel & vertex shaders, autodetect HDR mode. New WLED protocol. MQTT & ArtNet fixes. Automatic DB backup feature. * Fix latest CodeQL issues * Fix/update Boblight * Designation: HyperHDR v20beta1
1 parent 14d8157 commit 558c7e0

File tree

581 files changed

+16260
-21370
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

581 files changed

+16260
-21370
lines changed

.github/actions/codeql/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ runs:
9191
uses: advanced-security/filter-sarif@v1
9292
with:
9393
patterns: |
94-
-dependencies/**
94+
-external/**
9595
input: sarif-results/${{ inputs.language }}.sarif
9696
output: sarif-results/${{ inputs.language }}.sarif
9797

.github/workflows/push-master.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
env:
77
USE_CACHE: "1"
88
RESET_CACHE: "0"
9-
USE_CODEQL: "0"
9+
USE_CODEQL: "1"
1010
BUILD_ARCHIVES: ${{ startsWith(github.event.ref, 'refs/tags') && 1 || 0 }}
1111

1212
jobs:
@@ -36,6 +36,10 @@ jobs:
3636
linuxVersion: jammy
3737
dockerName: Ubuntu 22.04 LTS (x86_64)
3838
platform: linux
39+
- dockerImage: x86_64
40+
linuxVersion: mantic
41+
dockerName: Ubuntu 23.10 (x86_64)
42+
platform: linux
3943
- dockerImage: arm-32bit-armv6l
4044
linuxVersion: bullseye
4145
dockerName: Debian Bullseye (ARM 32-bit Raspberry Pi OS)
@@ -198,7 +202,7 @@ jobs:
198202
runs-on: windows-2022
199203
env:
200204
VCINSTALLDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC'
201-
QT_VERSION: 6.2.4
205+
QT_VERSION: 6.5.3
202206
steps:
203207
- name: Checkout
204208
uses: actions/checkout@v3
@@ -254,7 +258,7 @@ jobs:
254258
analyze:
255259
name: Analyze (CodeQL)
256260
runs-on: ubuntu-latest
257-
if: ( false )
261+
if: ( true )
258262
permissions:
259263
actions: read
260264
contents: read

.gitignore

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,8 @@ compile_commands.json
2323
sources/flatbufserver/hyperhdr_reply_generated.h
2424
sources/flatbufserver/hyperhdr_request_generated.h
2525

26-
# lib-turbo
27-
dependencies/jpeg-windows
28-
dependencies/windows
2926

30-
# Network discovery library
31-
dependencies/bonjour
27+
external/windows
3228

3329
# Kdevelop project files
3430
*.kdev*

.gitmodules

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
1-
[submodule "dependencies/external/rpi_ws281x"]
2-
path = dependencies/external/rpi_ws281x
1+
[submodule "external/rpi_ws281x"]
2+
path = external/rpi_ws281x
33
url = https://github.com/jgarff/rpi_ws281x
44
branch = master
5-
[submodule "dependencies/external/flatbuffers"]
6-
path = dependencies/external/flatbuffers
5+
[submodule "external/flatbuffers"]
6+
path = external/flatbuffers
77
url = https://github.com/google/flatbuffers
88
branch = master
9-
[submodule "dependencies/external/mbedtls"]
10-
path = dependencies/external/mbedtls
9+
[submodule "external/mbedtls"]
10+
path = external/mbedtls
1111
url = https://github.com/ARMmbed/mbedtls
12-
[submodule "dependencies/external/libcec"]
13-
path = dependencies/external/libcec
14-
url = https://github.com/awawa-dev/libcec.git
15-
[submodule "dependencies/external/qmqtt"]
16-
path = dependencies/external/qmqtt
12+
[submodule "external/qmqtt"]
13+
path = external/qmqtt
1714
url = https://github.com/emqx/qmqtt.git
1815
ignore = dirty
19-
[submodule "dependencies/external/xz"]
20-
path = dependencies/external/xz
16+
[submodule "external/xz"]
17+
path = external/xz
2118
url = https://github.com/tukaani-project/xz.git
22-
[submodule "dependencies/external/mdns"]
23-
path = dependencies/external/mdns
19+
[submodule "external/mdns"]
20+
path = external/mdns
2421
url = https://github.com/mjansson/mdns.git

3RD_PARTY_LICENSES

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2584,6 +2584,18 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
25842584
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25852585
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25862586

2587+
=============================================
2588+
Simulate iOS toggle button with html and less
2589+
=============================================
2590+
2591+
Copyright (c) 2023 by coldsoul (https://codepen.io/coldsoul/pen/pbdvPa)
2592+
2593+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
2594+
2595+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
2596+
2597+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2598+
25872599
==============================
25882600
svg-loader
25892601
==============================

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
- Refactoring. Migration to C++ smart pointers (v20 beta 🆕)
2+
- Pixel and vertex shaders hardware acceleration for DX11 Windows grabber (v20 beta 🆕)
3+
- Unified LED driver smoothing and clocking for better linear transition (v20 beta 🆕)
4+
- WLED: migrate to Audio-Reactive-Led-Strip protocol. Overcome 490 LEDs limit (v20 beta 🆕)
5+
- Automatic DB backup before upgrading (v20 beta 🆕)
6+
- support for HyperSPI on Pico rp2040 boards (v20 beta 🆕)
7+
- MQTT: auto-resume broken connection (v20 beta 🆕)
8+
- MQTT: support for multiple JSON API commands in one MQTT request (v20 beta 🆕)
9+
- ArtNet driver: toggle to prevent pixel color data split across multiple universes (v20 beta 🆕)
10+
- Add video buffer memory caching to Pipewire grabber (v20 beta 🆕)
11+
- Fix typo in LED strip name #670 Thanks @fluchfux (v20 beta 🆕)
12+
- Pipewire DMA & EGL hardware support (Wayland/x11 grabber) #556 #556 (v20 beta 🆕)
13+
- Upgrade Fedora 38 to 39, Ubuntu 23.04 to 23.10 #667 (v20 beta 🆕)
14+
- Colorized logs #640 (v20 beta 🆕)
15+
- Fix macOS build #638 #671 #672 (v20 beta 🆕)
16+
- Update language file's. Thanks @AstaRom #617 (v20 beta 🆕)
17+
- Make bonjour use logging utilities. Thanks @nurikk #529 (v20 beta 🆕)
118
- New interface: removed ancient Font Awesome 4 (so 2017...) Migrate to SVG: Bootstrap Icons and Google Material Icons/Symbols #605 (v20 beta 🆕)
219
- New device discovery service #605 (v20 beta 🆕)
320
- Stability improvements & bug fixing #605 (v20 beta 🆕)

CMakeLists.txt

Lines changed: 77 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ SET ( DEFAULT_MQTT ON )
4141
SET ( DEFAULT_STATIC_QT_PLUGINS OFF )
4242
SET ( DEFAULT_PRECOMPILED_HEADERS ON )
4343
SET ( DEFAULT_XZ ON )
44+
SET ( DEFAULT_POWER_MANAGEMENT ON )
4445

4546
# Configure CCache if available
4647
find_program(CCACHE_FOUND ccache)
@@ -179,16 +180,23 @@ elseif ( "${PLATFORM}" MATCHES "rpi" )
179180
message(STATUS "Arm model info: ${ARM_MODEL}")
180181

181182
string(FIND "${ARM_MODEL}" "raspberry" IS_RASPBERRY)
182-
message(STATUS "Check if Raspberry Pi (0-yes): ${IS_RASPBERRY}")
183+
if(${IS_RASPBERRY} EQUAL -1)
184+
set (IS_RASPBERRY_PI OFF)
185+
else()
186+
set (IS_RASPBERRY_PI ON)
187+
endif()
188+
message(STATUS "Check if Raspberry Pi: ${IS_RASPBERRY_PI}")
183189
else()
184190
message(WARNING "Model info not exists. Assuming that it is Raspberry Pi")
185-
SET (IS_RASPBERRY 0)
191+
SET (IS_RASPBERRY_PI ON)
186192
endif()
187193

188-
if(${IS_RASPBERRY} EQUAL -1)
189-
message(STATUS "This is not Raspberry Pi. Default compiler settings.")
194+
if (IS_RASPBERRY_PI)
195+
message(STATUS "Platform variant: Raspberry Pi")
196+
SET ( DEFAULT_POWER_MANAGEMENT ON )
197+
SET ( DEFAULT_PIPEWIRE ON )
190198
else()
191-
message(STATUS "Default compiler settings for Raspberry Pi.")
199+
message(STATUS "Platform variant: generic ARM")
192200
endif()
193201

194202
elseif ( "${PLATFORM}" STREQUAL "amlogic" )
@@ -236,13 +244,19 @@ if (DEFAULT_FRAMEBUFFER)
236244
endif()
237245
endif()
238246

239-
if (DEFAULT_PIPEWIRE)
240-
find_package(Qt${Qt_VERSION} COMPONENTS DBus QUIET )
247+
find_package(Qt${Qt_VERSION} COMPONENTS DBus QUIET )
248+
249+
if (UNIX AND NOT APPLE AND NOT Qt${Qt_VERSION}DBus_FOUND AND DEFAULT_POWER_MANAGEMENT)
250+
message( WARNING "QT dbus library is required for Power Management support" )
251+
SET ( DEFAULT_POWER_MANAGEMENT OFF )
252+
endif()
253+
254+
if (DEFAULT_PIPEWIRE OR ENABLE_PIPEWIRE)
241255
if (NOT Qt${Qt_VERSION}DBus_FOUND)
242256
message( WARNING "QT dbus library is required for PipeWire/Portal support" )
243257
SET ( DEFAULT_PIPEWIRE OFF )
244258
else()
245-
259+
FIND_PACKAGE(PkgConfig REQUIRED)
246260
pkg_check_modules(PIPEWIRE libpipewire-0.3)
247261
if(NOT PIPEWIRE_FOUND OR NOT PIPEWIRE_INCLUDE_DIRS OR NOT PIPEWIRE_LIBRARIES)
248262
message( WARNING "Pipewire >= 3.0 not found (did you install libpipewire-0.3-dev?). Disabling support for PipeWire software grabber.")
@@ -271,10 +285,11 @@ elseif(DEFAULT_CEC)
271285
endif()
272286

273287
if(DEFAULT_CEC)
274-
IF ((NOT EXISTS "/opt/vc/lib" OR NOT EXISTS "/opt/vc/include") AND
275-
(NOT EXISTS "/usr/lib/arm-linux-gnueabihf/libvchostif.a" OR NOT EXISTS "/usr/include/vcinclude/vcore.h") AND
276-
(NOT EXISTS "/usr/lib/aarch64-linux-gnu/libbcm_host.so.0" OR NOT EXISTS "/usr/include/interface/vchiq_arm/vchiq_if.h"))
277-
message( WARNING "CEC Rpi mode support could be disabled. Could not find Rpi developers libs: arm32 > /opt/vc/lib,/opt/vc/include,/usr/lib/arm-linux-gnueabihf,/usr/include/vcinclude, aarch64 > /usr/lib/aarch64-linux-gnu/libbcm_host.so.0,/usr/include/interface/vchiq_arm/vchiq_if.h" )
288+
FIND_PACKAGE(PkgConfig REQUIRED)
289+
pkg_check_modules (CEC libcec>=6.0.0)
290+
if(NOT CEC_FOUND)
291+
message( WARNING "Could not find: libcec>=6. Disabling CEC support." )
292+
SET ( DEFAULT_CEC OFF )
278293
endif()
279294
endif()
280295

@@ -383,6 +398,9 @@ colorMe("ENABLE_CEC = " ${ENABLE_CEC})
383398
option(ENABLE_MQTT "Enable MQTT" ${DEFAULT_MQTT})
384399
colorMe("ENABLE_MQTT = " ${ENABLE_MQTT})
385400

401+
option(ENABLE_POWER_MANAGEMENT "Enable Power Management support" ${DEFAULT_POWER_MANAGEMENT})
402+
colorMe("ENABLE_POWER_MANAGEMENT = " ${ENABLE_POWER_MANAGEMENT})
403+
386404
option(ENABLE_PROTOBUF "Enable PROTOBUF" ${DEFAULT_PROTOBUF})
387405
colorMe("ENABLE_PROTOBUF = " ${ENABLE_PROTOBUF})
388406

@@ -439,7 +457,6 @@ file(MAKE_DIRECTORY ${LIBRARY_OUTPUT_PATH})
439457
file(MAKE_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
440458

441459
# Add the project include directory as additional include path
442-
include_directories(${CMAKE_SOURCE_DIR}/dependencies/include)
443460
include_directories(${CMAKE_SOURCE_DIR}/include)
444461

445462
# enable C++11; MSVC doesn't have c++11 feature switch
@@ -460,6 +477,13 @@ if(NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
460477
else()
461478
message(STATUS "No support for C++11 detected. Compilation will most likely fail on your compiler")
462479
endif()
480+
else()
481+
include(CheckCXXCompilerFlag)
482+
CHECK_CXX_COMPILER_FLAG("/std:c++20" COMPILER_SUPPORTS_CXX20)
483+
if (COMPILER_SUPPORTS_CXX20)
484+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++20")
485+
message(STATUS "Enabling MSVC support for c++20")
486+
endif()
463487
endif()
464488

465489
# Use GNU gold linker if available
@@ -523,51 +547,49 @@ endif()
523547
add_definitions(${QT_DEFINITIONS})
524548

525549
# libjpegturbo
526-
if ( ENABLE_V4L2 OR ENABLE_MF )
527-
if(WIN32)
528-
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/windows)
529-
file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/windows)
530-
endif()
550+
if(WIN32)
551+
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/external/windows)
552+
file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/external/windows)
553+
endif()
531554

532-
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/windows/libs4windows.zip OR
533-
NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/windows/libjpeg-turbo_x64-windows)
534-
message( STATUS "Downloading libraries for HyperHDR (Windows)")
535-
file(DOWNLOAD https://github.com/awawa-dev/HyperHDR.libs.provider/releases/download/2023.08.07/libs4windows.zip
536-
${CMAKE_CURRENT_SOURCE_DIR}/dependencies/windows/libs4windows.zip
537-
STATUS WIN_LIBS_DOWNLOAD_STATUS
538-
EXPECTED_HASH SHA256=2a0fc14eaad35d8cc36b262c8dcb501d1fac3a72d7bedcca51b71b60395c6c3f)
539-
list(GET WIN_LIBS_DOWNLOAD_STATUS 0 WIN_LIBS_DOWNLOAD_STATUS_CODE)
540-
if(WIN_LIBS_DOWNLOAD_STATUS_CODE AND NOT WIN_LIBS_DOWNLOAD_STATUS_CODE EQUAL 0)
541-
file( REMOVE ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/windows/libs4windows.zip )
542-
message( FATAL_ERROR "Could not download libraries needed by HyperHDR (Windows)")
543-
endif()
555+
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/external/windows/libs4windows.zip OR
556+
NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/external/windows/libjpeg-turbo_x64-windows)
557+
message( STATUS "Downloading libraries for HyperHDR (Windows)")
558+
file(DOWNLOAD https://github.com/awawa-dev/HyperHDR.libs.provider/releases/download/2023.08.07/libs4windows.zip
559+
${CMAKE_CURRENT_SOURCE_DIR}/external/windows/libs4windows.zip
560+
STATUS WIN_LIBS_DOWNLOAD_STATUS
561+
EXPECTED_HASH SHA256=2a0fc14eaad35d8cc36b262c8dcb501d1fac3a72d7bedcca51b71b60395c6c3f)
562+
list(GET WIN_LIBS_DOWNLOAD_STATUS 0 WIN_LIBS_DOWNLOAD_STATUS_CODE)
563+
if(WIN_LIBS_DOWNLOAD_STATUS_CODE AND NOT WIN_LIBS_DOWNLOAD_STATUS_CODE EQUAL 0)
564+
file( REMOVE ${CMAKE_CURRENT_SOURCE_DIR}/external/windows/libs4windows.zip )
565+
message( FATAL_ERROR "Could not download libraries needed by HyperHDR (Windows)")
544566
endif()
567+
endif()
545568

546-
execute_process(
547-
COMMAND ${SEVENZIP_BIN} x ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/windows/libs4windows.zip -o${CMAKE_CURRENT_SOURCE_DIR}/dependencies/windows/ -aoa -y
548-
RESULT_VARIABLE STATUS_EXTRACT
549-
OUTPUT_VARIABLE OUTPUT1
550-
)
551-
552-
if(STATUS_EXTRACT AND NOT STATUS_EXTRACT EQUAL 0)
553-
message( FATAL_ERROR "Could not extract libraries for HyperHDR (Windows)")
554-
else()
555-
message( STATUS "Package of libraries for HyperHDR extracted (Windows)")
556-
endif()
569+
execute_process(
570+
COMMAND ${SEVENZIP_BIN} x ${CMAKE_CURRENT_SOURCE_DIR}/external/windows/libs4windows.zip -o${CMAKE_CURRENT_SOURCE_DIR}/external/windows/ -aoa -y
571+
RESULT_VARIABLE STATUS_EXTRACT
572+
OUTPUT_VARIABLE OUTPUT1
573+
)
557574

558-
set (TURBOJPEG_FOUND 1)
559-
set (TURBOJPEG_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/windows/libjpeg-turbo_x64-windows/bin")
560-
set (TURBOJPEG_LINK_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/windows/libjpeg-turbo_x64-windows/lib/turbojpeg.lib")
561-
set (TURBOJPEG_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/windows/libjpeg-turbo_x64-windows/include")
575+
if(STATUS_EXTRACT AND NOT STATUS_EXTRACT EQUAL 0)
576+
message( FATAL_ERROR "Could not extract libraries for HyperHDR (Windows)")
562577
else()
563-
FIND_PACKAGE(PkgConfig REQUIRED)
564-
pkg_check_modules(TURBOJPEG REQUIRED libturbojpeg>=2.0)
565-
endif ()
578+
message( STATUS "Package of libraries for HyperHDR extracted (Windows)")
579+
endif()
580+
581+
set (TURBOJPEG_FOUND 1)
582+
set (TURBOJPEG_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/external/windows/libjpeg-turbo_x64-windows/bin")
583+
set (TURBOJPEG_LINK_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/external/windows/libjpeg-turbo_x64-windows/lib/turbojpeg.lib")
584+
set (TURBOJPEG_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/external/windows/libjpeg-turbo_x64-windows/include")
585+
else()
586+
FIND_PACKAGE(PkgConfig REQUIRED)
587+
pkg_check_modules(TURBOJPEG REQUIRED libturbojpeg>=2.0)
588+
endif ()
566589

567-
message( STATUS "TURBOJPEG_LIBRARY_DIRS=${TURBOJPEG_LIBRARY_DIRS}")
568-
message( STATUS "TURBOJPEG_LINK_LIBRARIES=${TURBOJPEG_LINK_LIBRARIES}")
569-
message( STATUS "TURBOJPEG_INCLUDE_DIRS=${TURBOJPEG_INCLUDE_DIRS}")
570-
endif()
590+
message( STATUS "TURBOJPEG_LIBRARY_DIRS=${TURBOJPEG_LIBRARY_DIRS}")
591+
message( STATUS "TURBOJPEG_LINK_LIBRARIES=${TURBOJPEG_LINK_LIBRARIES}")
592+
message( STATUS "TURBOJPEG_INCLUDE_DIRS=${TURBOJPEG_INCLUDE_DIRS}")
571593

572594
# Embedded QT plugins
573595
if (USE_STATIC_QT_PLUGINS)
@@ -589,7 +611,7 @@ if (USE_STATIC_QT_PLUGINS)
589611
endif()
590612

591613
# Add the source/lib directories
592-
add_subdirectory(dependencies)
614+
add_subdirectory(external)
593615
add_subdirectory(sources)
594616

595617
# Add resources directory
@@ -610,8 +632,8 @@ add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_D
610632
include (${CMAKE_CURRENT_SOURCE_DIR}/cmake/packages.cmake)
611633

612634
# external targets
613-
if (WIN32 AND TARGET precompiled_hyperhdr_headers AND TARGET apidoc AND TARGET flatbuffers AND TARGET flatc AND TARGET flathash AND TARGET mbedcrypto AND TARGET qmqtt AND TARGET liblzma)
614-
set_target_properties(precompiled_hyperhdr_headers qmqtt apidoc flatbuffers flatc flathash lib mbedcrypto mbedtls mbedx509 resources uninstall liblzma PROPERTIES FOLDER ExternalLibsTargets)
635+
if (WIN32 AND TARGET apidoc AND TARGET flatbuffers AND TARGET flatc AND TARGET mbedcrypto AND TARGET qmqtt AND TARGET liblzma)
636+
set_target_properties(qmqtt apidoc flatbuffers flatc lib mbedcrypto mbedtls mbedx509 resources uninstall liblzma PROPERTIES FOLDER ExternalLibsTargets)
615637
else()
616638
set_target_properties(resources uninstall PROPERTIES FOLDER ExternalLibsTargets)
617639
endif()

HyperhdrConfig.h.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@
7272
// Define to enable system mbedtls
7373
#cmakedefine USE_SYSTEM_MBEDTLS_LIBS
7474

75+
#cmakedefine ENABLE_POWER_MANAGEMENT
76+
7577
// the hyperhdr build id string
7678
#define HYPERHDR_BUILD_ID "${HYPERHDR_BUILD_ID}"
7779
#define HYPERHDR_GIT_REMOTE "${HYPERHDR_GIT_REMOTE}"

LICENSE

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2023 awawa-dev
4-
5-
Project homesite: https://github.com/awawa-dev/HyperHDR
3+
Copyright (c) 2020-2023 awawa-dev
64

75
Permission is hereby granted, free of charge, to any person obtaining a copy
86
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@ Open source ambient lighting implementation for television and music sets based
1313
* High portability on various ARM embedded platforms
1414
* Video post-processing filter to eliminate LED flickering
1515
* Modern interface using Bootstrap 5 and SVG icons
16-
* Support for USB grabbers under Linux, Windows 10, macOS (x64/M1)
1716
* Provides vital informations about your OS condition: CPU & RAM usage, CPU temperature, undervoltage detection, internal components performance including USB grabber and LED devices
17+
* Support for USB grabbers under Linux, Windows 10, macOS (x64/M1)
18+
* Pipewire/Portal hardware-accelerated screen capturer for Linux/Wayland
19+
* DirectX screen grabber with pixel and vertex shader processing acceleration for Windows 10/11
1820
* Dynamic video cache buffers. Now Rpi can process even 1080p120 NV12 stream without any size decimation
1921
* Built-in audio visualization effects using **spectrum analysis**
2022
* MQTT support for IoT

0 commit comments

Comments
 (0)