Add sampling rate for audio input and data structures

Signed-off-by: Tyrolyean <tyrolyean@tyrolyean.net>
This commit is contained in:
Tyrolyean 2022-07-17 23:52:56 +02:00
parent be8f7d1716
commit 75cdd01de8
No known key found for this signature in database
GPG key ID: 81EC9BAC5E9667C6

View file

@ -71,11 +71,12 @@ static const struct option long_opts[] = {
{ "width", required_argument, NULL, 'w' }, { "width", required_argument, NULL, 'w' },
{ "height", required_argument, NULL, 'h' }, { "height", required_argument, NULL, 'h' },
{ "shader", required_argument, NULL, 's' }, { "shader", required_argument, NULL, 's' },
{ "sampling-rate", required_argument, NULL, 'r' },
{ "to-stdout", no_argument, NULL, 'S' }, { "to-stdout", no_argument, NULL, 'S' },
{ NULL, 0, NULL, 0 }, { NULL, 0, NULL, 0 },
}; };
static const char *short_opts = "w:h:s:S"; static const char *short_opts = "w:h:s:S:r";
static const char *usage_str = static const char *usage_str =
"shadermeh OPTIONS...\n" "shadermeh OPTIONS...\n"
@ -90,6 +91,8 @@ static const char *usage_str =
" --shader, -s <shader file>\n" " --shader, -s <shader file>\n"
"\n"; "\n";
#define SND_BUFFER_SIZE 512
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
GLuint u_iResolution, u_iTime, u_iTimeDelta, u_iFrame; GLuint u_iResolution, u_iTime, u_iTimeDelta, u_iFrame;
@ -103,6 +106,9 @@ int main(int argc, char **argv)
bool to_stdout = false; bool to_stdout = false;
window *wnd; window *wnd;
int i; int i;
unsigned int sampling_rate = 0;
float in_samples[SND_BUFFER_SIZE]; /* Raw input floats from -1...1 */
float norm_samples[SND_BUFFER_SIZE]; /* Normalized samples from 0...1 */
/******************** parse options ************************/ /******************** parse options ************************/
width = 800; width = 800;
@ -123,6 +129,9 @@ int main(int argc, char **argv)
case 's': case 's':
shader_file = optarg; shader_file = optarg;
break; break;
case 'r':
sampling_rate = strtol(optarg, NULL, 10);
break;
case 'S': case 'S':
to_stdout = true; to_stdout = true;
break; break;