SEM family: import one sound from another patch file #16

Open
opened 2026-10-12 02:46:03 +00:00 by bcox · 0 comments
Owner

A mini-SEM patch holds eight sounds, each a whole SEM's settings, and a patch file holds all eight. There is no way to take one sound out of another stored patch and put it into the patch that is playing: load replaces everything. CLAUDE.md has listed this as wanted later since the sounds were added.

Wanted: sound N of a stored patch copied into sound M of the playing patch, leaving the rest alone.

Things to settle:

  • Where it is done. A patch is asked for by a plain name and never a path, and only the daemon reads the patch directory (platform/patch_store.h), so the daemon has to do the reading. That means a new request in protocol/protocol.h, and its opening comment kept in step.
  • What the request looks like, and that the daemon answers with param lines for what changed, as a load does, so that every client stays right.
  • What comes with a sound. Its own parameters, s2. and so on, plainly. Not which voices play it, nor anything of the whole instrument's.
  • How the page offers it. Each sound already has a block of its own there.
  • Whether it is the SEM family's alone. Any later instrument whose patch holds several sounds (#15) would want the same, so the copying belongs with the shared code and the list of a sound's parameters with the instrument.

Related: #13, more than eight sounds.

A mini-SEM patch holds eight sounds, each a whole SEM's settings, and a patch file holds all eight. There is no way to take one sound out of another stored patch and put it into the patch that is playing: `load` replaces everything. CLAUDE.md has listed this as wanted later since the sounds were added. Wanted: sound N of a stored patch copied into sound M of the playing patch, leaving the rest alone. Things to settle: - **Where it is done.** A patch is asked for by a plain name and never a path, and only the daemon reads the patch directory (`platform/patch_store.h`), so the daemon has to do the reading. That means a new request in `protocol/protocol.h`, and its opening comment kept in step. - **What the request looks like**, and that the daemon answers with `param` lines for what changed, as a `load` does, so that every client stays right. - **What comes with a sound.** Its own parameters, `s2.` and so on, plainly. Not which voices play it, nor anything of the whole instrument's. - **How the page offers it.** Each sound already has a block of its own there. - **Whether it is the SEM family's alone.** Any later instrument whose patch holds several sounds (#15) would want the same, so the copying belongs with the shared code and the list of a sound's parameters with the instrument. Related: #13, more than eight sounds.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bcox/mini-800#16
No description provided.