-
Notifications
You must be signed in to change notification settings - Fork 1
/
stevebrule.py
73 lines (63 loc) · 2.35 KB
/
stevebrule.py
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import os
from tkinter import *
from pygame import mixer
from math import sqrt, floor
# Board with Steve Brule sounds
class SteveBrule(object):
def __init__(self, frame):
self.frame = frame
self.board_name = 'Steve Brule Sounds'
self.path_to = os.path.join('Sounds', 'Steve Brule')
self.ext = 'wav'
self.filenames = ['Doris Salahari',
'Lots Have Em',
'Lets Check It Out',
'Cheers',
'I Gotcha',
'Dingus',
'Gravy',
'Orgasm',
'Dry',
'Church',
'Lonely',
'Call Me Jengus',
'Sneeze',
'Check It Out!',
'Friendly Lady',
'Guacamole',
'Hi',
'Holy Guacamole',
'Konnichiwa',
'Not That Hard',
'Shushee Sandwiches',
'Hot Guacamole']
self.count = len(self.filenames)
self.nearest_square = int(floor(sqrt(self.count)))
self.paths = []
self.sounds = []
self.buttons = []
for name in self.filenames:
path = '{}{}{}.{}'.format(self.path_to, os.sep, name, self.ext)
self.paths.append(path)
for path in self.paths:
sound = mixer.Sound(path)
self.sounds.append(sound)
for i in range(0, self.count):
text = self.filenames[i]
btn = Button(self.frame, text=text, command=self.sounds[i].play)
self.buttons.append(btn)
self.make_grid()
def make_grid(self):
title = Label(self.frame, text=self.board_name)
title.grid(row=0, columnspan=self.nearest_square)
gridded = 0
row = 1
column = 0
while gridded < self.count:
self.buttons[gridded].grid(row=row, column=column)
gridded += 1
if gridded % self.nearest_square == 0:
column = 0
row += 1
else:
column += 1