Files
feedBack-desktop/tests/contracts/preload-audio-api.json
T
OmikronApexandClaude Fable 5 5ecf55cb0c feat(audio): wire lease registry into IPC — leases surface, demand glue, legacy telemetry
Phase A wiring (plan §6.8/§8/§9):
- lease-bridge.ts: holder identity derived from the IPC sender (compound
  identity — enforced wc id + attributed tag), webContents destroy →
  death invalidation, main-frame navigation → reload grace window,
  capture demand drives startAudio/stopAudio, detection demand drives
  setNoteDetectionEnabled.
- audio-bridge.ts: audio:leases:* channels; raw startAudio/stopAudio now
  resume/suspend demands (user authority, §8.3); raw detection disarm is
  ignored while a demand holder still needs it armed (fixes 6.3's
  last-disarmer-kills-concurrent-consumer); log-once legacy telemetry.
- preload: audio.leases.* (acquire/release/takeover/getHolder/
  acquireDemand/releaseDemand/snapshot/onEvent).
- contract snapshots regenerated deliberately (7 IPC channels, 1 preload key).
- tests: lease-bridge suite (9) incl. death matrix destroy/reload paths;
  _load-ts gains a .ts require hook for cross-module TS imports.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 22:13:16 +02:00

114 lines
2.4 KiB
JSON

{
"audio": [
"addSource",
"bindInputDevice",
"clearChain",
"clearStreamOutput",
"closePluginEditor",
"debugEnabled",
"detectNotes",
"getBackingDuration",
"getBackingLevel",
"getBackingPosition",
"getBufferSizes",
"getChainState",
"getCurrentDevice",
"getDeviceMetrics",
"getDeviceTypes",
"getKnownPlugins",
"getLevels",
"getNoteVerdicts",
"getParameters",
"getPitchDetection",
"getRawAudioFrame",
"getRawPitch",
"getRendererBusMetrics",
"getSampleRate",
"getSampleRates",
"getSourceLevels",
"getSourceNoteVerdicts",
"getSourcePitchDetection",
"getSourceRawAudioFrame",
"getSourceRawPitch",
"getStreamOverflowCount",
"getStreamSinkLevel",
"getStreamUnderflowCount",
"isAudioRunning",
"isAvailable",
"isBackingPlaying",
"isMlNoteDetection",
"isMonitorMuted",
"isStreamOutputActive",
"leases",
"listInputDevices",
"listSources",
"loadBackingTrack",
"loadDeviceSettings",
"loadIR",
"loadNAMModel",
"loadPluginList",
"loadPreset",
"loadVST",
"moveProcessor",
"openPluginEditor",
"probeDeviceOptions",
"pushRendererAudio",
"removeProcessor",
"removeSource",
"replaceIR",
"resetPeaks",
"saveDeviceSettings",
"savePluginList",
"savePreset",
"scanPlugins",
"scoreChord",
"scoreSourceChord",
"seekBacking",
"sendMidiToSlot",
"setBackingSpeed",
"setBranch",
"setBranchSrc",
"setBypass",
"setChart",
"setDevice",
"setDeviceType",
"setGain",
"setInputChannel",
"setMonitorKill",
"setMonitorMute",
"setMonitorMuteSuppressed",
"setMultiBypass",
"setNoiseGate",
"setNoteDetectionEnabled",
"setOutputDeviceType",
"setPageMuted",
"setPan",
"setParameter",
"setPostGain",
"setRendererBus",
"setSlotState",
"setSourceChart",
"setSourceInputChannel",
"setSourceMonitorMute",
"setSourceVerifierOffset",
"setStreamBus",
"setStreamBusGain",
"setStreamOutputDevice",
"setTonePolish",
"startAudio",
"startBacking",
"stopAudio",
"stopBacking",
"unbindInputDevice"
],
"audioEffects": [
"activateSegment",
"inspectRoute",
"loadChainPlan",
"releaseRoute",
"setRouteGain",
"setStageBypass",
"setStageParameter"
]
}