/// <summary> /// Clears the current <see cref="IChroma" /> instance, if necessary. /// </summary> /// <returns>An object representing the progress of this asynchronous task.</returns> private static async Task ClearCurrentAsync() { if (_instance == null) { return; } Log.Debug("Uninitializing current IChroma instance"); await _instance.UninitializeAsync().ConfigureAwait(false); }
public void UnInitialize() { if (!Initialized) { return; } if (_chroma == null) { SdkUnInit?.Invoke(this, new SdkUnInitEvent()); } else { _chroma.UninitializeAsync().ContinueWith(task => SdkUnInit?.Invoke(this, new SdkUnInitEvent())); } Initialized = false; }
private void Timer_Tick(object sender, EventArgs e) { if (!isDeviceInUse()) { if (chroma.Initialized) { chroma.UninitializeAsync(); } } else { if (!chroma.Initialized) { initChromaSkd(); updateKeyboardStatus(AudioController.DefaultCaptureDevice); } else { updateKeyboardStatus(AudioController.DefaultCaptureDevice); } } }