private static void PrintAudioFrequencies(AbstractReactiveAnimation CurrentAnimation) { int availableWidth = (Processing_Limit_Display ? Processing_Limited_Display_Width : Console.WindowWidth); // Limit the maximum output according to whether or not limited display width is requested int calculatedBarWidth = (int)(availableWidth / 3) - 2; if (calculatedBarWidth < 10) return; // Divided by the number of meter bars displayed Console.WriteLine (MathUtilities.GenerateMeterBar (CurrentAnimation.Audio_Low_Intensity, 0, 1, calculatedBarWidth, true) + " " + MathUtilities.GenerateMeterBar (CurrentAnimation.Audio_Mid_Intensity, 0, 1, calculatedBarWidth, true) + " " + MathUtilities.GenerateMeterBar (CurrentAnimation.Audio_High_Intensity, 0, 1, calculatedBarWidth, true) ); }
private static void PrintAudioVariables(AbstractReactiveAnimation CurrentAnimation) { int availableWidth = (Processing_Limit_Display ? Processing_Limited_Display_Width : Console.WindowWidth); // Limit the maximum output according to whether or not limited display width is requested int calculatedBarWidth = (int)(availableWidth / 4) - 2; if (calculatedBarWidth < 10) return; // Divided by the number of meter bars displayed Console.WriteLine (MathUtilities.GenerateMeterBar (CurrentAnimation.Audio_Realtime_Intensity, 0, 1, calculatedBarWidth, true) + " " + MathUtilities.GenerateMeterBar (CurrentAnimation.Audio_Delta_Intensity, -1, 1, calculatedBarWidth, true) + " " + MathUtilities.GenerateMeterBar (MathUtilities.ConvertRange (CurrentAnimation.Audio_Frequency_Distribution_Percentage, 0, 1, -1, 1), -1, 1, calculatedBarWidth, true) + " " + MathUtilities.GenerateMeterBar (CurrentAnimation.Audio_Delta_Frequency_Distribution_Percentage, -1, 1, calculatedBarWidth, true) ); }
/// <summary> /// If requested, prints information about audio processing to the console /// </summary> /// <param name="CurrentAnimation">Current abstract animation to retrieve audio information from.</param> public static void PrintAudioInformationToConsole(AbstractReactiveAnimation CurrentAnimation) { string VU_Intensity_Delta_Sign = " "; if (CurrentAnimation.Audio_Delta_Intensity < 0) { VU_Intensity_Delta_Sign = "-"; } if (Processing_Show_Analysis) { try { Console.SetCursorPosition (0, 0); } catch (ArgumentOutOfRangeException) { // Stupid Mono System.Console bug... } string animationType = CurrentAnimation.GetType ().Name.Replace ("ReactiveAnimation", "").Trim (); if (animationType == "") { animationType = "Unknown"; } if (CurrentAnimation is LegacyReactiveAnimation) { animationType = String.Format ("Legacy: {0}", (CurrentAnimation as LegacyReactiveAnimation).VU_Selected_Mode.ToString ()); } Console.WriteLine ("--------------------- [{0}] Channels: {1} ------------------------", animationType, CurrentAnimation.AudioProcessedSnapshot.Count); Console.WriteLine ("Intensity: " + Math.Round (CurrentAnimation.Audio_Realtime_Intensity, 3).ToString ().PadRight (5) + " (avg: " + Math.Round (CurrentAnimation.Audio_Average_Intensity, 3).ToString ().PadRight (5) + ", delta: " + VU_Intensity_Delta_Sign + Math.Abs (Math.Round (CurrentAnimation.Audio_Delta_Intensity, 3)).ToString ().PadRight (5) + ") Smoothing: " + Math.Round (CurrentAnimation.SmoothingAmount, 3).ToString ().PadRight (5) + " Color fade: " + CurrentAnimation.ColorShift_Amount.ToString ().PadRight (4)); Console.WriteLine ("Freq. distribution: " + Math.Round ((double)CurrentAnimation.Audio_Frequency_Distribution_Percentage, 3).ToString ().PadRight (5) + " (avg: " + Math.Round ((double)CurrentAnimation.Audio_Average_Frequency_Distribution_Percentage, 3).ToString ().PadRight (5) + ") Color boost, high: " + CurrentAnimation.ColorShift_HighBoost.ToString ().PadRight (4) + " - low: " + CurrentAnimation.ColorShift_LowBoost.ToString ().PadRight (4)); int availableWidth = (Processing_Limit_Display ? Processing_Limited_Display_Width : Console.WindowWidth); // Limit the maximum output according to whether or not limited display width is requested int calculatedBarWidth = (availableWidth) - (5 + 2); // Two for padding, a few for the numbers at the end. Only one bar, no need to divide it if (calculatedBarWidth < 10) return; for (int i = 0; i < CurrentAnimation.AudioProcessedSnapshot.Count; i++) { Console.WriteLine (MathUtilities.GenerateMeterBar (CurrentAnimation.AudioProcessedSnapshot [i], 0, 1, calculatedBarWidth, true)); //Console.WriteLine (new String ('=', (int)MathUtilities.ConvertRange (CurrentAnimation.AudioProcessedSnapshot[i], 0, 1, 0, 50)).PadRight (50, ' ') + "| (" + Math.Round (CurrentAnimation.AudioProcessedSnapshot[i], 3).ToString ().PadRight (5, ' ')+ ")"); } } if (Processing_Show_Variables) { PrintAudioVariables (CurrentAnimation); } if (Processing_Show_Frequencies) { PrintAudioFrequencies (CurrentAnimation); } }