2025nov03
todo before releases:
x add midi menu, auto connections using alsa-midi
x fix loading time on fluidbox
x check fpcli works
x update fpedit.pyw
x add/update docstrings
x copy prebuilt patchcord.so
x add examples API doc
x test on squishbox a bit
x release fluidpatcher?
x document route attributes for midirules
x push changes
x test saving
x re-release

x add squishbox scripts x glyphedit, x sbedit, amsynthbox, djbox
x test/update fpatcherbox against latest fluidpatcher
x sounds menu logic feels wrong
x prettier layer/sounds menus (scrolling under channel#)
x make context managers
x wrap fpatcherbox main loop in class
x wrap apply_patch with activitywheel in edit_sounds, self.apply_patch?
x add SquishBox.menu_scroll? later version maybe

- ttymidi install/setup, routing
- update install script
- add/update docstrings
- update documentation
- upload schematics, STLs
- backwards compatibility tests
- try it with pi clone(s)
- set up 3d printer
- write tests?

2025sep10
32bit and 64bit bookworm serial MIDI working:
  cmdline.txt: console=tty1 root=PARTUUID=c3ebbc92-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee80211_regdom=US
  config.txt:
    dtoverlay=midi-uart0
    dtoverlay=miniuart-bt
    enable_uart=1 # makes no difference
# console=tty1 is REQUIRED in cmdline.txt or you get garbage, and pyserial complains the port is in use

2025aug15
SquishBox P1 pinout
  1  5V
  2  3.3V
  3  GPIO4
  4  1k -> GND
  5  GPIO2 (I2C SDA)
  6  GPIO3 (I2C SCL)
  7  1k -> GND
  8  GPIO23
  9  GPIO24
  10 GPIO10
  11 GPIO25
  12 GPIO9
  13 GPIO11
  14 GND

BTN_L = 9; BTN_R = 11                            # pushbutton pins
LED_L = 4; LED_R = 23                            # led pins

squishbox shell:
  pick script to run (and whether to run it automatically)
  settings menu
    shutdown/reboot
    wifi
    lcd backlight/contrast
    midi connections
    alsamixer volume

other scripts:
  fluidpatcher classic
  fluidpatcher with layer control
  fluidpatcher basic (soundfont browser - maybe can create as a bank file instead?)
  audio player
  LCD fun - character browsing/creating
  text editor
  command shell