public WispPlugManager(IntPtr windowHandle) { StreamHandle = -1; wispPlugProvider = new WispPlugProvider(this); PluginMenus = new ObservableCollection <MenuItem>(); CurrentBPM = new BPMCounter(20, 44100); CurrentBPM.BPMHistorySize = 50; //bpm calculaion initialization // setting the BPM range (60-180 is a range most analog DJ Mixers do have) BPM_Avaliable = false; bpmTimer = new Timer(20); bpmTimer.Elapsed += async(sender, e) => await Task.Run(() => Bpm_tick(sender, e)); Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_DEFAULT, windowHandle); foreach (WispPlug temp in wispPlugProvider.PlugList) { temp.Init(); } }