diff options
author | Nicholas Tay <nick@windblume.net> | 2022-04-28 21:39:50 +1000 |
---|---|---|
committer | Nicholas Tay <nick@windblume.net> | 2022-04-28 21:39:50 +1000 |
commit | 1783cfd9965c38d60cea3daff172c6657983719b (patch) | |
tree | f8c90dd4e13a1921065c78cda3cbaed022754244 | |
download | clak-1783cfd9965c38d60cea3daff172c6657983719b.tar.gz clak-1783cfd9965c38d60cea3daff172c6657983719b.tar.bz2 clak-1783cfd9965c38d60cea3daff172c6657983719b.zip |
Initial working Windows playsound
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | Makefile | 29 | ||||
-rw-r--r-- | board/mxblue/board_down.wav | bin | 0 -> 15404 bytes | |||
-rw-r--r-- | board/quack/board_down.wav | bin | 0 -> 46008 bytes | |||
-rw-r--r-- | clak.c | 17 |
5 files changed, 50 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5529293 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +clak +clak.exe +board/boards.h +board/*/board.h
\ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2635da2 --- /dev/null +++ b/Makefile @@ -0,0 +1,29 @@ +NAME = clak +PREFIX = $(HOME)/.local + +BOARDS = mxblue quack + +CC = gcc +CFLAGS += -std=c99 -Wall -Wextra -Wshadow -Werror -pedantic +LDLIBS = -lWinmm + +BOARD_FILES = $(addsuffix /board.h,$(addprefix board/,$(BOARDS))) + +default: $(NAME) + +$(NAME): $(NAME).c $(BOARD_FILES) board/boards.h + $(CC) $(CFLAGS) $(NAME).c $(LDLIBS) -o $(NAME) + +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 + +$(BOARD_FILES): %.h: %_down.wav + xxd -i "$<" "$@" + +clean: + rm -f *.o + rm -f $(NAME) + rm -f board/boards.h + rm -f $(BOARD_FILES)
\ No newline at end of file diff --git a/board/mxblue/board_down.wav b/board/mxblue/board_down.wav Binary files differnew file mode 100644 index 0000000..91699d9 --- /dev/null +++ b/board/mxblue/board_down.wav diff --git a/board/quack/board_down.wav b/board/quack/board_down.wav Binary files differnew file mode 100644 index 0000000..6a4d167 --- /dev/null +++ b/board/quack/board_down.wav @@ -0,0 +1,17 @@ +#include <stdio.h> + +#include <windows.h> + +#include "board/boards.h" + +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); + Sleep(500); + } + return 0; +}
\ No newline at end of file |