aboutsummaryrefslogtreecommitdiff
path: root/gen.py
blob: de82486ddc7f24f0fe83115c65993b7754bbdba2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
with open('nevergonnagiveyouup.ino') as f:
    lines = f.readlines()

note_to_freq = {}

tempo = 1

with open('rickroll.sh', 'w') as f:
    for line in lines:
        if '#define' in line:
            split = line.split()
            note_to_freq[split[1]] = split[2]
        elif 'NOTE' in line:
            split = line.split(',')
            note = True
            for word in split:
                word = word.replace(' ', '')
                print(word)
                if '//' in word or word == '\n':
                    continue
                elif 'NOTE' in word:
                    f.write(f'beep -f {note_to_freq[word]}')
                    note = True
                elif 'REST' in word:
                    f.write('sleep')
                    note = False
                else:
                    d = int(word)
                    if d < 0:
                        d /= -1.5
                    l = (60000 * 4)/150/d
                    if note:
                        f.write(f' -l {l}\n')
                    else:
                        f.write(f' {l/1000}\n')