private void SetLatencyFromDevice(NumericUpDown nud) { if (clsBASSOutDev.indAsio) { double rate = BassAsio.Rate; int latency = BassAsio.GetLatency(false); int ms = (int)(latency * 1000 / rate); if (ms <= 5) { ms = 0; //not worth using timer delay } nud.Value = ms; } else //non-ASIO { BassInfo info = new BassInfo(); if (Bass.GetInfo(out info)) { clsBASSOutDevNonAsio.BassInfo = info; } if (clsBASSOutDevNonAsio.BassInfo.Latency > 0) { nud.Value = clsBASSOutDevNonAsio.BassInfo.Latency; } } }