diff --git a/.gitignore b/.gitignore index 9ecbfdf..82cc39f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ images/* frames frames/* *.mp4 +audio_generator diff --git a/Makefile b/Makefile index d5f0624..2f78ce4 100644 --- a/Makefile +++ b/Makefile @@ -36,8 +36,9 @@ logos.c: scripts/gen_logos.sh mkdir -p logos/ bash ./scripts/gen_logos.sh >logos.c -audio.c: audio.ogg scripts/gen_audio.sh - bash ./scripts/gen_audio.sh >audio.c +audio.c: audio.ogg scripts/gen_audio.c + $(CC) -o audio_generator scripts/gen_audio.c -Ofast + ./audio_generator >audio.c $(OBJ_DIR): mkdir -p $(OBJ_DIR) diff --git a/scripts/gen_audio.c b/scripts/gen_audio.c new file mode 100644 index 0000000..9f85fa9 --- /dev/null +++ b/scripts/gen_audio.c @@ -0,0 +1,29 @@ +#include +#include +#include +#include + +int main(void) { + int fd; + off_t size, idx; + unsigned char *buf; + + fd = open("audio.ogg", O_RDONLY); + size = lseek(fd, 0, SEEK_END); + lseek(fd, 0, SEEK_SET); + + buf = malloc(size); + + read(fd, buf, size); + + puts("#include \nconst unsigned char audio[]={"); + + for (idx = 0; idx < size; ++idx) + printf("%u,", buf[idx]); + + puts("};const uint64_t audio_size=sizeof(audio);"); + + free(buf); + + return 0; +} diff --git a/scripts/gen_audio.sh b/scripts/gen_audio.sh deleted file mode 100755 index 13425db..0000000 --- a/scripts/gen_audio.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env sh - -set -eu - -main() { - echo "#include " - echo "const unsigned char audio[] = {" - od -An -vtu1