From 740a0d2203a56033c630da2f11731f8f34df806d Mon Sep 17 00:00:00 2001 From: Nicholas Tay Date: Sat, 7 May 2022 17:45:46 +1000 Subject: Dynamically take in board name --- clak.c | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'clak.c') diff --git a/clak.c b/clak.c index d6ad034..5203032 100644 --- a/clak.c +++ b/clak.c @@ -1,9 +1,10 @@ #include #include +#include #include -#define VOLUME 0.05 +#define VOLUME 0.15 #include "board/boards.h" #define BOARD(str, buf) { .name = str, .wav = buf }, @@ -29,15 +30,30 @@ void sound_play(unsigned char* buffer) PlaySound((const char *) buffer, NULL, SND_MEMORY | SND_SYNC | SND_NODEFAULT); } -int main(void) +Board *get_board(char *board_name) { - sound_init(); - for (int i = 0; i < boards_n; ++i) { - printf("name: %s\n", boards[i].name); - sound_play(boards[i].wav); - sleep(0.5); + if (strcmp(boards[i].name, board_name) == 0) + return &boards[i]; + } + return NULL; +} + +int main(int argc, char **argv) +{ + Board *board; + if (argc < 2 || (board = get_board(argv[1])) == NULL) { + printf("Please provide a valid board name.\n"); + printf("Valid boards: "); + for (int i = 0; i < boards_n; ++i) { + printf("%s%s", boards[i].name, (i == boards_n - 1) ? "\n" : ", "); + } + return 1; } + sound_init(); + printf("name: %s\n", board->name); + sound_play(board->wav); + return 0; } \ No newline at end of file -- cgit