What
Every memory in a MEMORY*.RC0 carries eight <ASSIGN1..8> blocks, each with the
same six fields:
<ASSIGN1>
<Sw>0</Sw>
<Source>0</Source>
<SourceMode>0</SourceMode>
<Target>0</Target>
<TargetMin>0</TargetMin>
<TargetMax>1</TargetMax>
</ASSIGN1>
This is the pedal's MIDI control surface: the RC series has no fixed CC
implementation chart at all — a player maps a CC number to a function through
ASSIGN 1-8, with CC#1-31 and 64-95 assignable and a source mode of MOMENT or
TOGGLE. Editing that on the hardware means a menu inside a menu, eight slots deep,
repeated per memory. It is exactly the kind of thing a companion app should own.
LooperCat touches these blocks nowhere today: a grep over core/, app/ and
fixtures/ finds no reference to ASSIGN.
State of knowledge
Confirmed by reading a real card: the block layout and field names above, and that
the eight blocks exist per memory for all 99 memories.
Not yet known, and needed before any editor:
- Whether the RC-5 carries the same eight blocks. No RC-5
RC0 sample is checked
into this repo, and fixtures/golden.json records only TRACK1 / MASTER / RHYTHM.
This is the first question to settle, since the RC-5 is the pedal we support.
- The enum maps behind
Source and Target — which integer means which CC number
and which means which function. The vendor Parameter Guide documents the target
list in prose; the numeric encoding has to be pinned against hardware.
- Whether
TargetMin / TargetMax are raw parameter values or an index into the
target's own range.
Research plan
- Dump a memory pair, change one assignment on the pedal, dump again, diff. The
same differential method that pinned the Count-In triple — it yields exact
values rather than an interpretation of documentation.
- Repeat per field until
Source and Target are mapped, recording each value
with the capture that proves it.
- Only then design the editor. As with the memory editor, usecase-first: the
assignments a player actually wants ("a footswitch that starts the rhythm")
before an eight-row grid of raw enums.
Notes
Related to #23 (can the pedal be told to save a loop over MIDI) — same MIDI tier,
different question: #23 is about commanding the pedal live, this is about the
assignments stored on the card.
What
Every memory in a
MEMORY*.RC0carries eight<ASSIGN1..8>blocks, each with thesame six fields:
This is the pedal's MIDI control surface: the RC series has no fixed CC
implementation chart at all — a player maps a CC number to a function through
ASSIGN 1-8, with CC#1-31 and 64-95 assignable and a source mode of MOMENT or
TOGGLE. Editing that on the hardware means a menu inside a menu, eight slots deep,
repeated per memory. It is exactly the kind of thing a companion app should own.
LooperCat touches these blocks nowhere today: a grep over
core/,app/andfixtures/finds no reference to ASSIGN.State of knowledge
Confirmed by reading a real card: the block layout and field names above, and that
the eight blocks exist per memory for all 99 memories.
Not yet known, and needed before any editor:
RC0sample is checkedinto this repo, and
fixtures/golden.jsonrecords only TRACK1 / MASTER / RHYTHM.This is the first question to settle, since the RC-5 is the pedal we support.
SourceandTarget— which integer means which CC numberand which means which function. The vendor Parameter Guide documents the target
list in prose; the numeric encoding has to be pinned against hardware.
TargetMin/TargetMaxare raw parameter values or an index into thetarget's own range.
Research plan
same differential method that pinned the Count-In triple — it yields exact
values rather than an interpretation of documentation.
SourceandTargetare mapped, recording each valuewith the capture that proves it.
assignments a player actually wants ("a footswitch that starts the rhythm")
before an eight-row grid of raw enums.
Notes
Related to #23 (can the pedal be told to save a loop over MIDI) — same MIDI tier,
different question: #23 is about commanding the pedal live, this is about the
assignments stored on the card.