// Directories this file can be located, in order: // 1. Same dir as executable // 2. Same dir as executable, but 1 step back // 3. ~/.config/recidia/ // 4. /etc/recidia/ // Notes: // Pay attention to the number boundary range "[?]-[?]" for each setting // The GUI and terminal settings are separate besides "shared_settings" // Key bindings/controls must only be 1 letter/char // And only settings that have a "Controls" section can have keybindings // DO NOT CHANGE THE "name" parameter // Convenient bindings: // Scroll(mouse) - Adjust "Data Height Cap" version = "0.4"; gui_settings = ( { // Hide/Show Settings Menu name = "Settings Menu"; default = true; // Controls toggle_key = "["; }, { // Frameless window to remove borders name = "Frameless"; default = false; // Controls toggle_key = "]"; }, { // Draw X position [-1.0]-[1.0] name = "Draw X"; default = -1.0; }, { // Draw Y position [-1.0]-[1.0] name = "Draw Y"; default = -1.0; }, { // Draw width area size [0.0]-[1.0] name = "Draw Width"; default = 1.0; }, { // Draw height area size [0.0]-[1.0] name = "Draw Height"; default = 1.0; }, { // Minium amount drawn of a plot [0.0]-[1.0] name = "Min Plot Height"; default = 0.0; }, { // Size of the plots/bars width in pixels [1]-[max] name = "Plot Width"; max = 100; default = 14; // Controls decrease_key = "e"; increase_key = "r"; }, { // Size of the gap width between plots in pixels [0]-[max] name = "Gap Width"; max = 100; default = 6; // Controls decrease_key = "d"; increase_key = "f"; }, { // Mode of how plots are drawn name = "Draw Mode"; // Mode are "Bars"=0 and "Points"=1 mode = 0; // Controls toggle_key = "b"; }, { // Color of the plots/bars colors [0]-[255] name = "Main Color"; red = 255; green = 255; blue = 255; alpha = 255; }, { // Color of the plain background [0]-[255] name = "Background Color"; red = 50; green = 50; blue = 50; alpha = 150; }, { // Shaders name = "Shaders"; // Plots Shader files in "/shaders" main_vertex = "default.vert"; main_frag = "default.frag"; // Modifiers (If in shader code) main_loop_time = 1500; // Seconds until reset main_power = 1.0; // [0.0]-[1.0] // Plots range that effects power setting [0.0]-[1.0] main_power_mod_range = [0.0, 0.5]; // Background shader files in "/shaders" back_vertex = "default.vert"; back_frag = "default.frag"; // Modifiers (If in shader code) back_loop_time = 1500; // Seconds until reset back_power = 1.0; // [0.0]-[1.0] // Plots range that effects power setting [0.0]-[1.0] back_power_mod_range = [0.0, 0.5]; }, ); terminal_settings = ( { // Size of the plots/bars width by char [1]-[max] name = "Plot Width"; max = 25; default = 1; // Controls decrease_key = "e"; increase_key = "r"; }, { // Size of the gap width between plots/bars by char [0]-[max] name = "Gap Width"; max = 25; default = 1; // Controls decrease_key = "d"; increase_key = "f"; }, { // Color of the plots/bars colors [0]-[255] // Use "alpha" to toggle color name = "Main Color"; red = 255; green = 255; blue = 255; alpha = 0; // 1 or 0 }, { // Color of the plain background [0]-[255] // Use "alpha" to toggle color name = "Background Color"; red = 50; green = 50; blue = 50; alpha = 0; // 1 or 0 }, { // Characters for drawing plots, ordered from low/empty to high/fill name = "Plot Chars"; // At least 2 chars in array or recidia will resort to defaults chars = [" ","▁","▂","▃","▄","▅","▆","▇","█"]; }, ); shared_settings = ( { // Increasing the cap will lower the plot's height and vice versa [1.0]-[max] name = "Data Height Cap"; max = 32768.0; default = 500.0; // Controls decrease_key = "t"; // or Mouse wheel up increase_key = "g"; // or Mouse wheel down }, { // Smooths the plots to a curve based on the window_size name = "SavGol Filter"; // Relative window_size size [0.0]-[1.0] // The real window size will scale with the amount of plots // But at a minium the real window size will be poly_order+2 window_size = 0.0; // NOT CONTROLLABLE, but playable at your own risk poly_order = 3; // Controls decrease_key = "q"; increase_key = "w"; }, { // Removes the audio/fft jitter by averaging past data of ?x times [0]-[max] name = "Interpolation"; // note that max will multiply memory usage based on "Audio Buffer Size"'s max max = 32; default = 8; // Controls decrease_key = "a"; increase_key = "s"; }, { // The amount of audio data that is collected for fft processing [2^?]-[max] // The higher the number, the higher the accuracy. // But that also means less responsiveness because of old data. // Values MUST be a power of 2 name = "Audio Buffer Size"; max = 16384; default = 4096; // Controls decrease_key = "z"; increase_key = "x"; }, { // This is the layout or "chart" of the plots using 2 bézier curves name = "Plot Chart Guide"; // Frequency at the start start_freq = 0.0; // Control point of the first bézier curve start_ctrl = 1.0; // Frequency at the middle mid_freq = 1000.0; // Position of the frequency at the middle [0.0]-[1.0] mid_pos = 0.66; // Control point of the second bézier curve end_ctrl = 1.0; // Frequency at the end end_freq = 12000.0 }, { // The rate of polling for new audio data [1]-[max] name = "Poll Rate"; max = 100; // ms default = 10; // Controls decrease_key = "j"; increase_key = "u"; }, { // Frames Per Second Cap // FPS will not go beyond your refresh rate [1]-[max] name = "FPS Cap"; max = 1000; default = 150; // Controls decrease_key = "h"; increase_key = "y"; }, { // Show stats name = "Stats"; enabled = false; // Controls toggle_key = "i"; }, );