aboutsummaryrefslogtreecommitdiff
path: root/clak.c
diff options
context:
space:
mode:
Diffstat (limited to 'clak.c')
-rw-r--r--clak.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/clak.c b/clak.c
index eace40d..7a19f4a 100644
--- a/clak.c
+++ b/clak.c
@@ -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)