예제 #1
0
 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;
         }
     }
 }