Skip to content

[WIP] Use git pull to update pedalboards#144

Closed
sastraxi wants to merge 8 commits into
TreeFallSound:pistomp-v3from
sastraxi:feat/sync-pedalboards
Closed

[WIP] Use git pull to update pedalboards#144
sastraxi wants to merge 8 commits into
TreeFallSound:pistomp-v3from
sastraxi:feat/sync-pedalboards

Conversation

@sastraxi

Copy link
Copy Markdown
Collaborator

Replaces the "Update sample pedalboards" flow (which ran a script that overwrote the sample pedalboards from a fixed remote) with "Sync pedalboards", which pulls/merges from a user-configured git remote. This config value lives in default_config.yml, e.g.

pedalboards: https://github.com/TreeFallSound/pi-stomp-pedalboards

Local edits are preserved across syncs, to the extent git allows it. Update status (including conflicts) show up on the LCD. This includes:

  • "Up to date"
  • "N update(s) applied"
  • "Sync aborted: conflicts" (with conflicting filenames listed)
  • "Sync failed: no network"
  • "Sync error — see logs: journalctl -u mod-ala-pi-stomp"
  • "Pedalboards cloned — restart sound engine to load" (first-time clone)
  • "Remote mismatch: local commits not on origin. Resolve via SSH then sync."

Persistent notification icon

A new orange alert icon appears on the LCD whenever the last sync attempt left a problem (conflicts, network error, remote mismatch, etc.) — so the user knows their pedalboards are out of sync without re-opening the menu. It clears automatically once a sync succeeds.

First-boot behavior

If ~/.pedalboards is missing/empty and a remote is configured, pi-stomp clones it automatically at startup rather than requiring the user to SSH in. This supplements the behaviour provided by pi-gen-pistomp et al.

@sastraxi sastraxi changed the title Use git pull to update pedalboards [WIP] Use git pull to update pedalboards May 27, 2026
@sastraxi sastraxi marked this pull request as draft May 27, 2026 04:09

@rreichenbach rreichenbach left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new Notice is a useful feature.

This isn't quite working as I would expect though. With a clean pi-Stomp install (no pedalboard changes), if I add to my config:
pedalboards: https://github.com/TreeFallSound/pi-stomp-pedalboards

I get the Remote Mismatch Notice.

If you make any changes, it would be helpful to contextualize the notification messages so that the user knows there are regarding Pedalboard syncing.

@sastraxi sastraxi force-pushed the feat/sync-pedalboards branch from 4f4431a to f72e17f Compare June 3, 2026 20:57
sastraxi and others added 2 commits June 3, 2026 16:58
… + reload_pedalboard

feat/sync-pedalboards drives MOD-UI change detection via a FileChangeMonitor on last.json and reload_pedalboard(bundle) to refresh plugin state from disk. feat/v1v2-emulator's EmulatorModhandler short-circuits to set_current_pedalboard(pedalboard) without invoking the reload pipeline.

Why: in the emulator, changing the bundle from MOD-Desktop must trigger the same reload-from-TTL path the device uses, or plugin state on the LCD goes stale.
How to apply: in emulator/modhandler.py wire FileChangeMonitor for last.json and route pedalboard_change() through reload_pedalboard(bundle) before set_current_pedalboard.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@sastraxi

sastraxi commented Jun 6, 2026

Copy link
Copy Markdown
Collaborator Author

I no longer believe this is the right approach. I think we need a larger design discussion around how updates work in general -- pedalboards, user files, LV2 plugins, pi-stomp and mod-ui versions.

@sastraxi sastraxi closed this Jun 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants