Repository navigation
Make each modular module glow with its own signal (t-149) - #121
Merged
Merged
Conversation
…ck from it (t-149) The 900 engine now reports, 25 times a second, each 921's wave and pitch, each 911's level and each 902's gain (MoogMeters), carried on the meter message as `moog`. The routing gives each 921/911/902 block a meter for its own slot, read off its output jack's signal name since slots are numbered in build order. routingActivity() lights the block from it with the wave / blur rules, a 902 never brighter than the output it carries; with no reading yet it falls back to the output's level as before. The full set is 23 numbers in reused arrays, so it is reported whole rather than filtered to the patched modules. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eading (t-149) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…149) Review round 1: a 902's gain says how much it would let through, not that anything reaches it, so off the audio line a 902 at a fixed 6 V glowed full with silent inputs. Off the line it now falls back to the brightest live line into it, as a pass-through block does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
On a System 15, 35 or 55 the routing view lit the whole patched line with the output's level (t-148), so three oscillators at different pitches, or two envelopes on different contours, all glowed alike. Now each module glows with its own signal:
moog-core.tsgainsmeters(), which reports every slot: each 921/921B's wave (its sine, −1..1) and pitch, each 911's level (0..1 of its +6 V peak) and each 902's gain. It reports in place into the same reused arrays, so the meter message makes no garbage.dsp-core.tscarries it on the meter message asmoog, and it flows throughtoStoresandMetersto the routing view.moog900Routing()gives each 921, 911 and 902 block aModuleMeter(vco:3,env:2,amp:1). The slot is read off the module's output jack signal (v3sin,e2,a1p), because slots are numbered in build order, not by the module's own number.routingActivity()lights such a block from its own slot using the existing wave/blur rules. A 921 at LO pulses with its own wave, and at audio pitch it glows steadily at the output's level. A 911 follows its envelope. A 902 on the audio line follows its gain, bounded by the output. Until the engine reports, a module falls back to the t-148 rule.Why this shape
Deliberately not done
Checks
moog-core.test.ts: two 921Bs at about 1 Hz and 2 Hz report different waves and pitches; two 911s on different attacks report different levels; a 902's gain is reported; an unused slot reads 0.routing-activity.test.ts: two patched LO oscillators glow differently, as do two envelopes; plus the 902 rules. These fail with the routing-activity change reverted (checked). The wired synths' tests are unchanged.dsp-core.test.ts: the meter message carriesmoog.npm run build:audio-workerswas run. The bundle is gitignored (public/worklets/), so there is nothing to commit.Not yet checked by eye. That is the owner's check, batched with the others.
🤖 Generated with Claude Code