diff options
Diffstat (limited to 'clak.c')
-rw-r--r-- | clak.c | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -6,14 +6,15 @@ #define VOLUME 0.15 -#include "board/boards.h" -#define BOARD(str, buf) { .name = str, .wav = buf }, +#define BOARD(x) { .name = #x, .on_down = x ## _on_down, .on_up = x ## _on_up }, +#include "boards.h" #include "platform/platform.h" typedef struct { char *name; - unsigned char* wav; + void (*on_down)(void); + void (*on_up)(void); } Board; Board boards[] = { @@ -44,13 +45,14 @@ void keyboard_on_down(void) { if (board == NULL) return; - sound_play(board->wav); + board->on_down(); } void keyboard_on_up(void) { - // if (board == NULL) - // return; + if (board == NULL) + return; + board->on_up(); } int main(int argc, char **argv) |