Examples
All of these run as written with --loopback. Against a board, drop --loopback or pass --usb, and add --yes on destructive lines if you are not in a TTY.
--loopback is per process: chain steps with repl or --script, not separate shells.
Hello → list → pull / push
s32 --loopback hello
s32 --loopback listOne process for the transfer:
s32 --loopback repl
s32> pull internal 1 /tmp/p1.s32p
s32> push /tmp/p1.s32p
s32> active
s32> push /tmp/p1.s32p --activate
s32> activeEdit a CC macro
Each knob has four macros. Modes use names, not integers — see Macros.
s32> macro get 4 1
s32> macro set 4 1 mode=cc msb=74 channel=3
s32> macro get 4 1
s32> potname set 4 CutoffRoute a knob to a rack device parameter:
s32> macro set 4 0 mode=device rack=100 device=1000 param=bypass min=0 max=1Assign an LFO to the same ParameterId. param= follows target: ParameterId names for device, LFO names for target=lfo. Macro targets use pot= / macro= (0–31 / 0–3), not rack / device.
s32> lfo assign add 0 target=device rack=100 device=1000 param=bypass min=0 max=1
s32> lfo assign add 0 target=lfo targetLfo=1 param=amplitude min=0 max=1
s32> lfo assign add 0 target=macro pot=2 macro=1 min=0 max=1Add a device
s32> schema
s32> rack list
s32> device list 0
s32> device add 0 clock
s32> device param set 0 1 bypass 1
s32> device param get 0 1 bypassdevice add takes a type name (clock, midi-in, step-seq, …) or the numeric schema id. device param uses ParameterId (bypass is 0). On hardware, Clock’s division control is clock-division, not slot 1 (1 is MODE).
Screen PNG
s32> view nav racks
s32> screen png /tmp/oled.pngWatch pots
s32 --usb watch 8000Turn knobs on the hardware. The simulator has no physical pots; watch still prints events produced by earlier edits in the same process.