fix: move NAM block size sync before JACK client restart

The profile change handler was calling nam_host.set_block_size() AFTER
jack_client.start(), creating a race where the JACK callback fired with
the new buffer size while the old NAM subprocess was still running at
the old block_size. Pipe byte counts desynced => NAM returned passthrough.

+ also: auto_connect disable during restart, connect_fx_ports reorder,
  Tone3000 gear/sort/pagination params, NAM engine switch API endpoints
This commit is contained in:
2026-06-17 17:09:38 -04:00
parent 1b2747abb1
commit 6008776e3c
12 changed files with 646 additions and 190 deletions
+3 -3
View File
@@ -21,7 +21,7 @@ from typing import Optional
import numpy as np
from scipy.signal import lfilter
from .nam_engine_host import FastNAMHost
from .nam_router import NAMEngineRouter
from .ir_loader import IRLoader, IRFile
from ..presets.types import FXBlock, FXType, Preset
@@ -302,10 +302,10 @@ class AudioPipeline:
def __init__(
self,
nam_host: Optional[FastNAMHost] = None,
nam_host: Optional[NAMEngineRouter] = None,
ir_loader: Optional[IRLoader] = None,
):
self.nam = nam_host or FastNAMHost()
self.nam = nam_host or NAMEngineRouter()
self.ir = ir_loader or IRLoader()
# Signal chain — list of (FXType, enabled, bypass, params)