mirror of
https://github.com/storytold/soundcraft.git
synced 2026-11-03 08:50:21 -06:00
When the aux/folder routing has a cycle, processing_order sorted the auxes by a bounded feeder depth recomputed inside the sort key: each evaluation re-searched every aux's output and sends against a growing list of inputs, for up to eight hops, on every comparison. A session with many auxes sharing buses made that cubic during audio sync. Compute the same capped depth for every track at once: per hop, collect the buses written by auxes reached so far, then mark the tracks reading them. The result matches the old search (tested against it on a mixed graph with cycles) and the sort uses it by lookup.