commit: b2e206d778f835daae17552123ee01df7e1dc858
parent 08a6d819807266914eabc6481f76fb81b4050571
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Fri, 20 Nov 2020 10:46:07 +0100
C/alpha.c: New File
Diffstat:
A | C/alpha.c | 37 | +++++++++++++++++++++++++++++++++++++ |
1 file changed, 37 insertions(+), 0 deletions(-)
diff --git a/C/alpha.c b/C/alpha.c
@@ -0,0 +1,37 @@
+// cat ./alpha.c | tcc -run ./alpha.c | mpv -
+#define _POSIX_C_SOURCE 200809L
+#include <stdio.h> // getchar()
+#include <inttypes.h> // uint32_t
+
+#include "au.h"
+
+int
+main(void)
+{
+ // Use AU defaults
+ struct au_header header = {
+ .offset = 24, // no-annotation, in octets
+ .lenght = 0xFFFFFFFF, // unknown data size
+ .encoding = 02, // unsigned 8-bit linear PCM
+ .samplerate = 8000, // Hz
+ .channels = 1
+ };
+
+ // fd 1 is stdout
+ write_au_header(1, &header);
+
+ int c = 0, t = 0, o = 0;
+
+ while((c = getchar()) != -1) {
+ int dur = 8000/14;
+ o = 1; // Magic number
+ if(c >= 'a' && c <= 'z') { dur = 8000/15; o=c-'a'+1; }
+ if(c >= '0' && c <= '9') { dur = 8000/16; o=c-'0'+1; }
+ if(c >= 'A' && c <= 'Z') { dur = 8000/17; o=c-'a'+1; }
+
+ for(int i = 0;i<dur;i++,t++)
+ putchar(t++*o%30);
+ }
+
+ return 0;
+}