Hi, I've been up to some work/play with latency calculation/compensation. Dividing and conquering has never been so rewarding! The graph I use is in $setup->{latency_graph}. It is the routing graph before inserts and loop devices are added. The latency values are in $setup->{track_latency}->{track_name} with the maximum for a group of siblings (predecessors of a single track) stored in $setup->{sibling_latency}->{track_name}. The code is in Latency.pm. I think you will find it somewhat easy, maybe even fun, to read. :-) I still need to add code to handle the different types of inserts (especially the JACK client case). I also need to write the code for compensating latency. The overall process will work like this: + remove existing latency compensation + generate and connect chain setup + calculate latency + compensate latency + regenerate chain setup + connect as usual One other note: While looking through the insert code, I see that only post-fader inserts can provide local effects hosting for situations where you need wet/dry control. Perhaps pre-fader inserts should support this also. Regards, Joel -- Joel Roth