/// <summary> /// Check our EQ settings and MP states to determine if it is appropriate to show our EQ. /// </summary> /// <param name="EQSETTINGS"></param> /// <returns>True if it is appropriate to show our EQ, false otherwise.</returns> public static bool GetEQ(ref EQControl EQSETTINGS) public static bool GetEQ(ref EQControl EQSETTINGS) { SystemStatus MPStatus = new SystemStatus(); GetSystemStatus(ref MPStatus); bool extensiveLogging = Settings.Instance.ExtensiveLogging; bool flag2 = (EQSETTINGS.UseStereoEq | EQSETTINGS.UseVUmeter) | EQSETTINGS.UseVUmeter2; if (!MPStatus.UserIsIdle || g_Player.Player == null || !g_Player.IsMusic || !BassMusicPlayer.IsDefaultMusicPlayer) { return(false); } if (!EQSETTINGS.UseEqDisplay) { return(false); } if (EQSETTINGS._AudioUseASIO) { return(false); } try { if (g_Player.Paused) { return(false); } if (Bass == null) { Bass = BassMusicPlayer.Player; } if (EQSETTINGS.DelayEQ & (g_Player.CurrentPosition < EQSETTINGS._DelayEQTime)) { EQSETTINGS._EQDisplayTitle = false; EQSETTINGS._LastEQTitle = (DateTime.Now.Ticks / 1000); return(false); } if (EQSETTINGS.EQTitleDisplay) { if (g_Player.CurrentPosition < EQSETTINGS._EQTitleDisplayTime) { EQSETTINGS._EQDisplayTitle = false; } if (((DateTime.Now.Ticks / 1000) - EQSETTINGS._LastEQTitle) > (EQSETTINGS._EQTitleDisplayTime * 10000)) { EQSETTINGS._LastEQTitle = (DateTime.Now.Ticks / 1000); EQSETTINGS._EQDisplayTitle = !EQSETTINGS._EQDisplayTitle; } if (EQSETTINGS._EQDisplayTitle & (((DateTime.Now.Ticks / 1000) - EQSETTINGS._LastEQTitle) < (EQSETTINGS._EQTitleShowTime * 10000))) { return(false); } } } catch { EQSETTINGS._EQDisplayTitle = false; EQSETTINGS._LastEQTitle = (DateTime.Now.Ticks / 1000); return(false); } int handle = -1; try { handle = g_Player.Player.CurrentAudioStream; } catch (Exception exception) { Log.Debug("MiniDisplay.GetEQ(): Caugth exception obtaining audio stream: {0}", new object[] { exception }); return(false); } if ((handle != 0) & (handle != -1)) { int num2; if (extensiveLogging) { Log.Info("MiniDisplay.GetEQ(): attempting to retrieve equalizer data from audio stream {0}", new object[] { handle }); } try { int num3; if (flag2) { num3 = -2147483630; } else { num3 = -2147483646; } if (Bass.BASS_WASAPI_IsStarted()) { num2 = Bass.GetDataFFT(EQSETTINGS.EqFftData, num3); } else { num2 = Bass.GetChannelData(handle, EQSETTINGS.EqFftData, num3); } } catch (Exception exception) { if (extensiveLogging) { Log.Info("MiniDisplay.GetEQ(): CAUGHT Exception - audio stream {0} disappeared - {1}", new object[] { handle }, exception.Message); } return(false); } if (num2 > 0) { return(true); } if (extensiveLogging) { Log.Info("MiniDisplay.GetEQ(): unable to retreive equalizer data"); } return(false); } if (extensiveLogging) { Log.Info("MiniDisplay.GetEQ(): Audio Stream not available"); } return(false); }