Audio: chirp ACTUALLY killed -- 9 configure-ticker triggers, typed -1 pad (task #50)
The previous 'chirp killed' verification was WRONG: it checked the 1/s playing snapshot (which misses 0.12s pulses) instead of delivery counts -- the run had 186 ProgramButton deliveries. Corrected metric + trigcfg now prints its target component, revealing NINE thresh=-1 Start triggers on the configure-ticker sequence: ConfigureActivePress on Avionics + Myomers (backed real, -1) AND SEVEN more subsystems still on the inert pad (0 = "button 0 held" -> ticker on). Fix: a TYPED pad in the missing-attribute redirect -- ConfigureActivePress resolves to a shared static int = -1 (the authored none-held idle) instead of the zero pad; every other missing attr keeps the zero pad. Covers all configurable subsystems at once with no layout changes; self-clears per subsystem as each gets a real driven member. VERIFIED BY DELIVERY COUNT: ProgramButton01 deliveries = 0 (was 31-186/run); 7 attrs took the -1 pad; the rest of the soundscape intact (weapon cycles, loops, translocate). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
be626c71ce
commit
b8908b965e
@@ -118,10 +118,22 @@ AttributeWatcher::AttributeWatcher(
|
||||
if (attributePointer == NULL)
|
||||
{
|
||||
static char s_missingAttrPad[64] = {0};
|
||||
// TYPED pad: ConfigureActivePress is the held-configure-button INDEX whose
|
||||
// authored idle is -1 (none) -- NINE audio triggers gate the configure-mode
|
||||
// ticker on it with threshold -1 across the configurable subsystems. The
|
||||
// zero pad read as "button 0 held" and started the ticker at load (the
|
||||
// eternal 2.7/s chirp). Redirect this attribute to a -1 pad; others keep 0.
|
||||
static int s_configureIdlePad = -1;
|
||||
CString configure_name("ConfigureActivePress");
|
||||
if (attribute_name == configure_name)
|
||||
attributePointer = &s_configureIdlePad;
|
||||
else
|
||||
attributePointer = s_missingAttrPad;
|
||||
if (getenv("BT_AUDIO_LOG"))
|
||||
DEBUG_STREAM << "[attrnull] " << subsystem_name << "." << attribute_name
|
||||
<< " not reconstructed -> inert pad\n" << std::flush;
|
||||
attributePointer = s_missingAttrPad;
|
||||
<< " not reconstructed -> "
|
||||
<< (attributePointer == (void*)&s_configureIdlePad ? "-1 pad" : "inert pad")
|
||||
<< "\n" << std::flush;
|
||||
}
|
||||
|
||||
Check_Pointer(attributePointer);
|
||||
|
||||
Reference in New Issue
Block a user