-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathsettings.cfg
283 lines (249 loc) · 7.03 KB
/
settings.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
// 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";
},
);