diff --git a/mod/host.py b/mod/host.py index 1b67a49e..46a8fd51 100644 --- a/mod/host.py +++ b/mod/host.py @@ -3054,6 +3054,11 @@ def snapshot_save(self): name = self.pedalboard_snapshots[idx]['name'] snapshot = self.snapshot_make(name) self.pedalboard_snapshots[idx] = snapshot + + # Write snapshots to disk immediately so external tools can detect the change + if self.pedalboard_path: + self.save_state_snapshots(self.pedalboard_path) + return True def snapshot_saveas(self, name): diff --git a/mod/webserver.py b/mod/webserver.py index c6ca96b2..67e90785 100644 --- a/mod/webserver.py +++ b/mod/webserver.py @@ -1740,6 +1740,9 @@ def get(self): yield gen.Task(SESSION.host.hmi_report_ss_name_if_current, idx) + # Send WebSocket message to notify clients (e.g., pistomp) of the new snapshot + SESSION.host.msg_callback("pedal_snapshot %d %s" % (idx, title)) + self.write({ 'ok': idx is not None, 'id': idx,