potatoslicer

Build Your Own Instrument Panels

A full-screen layout editor for repositioning, resizing, and restyling every control on every sound provider's panel. Changes save to versionable JSON.

A Dedicated Editing Mode

Click EDIT LAYOUT on any provider and the app switches into a full-screen editor. The real panel is rendered live in the middle; panels on either side expose every element you can move.

  • - Live preview of the instrument panel as it will appear in the app
  • - ELEMENTS list on the left — hierarchical tree of every control and sub-element
  • - PROPERTIES panel on the right — numeric x, y, width, font-size, visibility
  • - Size controls (W+/W-/H+/H-) resize the canvas in 10-pixel steps
  • - BORDERS toggle overlays dashed outlines to make layers easy to target
Layout editor full screen

Drag, Select, Group

Drag any element to reposition it. Box-select or shift-click to build a multi-selection, then use GROUP to link them — grouped elements move together on any future drag.

  • - Drag snaps to a 4-pixel grid for clean alignment
  • - Box-select empty space to gather elements by area
  • - Shift+click to toggle elements in and out of the selection
  • - GROUP/UNGROUP persists linkages into the layout file
  • - Shift+drag moves a grouped element together with its whole group
Multi-select and group

Every Sub-Element Is Addressable

Container sections like the preset browser, type selector, and action-button row expose every child — individual arrows, labels, displays, and buttons — so you can reflow them independently, not just shuffle them as a block.

  • - Buttons row: DEL, CANCEL, MUTE, SOLO, PREVIEW, SAVE — each movable
  • - Preset browser: category prev/display/next, name prev/display/next, LOAD, SAVE AS
  • - Type selector: label, < arrow, type display, > arrow
  • - Copy-from: label, < arrow, source display, > arrow, APPLY
  • - Sliders break down further into label, track, and value-text positions
Sub-element positioning

Fearless Editing

A 50-deep undo stack protects every drag and property change. RESET reloads the on-disk layout; CANCEL prompts before losing work; SAVE writes a clean, diff-friendly JSON file you can commit alongside your project.

  • - Ctrl+Z undoes any change — drag, resize, property edit, group, delete
  • - RESET reverts to the layout file on disk without leaving the editor
  • - CANCEL prompts SAVE/DISCARD/BACK when there are unsaved changes
  • - SAVE writes data/layouts/<provider>.json — human-readable JSON
  • - Live mtime watching: hand-edit the JSON and the app picks it up instantly
Save and undo

One Editor, Five Providers

Every synth engine ships with its own layout file — customize them independently.

🎛

Cadenza

Waveform-based synth. Arrange envelope and waveform controls however you like.

🎮

Famiwave

Stepped 8-bit pulse/tri/noise. Minimal panel, maximum flexibility in layout.

🌊

SuperGaussKit

Gaussian-interp synth with a rich parameter set — worth investing in a custom layout.

🌙

NightFM

4-op FM synthesis. The densest panel in the app — the editor makes it manageable.

🎤

WAV Sampler

Sample playback with loop modes. Lay out sampling controls for your workflow.

Reshape the Interface

The panel is yours — move every knob, slider, and button to where your fingers already are.