Add adaptive brightness value source with time-of-day and scene modes
New "adaptive" value source type that automatically adjusts brightness based on external conditions. Two sub-modes: time-of-day (schedule-based interpolation with midnight wrap) and scene brightness (frame luminance analysis via numpy BT.601 subsampling with EMA smoothing). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -774,10 +774,11 @@
|
||||
"value_source.name.placeholder": "Brightness Pulse",
|
||||
"value_source.name.hint": "A descriptive name for this value source",
|
||||
"value_source.type": "Type:",
|
||||
"value_source.type.hint": "Static outputs a constant value. Animated cycles through a waveform. Audio reacts to sound input.",
|
||||
"value_source.type.hint": "Static outputs a constant value. Animated cycles through a waveform. Audio reacts to sound input. Adaptive adjusts based on time of day or scene brightness.",
|
||||
"value_source.type.static": "Static",
|
||||
"value_source.type.animated": "Animated",
|
||||
"value_source.type.audio": "Audio",
|
||||
"value_source.type.adaptive": "Adaptive",
|
||||
"value_source.value": "Value:",
|
||||
"value_source.value.hint": "Constant output value (0.0 = off, 1.0 = full brightness)",
|
||||
"value_source.waveform": "Waveform:",
|
||||
@@ -803,6 +804,25 @@
|
||||
"value_source.sensitivity.hint": "Gain multiplier for the audio signal (higher = more reactive)",
|
||||
"value_source.smoothing": "Smoothing:",
|
||||
"value_source.smoothing.hint": "Temporal smoothing (0 = instant response, 1 = very smooth/slow)",
|
||||
"value_source.adaptive_mode": "Adaptive Mode:",
|
||||
"value_source.adaptive_mode.hint": "Time of Day adjusts brightness on a daily schedule. Scene analyzes picture brightness in real time.",
|
||||
"value_source.adaptive_mode.time_of_day": "Time of Day",
|
||||
"value_source.adaptive_mode.scene": "Scene Brightness",
|
||||
"value_source.schedule": "Schedule:",
|
||||
"value_source.schedule.hint": "Define at least 2 time points. Brightness interpolates linearly between them, wrapping at midnight.",
|
||||
"value_source.schedule.add": "+ Add Point",
|
||||
"value_source.schedule.points": "points",
|
||||
"value_source.picture_source": "Picture Source:",
|
||||
"value_source.picture_source.hint": "The picture source whose frames will be analyzed for average brightness.",
|
||||
"value_source.scene_behavior": "Behavior:",
|
||||
"value_source.scene_behavior.hint": "Complement: dark scene = high brightness (ideal for ambient backlight). Match: bright scene = high brightness.",
|
||||
"value_source.scene_behavior.complement": "Complement (dark → bright)",
|
||||
"value_source.scene_behavior.match": "Match (bright → bright)",
|
||||
"value_source.adaptive_min_value": "Min Value:",
|
||||
"value_source.adaptive_min_value.hint": "Minimum output brightness",
|
||||
"value_source.adaptive_max_value": "Max Value:",
|
||||
"value_source.adaptive_max_value.hint": "Maximum output brightness",
|
||||
"value_source.error.schedule_min": "Schedule requires at least 2 time points",
|
||||
"value_source.description": "Description (optional):",
|
||||
"value_source.description.placeholder": "Describe this value source...",
|
||||
"value_source.description.hint": "Optional notes about this value source",
|
||||
|
||||
Reference in New Issue
Block a user