Skip to content

Commit 6347b4f

Browse files
committed
Merge remote-tracking branch 'origin/master' into temperture
2 parents 7700f3b + 733aa66 commit 6347b4f

File tree

119 files changed

+5781
-3236
lines changed

Some content is hidden

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

119 files changed

+5781
-3236
lines changed

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,15 @@ NULL
3939

4040
# Docker deploy folder
4141
deploy/*
42+
43+
# ccache/buildcache
44+
.*cache/
45+
46+
# release-deps/debug-deps
47+
*-deps/
48+
49+
# User defined CMake preset file.
50+
CMakeUserPresets.json
51+
52+
#Configurations created under config for testing
53+
/configs

.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.0.17-beta.1
1+
2.0.17-beta.2

.vs/launch.vs.json

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,42 @@
66
"type": "default",
77
"project": "CMakeLists.txt",
88
"projectTarget": "hyperiond.exe (bin\\hyperiond.exe)",
9-
"name": "Run hyperion with debug option and external console",
9+
"name": "Run Hyperion"
10+
},
11+
{
12+
"type": "default",
13+
"project": "CMakeLists.txt",
14+
"projectTarget": "hyperiond.exe (bin\\hyperiond.exe)",
15+
"name": "Run hyperion with debug logging and external console",
1016
"args": [
1117
"-d",
1218
"-c"
1319
],
1420
"externalConsole": true
21+
},
22+
{
23+
"type": "default",
24+
"project": "CMakeLists.txt",
25+
"projectTarget": "hyperiond.exe (bin\\hyperiond.exe)",
26+
"name": "Run hyperion with verbose logging with external console",
27+
"args": [
28+
"-v",
29+
"-c"
30+
],
31+
"externalConsole": true
32+
},
33+
{
34+
"type": "default",
35+
"project": "CMakeLists.txt",
36+
"projectTarget": "hyperiond.exe (bin\\hyperiond.exe)",
37+
"name": "Run hyperion with debug logging and a test configuration DB",
38+
"args": [
39+
"-d",
40+
"-c",
41+
"-u",
42+
"${workspaceRoot}\\configs\\testConfig"
43+
],
44+
"externalConsole": true
1545
}
1646
]
1747
}

CHANGELOG.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010

1111
**JSON-API**
1212
- Align JSON subscription update elements. `ledcolors-imagestream-update, ledcolors-ledstream-update, logmsg-update` now return data via `data` and not `result
13+
- Global global configuration elements are now separated form instance specific ones
1314

1415
### Added
1516

1617
- Support for ftdi chip based LED-devices with ws2812, sk6812 apa102 LED types (Many thanks to @nurikk) (#1746)
17-
- Support for Skydimo devices (being an Adalight variant)
18+
- Support for Skydimo devices
1819
- Support gaps on Matrix Layout (#1696)
1920
- Windows: Added a new grabber that uses the DXGI DDA (Desktop Duplication API). This has much better performance than the DX grabber as it does more of its work on the GPU.
2021

22+
- Support to import, export and backup Hyperion's full configuration via the UI, JSON-API and commandline (`--importConfig, --exportConfig`) (#804)
23+
- Allow to force starting Hyperion in read-only mode (`--readonlyMode`)
24+
- JSON-API: Support to query for a dedicated set of configuration items for a set of instances
25+
- JSON-API: Support to save a dedicated set of configuration items for a set of instances
26+
2127
**JSON-API**
2228
- New subscription support for event updates, i.e. `Suspend, Resume, Idle, idleResume, Restart, Quit`.
2329
- Support direct or multiple instance addressing via single requests (#809)
@@ -33,12 +39,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3339
- Fixed: Kodi Color Calibration, Refactor Wizards (#1674)
3440
- Fixed: Token Dialog not closing
3541
- Fixed: Philip Hue APIv2 support without Entertainment group defined (#1742)
42+
- Refactored: Database access layer
43+
- Refactored: Hyperion's configuration database is validated before start-up (and migrated, if required)
44+
- Refactored: Python to enable parallel effect processing under Python 3.12
45+
- Fixed: Python 3.12 crashes (#1747)
46+
- osX Grabber: Use ScreenCaptureKit under macOS 15 and above
3647

3748
**JSON-API**
3849
- Refactored JSON-API to ensure consistent authorization behaviour across sessions and single requests with token authorization.
3950
- Provide additional error details with API responses, esp. on JSON parsing, validation or token errors.
4051
- Generate random TANs for every API request from the Hyperion UI
4152
- Fixed: Handling of IP4 addresses wrapped in IPv6 for external network connections-
53+
- Fixed: Local Admin API Authentication rejects valid tokens (#1251)
4254

4355
### Removed
4456

CMakeLists.txt

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,10 @@ PROJECT(hyperion)
2020
include (${CMAKE_CURRENT_SOURCE_DIR}/cmake/version.cmake)
2121
file (STRINGS ".version" HYPERION_VERSION)
2222
SetVersionNumber(HYPERION ${HYPERION_VERSION})
23-
set(DEFAULT_JSON_CONFIG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/config/hyperion.config.json.default)
23+
set(DEFAULT_JSON_CONFIG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/settings/hyperion.settings.json.default)
2424
file(READ ${DEFAULT_JSON_CONFIG_FILE} DEFAULT_JSON_CONFIG_VAR)
2525
string(REPLACE "configVersionValue" ${HYPERION_VERSION} DEFAULT_JSON_CONFIG_VAR "${DEFAULT_JSON_CONFIG_VAR}")
26-
string(REPLACE "previousVersionValue" ${HYPERION_VERSION} DEFAULT_JSON_CONFIG_VAR "${DEFAULT_JSON_CONFIG_VAR}")
27-
file(WRITE ${CMAKE_BINARY_DIR}/config/hyperion.config.json.default "${DEFAULT_JSON_CONFIG_VAR}")
26+
file(WRITE ${CMAKE_BINARY_DIR}/settings/hyperion.settings.json.default "${DEFAULT_JSON_CONFIG_VAR}")
2827

2928
# Instruct CMake to run moc automatically when needed.
3029
set(CMAKE_AUTOMOC ON)
@@ -227,7 +226,7 @@ message(STATUS "HYPERION_LIGHT = ${HYPERION_LIGHT}")
227226

228227
if(HYPERION_LIGHT)
229228
message(STATUS "HYPERION_LIGHT: Hyperion is build with a reduced set of functionality.")
230-
# Disable Grabbers
229+
# Disable Screen/Video Grabbers
231230
SET ( DEFAULT_AMLOGIC OFF )
232231
SET ( DEFAULT_DISPMANX OFF )
233232
SET ( DEFAULT_DX OFF )
@@ -237,17 +236,20 @@ if(HYPERION_LIGHT)
237236
SET ( DEFAULT_OSX OFF )
238237
SET ( DEFAULT_QT OFF )
239238
SET ( DEFAULT_V4L2 OFF )
240-
SET ( DEFAULT_AUDIO OFF )
241239
SET ( DEFAULT_X11 OFF )
242240
SET ( DEFAULT_XCB OFF )
243241

242+
# Disable Audio Grabbers
243+
SET ( DEFAULT_AUDIO OFF )
244+
244245
# LED-Devices
245-
SET ( DEFAULT_DEV_NETWORK OFF )
246-
SET ( DEFAULT_DEV_SERIAL OFF )
247-
SET ( DEFAULT_DEV_SPI OFF )
248-
SET ( DEFAULT_DEV_TINKERFORGE OFF )
249-
SET ( DEFAULT_DEV_USB_HID OFF )
250-
SET ( DEFAULT_DEV_WS281XPWM OFF )
246+
#SET ( DEFAULT_DEV_NETWORK OFF )
247+
#SET ( DEFAULT_DEV_FTDI OFF )
248+
#SET ( DEFAULT_DEV_SERIAL OFF )
249+
#SET ( DEFAULT_DEV_SPI OFF )
250+
#SET ( DEFAULT_DEV_TINKERFORGE OFF )
251+
#SET ( DEFAULT_DEV_USB_HID OFF )
252+
#SET ( DEFAULT_DEV_WS281XPWM OFF )
251253

252254
# Disable Input Servers
253255
SET ( DEFAULT_BOBLIGHT_SERVER OFF )
@@ -260,13 +262,14 @@ if(HYPERION_LIGHT)
260262
SET ( DEFAULT_FLATBUF_CONNECT OFF )
261263

262264
# Disable Services
263-
SET ( DEFAULT_EXPERIMENTAL OFF )
264-
SET ( DEFAULT_MDNS ON )
265-
SET ( DEFAULT_REMOTE_CTL OFF )
266265
SET ( DEFAULT_EFFECTENGINE OFF )
266+
SET ( DEFAULT_EXPERIMENTAL OFF )
267+
#SET ( DEFAULT_MDNS OFF )
268+
SET ( DEFAULT_REMOTE_CTL OFF )
267269

270+
SET ( ENABLE_JSONCHECKS ON )
271+
SET ( ENABLE_DEPLOY_DEPENDENCIES ON )
268272
endif()
269-
270273
message(STATUS "Grabber options:")
271274

272275
addIndent(" - ")
@@ -441,7 +444,7 @@ endif()
441444
if(ENABLE_JSONCHECKS)
442445
# check all json files
443446
file (GLOB_RECURSE HYPERION_SCHEMAS RELATIVE ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/libsrc/*schema*.json)
444-
set(JSON_FILES ${CMAKE_BINARY_DIR}/config/hyperion.config.json.default ${HYPERION_SCHEMAS})
447+
set(JSON_FILES ${CMAKE_BINARY_DIR}/settings/hyperion.settings.json.default ${HYPERION_SCHEMAS})
445448

446449
execute_process (
447450
COMMAND ${PYTHON_EXECUTABLE} test/jsonchecks/checkjson.py ${JSON_FILES}
@@ -464,7 +467,7 @@ if(ENABLE_JSONCHECKS)
464467
endif()
465468

466469
execute_process (
467-
COMMAND ${PYTHON_EXECUTABLE} test/jsonchecks/checkschema.py ${CMAKE_BINARY_DIR}/config/hyperion.config.json.default libsrc/hyperion/hyperion.schema.json
470+
COMMAND ${PYTHON_EXECUTABLE} test/jsonchecks/checkschema.py ${CMAKE_BINARY_DIR}/settings/hyperion.settings.json.default libsrc/hyperion/schema/schema-settings-default.json
468471
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
469472
RESULT_VARIABLE CHECK_CONFIG_FAILED
470473
)

0 commit comments

Comments
 (0)