diff options
| author | Nicholas Tay <nick@windblume.net> | 2022-04-28 21:54:45 +1000 | 
|---|---|---|
| committer | Nicholas Tay <nick@windblume.net> | 2022-04-28 21:54:45 +1000 | 
| commit | 30547ed47ab653586073ae87d0c986c14ddaf241 (patch) | |
| tree | ec565bb08ae384abd07f5e6e49651a30f26b4af3 | |
| parent | 1783cfd9965c38d60cea3daff172c6657983719b (diff) | |
| download | clak-30547ed47ab653586073ae87d0c986c14ddaf241.tar.gz clak-30547ed47ab653586073ae87d0c986c14ddaf241.tar.bz2 clak-30547ed47ab653586073ae87d0c986c14ddaf241.zip | |
Iterate boards in C
Diffstat (limited to '')
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | clak.c | 18 | 
2 files changed, 19 insertions, 3 deletions
| @@ -17,7 +17,9 @@ $(NAME): $(NAME).c $(BOARD_FILES) board/boards.h  board/boards.h:  	printf "#ifndef BOARD_DEFAULTS_H\n#define BOARD_DEFAULTS_H\n\n" > board/boards.h  	for board in $(BOARDS); do echo "#include \"$$board/board.h\"" >> board/boards.h; done -	printf "\n#endif /* BOARD_DEFAULTS_H */" >> board/boards.h +	printf "\n#define BOARDS " >> board/boards.h +	for board in $(BOARDS); do printf "BOARD(\"$$board\", board_$${board}_board_down_wav) " >> board/boards.h; done +	printf "\n\n#endif /* BOARD_DEFAULTS_H */" >> board/boards.h  $(BOARD_FILES): %.h: %_down.wav  	xxd -i "$<" "$@" @@ -3,15 +3,29 @@  #include <windows.h>  #include "board/boards.h" +#define BOARD(str, buf) { .name = str, .wav = buf }, + +typedef struct { +	char *name; +	unsigned char* wav; +} Board; + +Board boards[] = { +	BOARDS +}; +int const boards_n = sizeof(boards) / sizeof(boards[0]);  int main(void)  {  	float volume = 0.05;  	DWORD channel_volume = volume * 0xFFFF;  	waveOutSetVolume(NULL, (channel_volume << 16) | channel_volume); -	while (1) { -		PlaySound((const char *) board_mxblue_board_down_wav, NULL, SND_MEMORY | SND_SYNC | SND_NODEFAULT); + +	for (int i = 0; i < boards_n; ++i) { +		printf("name: %s\n", boards[i].name); +		PlaySound((const char *) boards[i].wav, NULL, SND_MEMORY | SND_SYNC | SND_NODEFAULT);  		Sleep(500);  	} +  	return 0;  }
\ No newline at end of file | 
