Complete Usage Guide β A web-based configuration editor for the Faderfox UC4 MIDI controller
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β 1. Open editor β Factory defaults load automatically β β 2. Select Setup 1-18 β Pick which setup to edit β β 3. Edit in Focused β Change individual parameters β β 4. Check in Overview β See all 64 controls at once β β 5. Export .syx β Send to UC4 via MIDI β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
That's it! The editor auto-loads factory defaults so you can start immediately.
| Button | What It Does |
|---|---|
| Import SysEx | Load a .syx dump from your UC4 |
| Export SysEx | Save changes as .syx to send back to UC4 |
| Import JSON | Load a human-readable JSON backup |
| Export JSON | Save human-readable JSON (great for git!) |
| βΆ Undo | Reverse your last change |
| β· Redo | Replay an undone change |
| Manage Setups | Open Setup Manager for bulk operations |
| Element | What It Does |
|---|---|
| Setup [βΎ] | Choose which of the 18 setups to edit |
| π Link | Sync encoder and fader groups together |
| Encoder Grp [1-8] | Select group for encoders + push buttons |
| Fader/Btn [1-8] | Select group for faders + green buttons |
| GrP1 | Shows the 4-character group name from UC4 |
| Focused / Overview | Toggle between edit modes |
| Indicator | Meaning |
|---|---|
| β Modified | You have unsaved changes |
| β (outline) | Data matches last saved state |
| 100,640 bytes | Valid UC4 dump is loaded |
The native format for UC4 data.
Import:
Export:
Human-readable format, great for backups and version control.
Import:
Export and import individual setups via the Setup Manager.
Export Single Setup:
Import to Slot:
The UC4 has two independent group selectors:
ENCODER DOMAIN (Shift + Encoder 1-8) βββ 8 Encoders βββ 8 Push Buttons FADER/BUTTON DOMAIN (Shift + Green 1-8) βββ 8 Faders (1-8) βββ 8 Green Buttons βββ Fader 9
You can be on Encoder Group 3 while Fader Group 7 is active. They're independent!
Enabled (π checked):
Disabled:
The default editing mode, showing one group at a time with full parameter access.
| Example | Tooltip |
|---|---|
| Hover over Chan | "MIDI channel (1-16). Controls which channel receives messages." |
| Hover over CCr1 option | "Relative mode 1. Sends 1 for clockwise, 127 for counter-clockwise. Best for Ableton, Bitwig." |
| Hover over Acc | "Acceleration sensitivity. Higher values = faster response to quick turns." |
Encoder:
| Param | Range | Description |
|---|---|---|
| Chan | 1-16 | MIDI channel |
| CC | 0-127 | Controller number |
| Type | CCr1/CCr2/CCAb/PrGC/CCAh/Pbnd/AFtt | Message type |
| Acc | 0-4 | Acceleration sensitivity |
| Disp | 0-4 | Display mode on UC4 |
| Min | 0-127 | Minimum output value |
| Max | 0-127 | Maximum output value |
Push/Green Button:
| Param | Range | Description |
|---|---|---|
| Chan | 1-16 | MIDI channel |
| Type | Note/CC/PrGC/AFtt/Off | Message type |
| Note/CC | 0-127 | Note or CC number |
| Lower | 0-127 | Value on release |
| Upper | 0-127 | Value on press |
| Mode | Momentary/Toggle/Step | Button behavior |
Fader:
| Param | Range | Description |
|---|---|---|
| Chan | 1-16 | MIDI channel |
| CC | 0-127 | Controller number |
| Type | CCAb/PrGC/Pbnd/AFtt | Message type |
| Min | 0-127 | Value at bottom |
| Max | 0-127 | Value at top |
Grid view showing all controls across all 8 groups simultaneously.
| Tab | What It Shows |
|---|---|
| All | All control types stacked vertically |
| Encoders | 8Γ8 grid of encoders only |
| Push | 8Γ8 grid of push buttons |
| Green | 8Γ8 grid of green buttons |
| Faders | 8Γ8 fader grid + fader9 row |
Each cell shows: Channel:Type CC#
| Display | Meaning |
|---|---|
1:CC 64 | Channel 1, CC, number 64 |
2:Nt 60 | Channel 2, Note, number 60 |
3:PC 0 | Channel 3, Program Change, number 0 |
1:PB -- | Channel 1, Pitch Bend |
1:AT -- | Channel 1, Aftertouch |
| Action | Result |
|---|---|
| Single-click | Select cell (green outline) |
| Double-click | Jump to Focused view |
| Right-click | Context menu + select |
| Hover (in Quick Paste) | Preview paste target |
The fastest way to copy/paste in Overview mode. Press Q to activate.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β Mode [Off][Copy][Paste] Scope [Cell][Column][Row] β β Source: Enc G1.1 Ch [+1βΎ] CC [0βΎ] [Clear Source] β β Status: Click to paste β’ 3 pasted β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The multipliers apply offsets based on the group difference between source and target.
Formula: offset = (targetGroup - sourceGroup) Γ multiplier
Example with Ch=+1, CC=0:
| Source | Target | Group Diff | Channel Offset |
|---|---|---|---|
| G1 | G2 | 1 | +1 |
| G1 | G3 | 2 | +2 |
| G1 | G5 | 4 | +4 |
So copying from G1 Ch1 to G3 with Ch=+1 results in Ch3.
| Scope | What's Copied | What's Pasted |
|---|---|---|
| Cell | One control | One control |
| Column | All 8 controls in group | All 8 controls in target group |
| Row | One control from all 8 groups | Same row across 8 groups |
| Key | Action |
|---|---|
| Q | Toggle Quick Paste on/off |
| 1 | Cell scope |
| 2 | Column scope |
| 3 | Row scope |
Manage entire setups: label, copy, swap, clear, reset, export, import.
Click [Manage Setups] in the header.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β Setup Manager [Γ] β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β 1: Synth 2: Drums 3: (factory) 4: FX β β 5 6: Keys 7 8 β β 9 10 11 12 β β 13 14 15 16 β β 17: Ableton 18: Ableton β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β [Label] [Clear] [Copy] [Swap] [Reset] [Export] [Import] β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Button | Requires | Action |
|---|---|---|
| Label | 1 setup | Assign a name (stored in browser, not SysEx) |
| Clear | 1+ setups | Zero out all parameters |
| Copy | 1 setup | Duplicate to other slot(s) |
| Swap | 2 setups | Exchange two setups |
| Reset | 1+ setups | Restore factory defaults |
| Export | 1 setup | Save as single-setup JSON |
| Import | β | Load single-setup JSON to a slot |
Labels are stored in your browser (localStorage), not in the SysEx file. They appear in:
Automatically finds MIDI assignment conflicts.
| Type | Description | Severity |
|---|---|---|
| Concurrent | Same message from controls active at the same time | β οΈ Fix these! |
| Mutually-Exclusive | Same message in different groups | Usually OK |
Concurrent conflicts happen when two controls in the same active domain send identical messages. Examples:
Mutually-exclusive conflicts happen across different groupsβonly one can be active at a time, so usually intentional.
[β Concurrent (3)] [β‘ Mutually-Exclusive (12)]
Click to show/hide each conflict type in the grid.
Right-click in Overview mode for advanced copy/paste operations.
| Menu Item | What's Copied |
|---|---|
| Copy Control | Single cell (one control) |
| Copy Row | Same control index across all 8 groups |
| Copy Column | All controls in one group |
Opens a dialog with transform options:
| Option | Range | Description |
|---|---|---|
| Channel offset | -15 to +15 | Shift MIDI channel |
| CC/Number offset | -127 to +127 | Shift CC or note number |
| Auto-increment | Any integer | Add sequential offset per target |
| Wrap mode | Clamp / Wrap | Out-of-range behavior |
Full edit history with intelligent coalescing.
Rapid edits to the same parameter (within 1 second) are combined into one undo step. This means dragging a slider doesn't create 50 undo entries.
| Action | Windows/Linux | Mac |
|---|---|---|
| Undo | Ctrl+Z | Cmd+Z |
| Redo | Ctrl+Shift+Z | Cmd+Shift+Z |
| Redo (alt) | Ctrl+Y | β |
Auto-saves your work to browser storage.
| Key | Action |
|---|---|
| Ctrl+Z | Undo |
| Ctrl+Shift+Z | Redo |
| Ctrl+Y | Redo (alternate) |
| Key | Action |
|---|---|
| ββββ | Move selection |
| Enter | Jump to Focused view for selected cell |
| Tab | Move right |
| Shift+Tab | Move left |
| Escape | Clear selection |
| Ctrl+C | Copy selected control |
| Ctrl+V | Paste to selected |
| Key | Action |
|---|---|
| Q | Toggle Quick Paste mode |
| 1 | Cell scope |
| 2 | Column scope |
| 3 | Row scope |
Goal: Group 1 = Channel 1, Group 2 = Channel 2, etc.
Method (Quick Paste):
Time: ~2 minutes for complete setup
Goal: Encoder 1 in all groups = CC1, CC2, CC3...CC8
Method (Context Menu):
Result: G1=CC1, G2=CC2, G3=CC3...
Cause: The file isn't a complete UC4 dump.
Fix: Use "Send All Setups" from UC4, not single-setup dump.
Checklist:
This is normal for factory defaults!
Factory config uses identical settings across groups intentionally.
Use filter chips to show only Concurrent conflicts.
| Type | Description |
|---|---|
| CCr1 | Relative mode 1 (1/127). Best for Ableton, Bitwig. |
| CCr2 | Relative mode 2 (65/63). Alternative relative format. |
| CCAb | Absolute 7-bit CC. Standard 0-127 range. |
| PrGC | Program Change. Turn to increment/decrement. |
| CCAh | High-resolution 14-bit CC. Uses CC and CC+32. |
| Pbnd | Pitch Bend. Full -8192 to +8191 range. |
| AFtt | Channel Aftertouch. |
| Type | Description |
|---|---|
| Note | Standard MIDI note on/off. |
| CC | Control Change message. |
| PrGC | Program Change on press. |
| AFtt | Channel Aftertouch. |
| Off | Button disabled. |
| Mode | Description |
|---|---|
| Momentary | Upper on press, Lower on release. |
| Toggle | Alternates between Upper and Lower. |
| Step | Increments through range. |
| Type | Description |
|---|---|
| CCAb | Absolute CC. Standard fader mode. |
| PrGC | Program Change across range. |
| Pbnd | Pitch Bend. |
| AFtt | Channel Aftertouch. |