Skip to content

SoundFont instruments: a Pan macro, driven by CC 10 - #177

Merged
bdbarnett merged 1 commit into
mainfrom
soundfont/pan
Oct 17, 2026
Merged

bdbarnett merged 1 commit into
mainfrom
soundfont/pan

Conversation

@bdbarnett

Copy link
Copy Markdown
Contributor

soundfont and soundfont_drums gain a fifth macro, Pan (index 4): bipolar, 64 is centre, 0 hard left, 127 hard right.

It is an offset added to each region's own pan, clamped at the edges, so a stereo pair keeps its spread around the new centre. Moving it re-pans the voices already sounding (the engine ramps, so no click), new notes start there, and a program change puts it back to the patch's centre like the other macros. Control Change 10 on either instrument drives it, as Bank Select already reaches the melodic one.

Tests on the test bank measure the per-channel energy at left, centre and right, a ringing note moving, a stereo pair keeping its spread, and CC 10. The CHANGELOG's Unreleased section has the entry.

Pan is the fifth macro on soundfont and soundfont_drums, bipolar with the
centre detent at 64. It is an offset on each region's own pan, clamped to
the edges, so a stereo pair keeps its spread around the new centre. Moving
it re-pans the voices already sounding through the engine's ramp, and a
program change puts it back to the patch's centre like the other macros.
Control Change 10 on either instrument moves the macro, the way Bank Select
already reaches the player.

Tests on the tiny bank measure the energy per channel at the ends and the
centre, a ringing hat moving, a sibling bank's pair at +/-0.5 keeping its
spread, and CC 10; with the player ignoring the macro all four go red.
@bdbarnett
bdbarnett merged commit e6411d7 into main Oct 17, 2026
6 checks passed
@bdbarnett
bdbarnett deleted the soundfont/pan branch October 17, 2026 11:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant