diff options
-rw-r--r-- | helpers/key.py | 16 | ||||
-rw-r--r-- | helpers/mapping.py | 36 | ||||
-rw-r--r-- | music_sampler.py | 4 |
3 files changed, 30 insertions, 26 deletions
diff --git a/helpers/key.py b/helpers/key.py index e643dc2..612758f 100644 --- a/helpers/key.py +++ b/helpers/key.py | |||
@@ -6,15 +6,6 @@ import sys | |||
6 | import pygame | 6 | import pygame |
7 | 7 | ||
8 | class Key: | 8 | class Key: |
9 | row_positions = { | ||
10 | 'first': 0, | ||
11 | 'second': 50, | ||
12 | 'third': 100, | ||
13 | 'fourth': 150, | ||
14 | 'fifth': 200, | ||
15 | 'sixth': 250, | ||
16 | } | ||
17 | |||
18 | default_outer_color = (120, 120, 120) | 9 | default_outer_color = (120, 120, 120) |
19 | lighter_outer_color = (200, 200, 200) | 10 | lighter_outer_color = (200, 200, 200) |
20 | default_inner_color = (255, 255, 255) | 11 | default_inner_color = (255, 255, 255) |
@@ -27,11 +18,7 @@ class Key: | |||
27 | self.key_name = key_name | 18 | self.key_name = key_name |
28 | self.key_sym = key_sym | 19 | self.key_sym = key_sym |
29 | 20 | ||
30 | if isinstance(top, str): | 21 | self.top = top |
31 | self.top = self.row_positions[top] | ||
32 | else: | ||
33 | self.top = top | ||
34 | |||
35 | self.left = left | 22 | self.left = left |
36 | self.width = width | 23 | self.width = width |
37 | self.height = height | 24 | self.height = height |
@@ -41,6 +28,7 @@ class Key: | |||
41 | 28 | ||
42 | self.rect = (self.left, self.top, self.right, self.bottom) | 29 | self.rect = (self.left, self.top, self.right, self.bottom) |
43 | self.position = (self.left, self.top) | 30 | self.position = (self.left, self.top) |
31 | self.disabled = disabled | ||
44 | 32 | ||
45 | if disabled: | 33 | if disabled: |
46 | self.outer_color = self.lighter_outer_color | 34 | self.outer_color = self.lighter_outer_color |
diff --git a/helpers/mapping.py b/helpers/mapping.py index 84e9941..58aaf3d 100644 --- a/helpers/mapping.py +++ b/helpers/mapping.py | |||
@@ -7,6 +7,15 @@ class Mapping: | |||
7 | HEIGHT = 298 | 7 | HEIGHT = 298 |
8 | SIZE = WIDTH, HEIGHT | 8 | SIZE = WIDTH, HEIGHT |
9 | 9 | ||
10 | ROW_POSITIONS = { | ||
11 | 'first': 0, | ||
12 | 'second': 50, | ||
13 | 'third': 100, | ||
14 | 'fourth': 150, | ||
15 | 'fifth': 200, | ||
16 | 'sixth': 250, | ||
17 | } | ||
18 | |||
10 | KEYS = [ | 19 | KEYS = [ |
11 | (pygame.K_ESCAPE, 'ESC', 'first', 0, {}), | 20 | (pygame.K_ESCAPE, 'ESC', 'first', 0, {}), |
12 | 21 | ||
@@ -26,17 +35,17 @@ class Mapping: | |||
26 | (pygame.K_F12, 'F12', 'first', 700, {}), | 35 | (pygame.K_F12, 'F12', 'first', 700, {}), |
27 | 36 | ||
28 | 37 | ||
29 | (178, '²', 'second', 0, {}), | 38 | (178, '²', 'second', 0, {}), |
30 | (pygame.K_AMPERSAND, '&', 'second', 50, {}), | 39 | (pygame.K_AMPERSAND, '&', 'second', 50, {}), |
31 | (233, 'é', 'second', 100, {}), | 40 | (233, 'é', 'second', 100, {}), |
32 | (pygame.K_QUOTEDBL, '"', 'second', 150, {}), | 41 | (pygame.K_QUOTEDBL, '"', 'second', 150, {}), |
33 | (pygame.K_QUOTE, "'", 'second', 200, {}), | 42 | (pygame.K_QUOTE, "'", 'second', 200, {}), |
34 | (pygame.K_LEFTPAREN, '(', 'second', 250, {}), | 43 | (pygame.K_LEFTPAREN, '(', 'second', 250, {}), |
35 | (pygame.K_MINUS, '-', 'second', 300, {}), | 44 | (pygame.K_MINUS, '-', 'second', 300, {}), |
36 | (232, 'è', 'second', 350, {}), | 45 | (232, 'è', 'second', 350, {}), |
37 | (pygame.K_UNDERSCORE, '_', 'second', 400, {}), | 46 | (pygame.K_UNDERSCORE, '_', 'second', 400, {}), |
38 | (231, 'ç', 'second', 450, {}), | 47 | (231, 'ç', 'second', 450, {}), |
39 | (224, 'à', 'second', 500, {}), | 48 | (224, 'à', 'second', 500, {}), |
40 | (pygame.K_RIGHTPAREN, ')', 'second', 550, {}), | 49 | (pygame.K_RIGHTPAREN, ')', 'second', 550, {}), |
41 | (pygame.K_EQUALS, '=', 'second', 600, {}), | 50 | (pygame.K_EQUALS, '=', 'second', 600, {}), |
42 | 51 | ||
@@ -57,9 +66,9 @@ class Mapping: | |||
57 | (pygame.K_CARET, '^', 'third', 575, {}), | 66 | (pygame.K_CARET, '^', 'third', 575, {}), |
58 | (pygame.K_DOLLAR, '$', 'third', 625, {}), | 67 | (pygame.K_DOLLAR, '$', 'third', 625, {}), |
59 | 68 | ||
60 | (pygame.K_RETURN, 'Enter', 'third', 692, { 'width': 56, 'height': 98 }), | 69 | (pygame.K_RETURN, 'Enter', 'third', 692, { 'width': 56, 'height': 98 }), |
61 | 70 | ||
62 | (pygame.K_CAPSLOCK, 'CAPS', 'fourth', 0, { 'width': 88, 'disabled': True }), | 71 | (pygame.K_CAPSLOCK, 'CAPS', 'fourth', 0, { 'width': 88, 'disabled': True }), |
63 | 72 | ||
64 | (pygame.K_q, 'q', 'fourth', 90, {}), | 73 | (pygame.K_q, 'q', 'fourth', 90, {}), |
65 | (pygame.K_s, 's', 'fourth', 140, {}), | 74 | (pygame.K_s, 's', 'fourth', 140, {}), |
@@ -71,7 +80,7 @@ class Mapping: | |||
71 | (pygame.K_k, 'k', 'fourth', 440, {}), | 80 | (pygame.K_k, 'k', 'fourth', 440, {}), |
72 | (pygame.K_l, 'l', 'fourth', 490, {}), | 81 | (pygame.K_l, 'l', 'fourth', 490, {}), |
73 | (pygame.K_m, 'm', 'fourth', 540, {}), | 82 | (pygame.K_m, 'm', 'fourth', 540, {}), |
74 | (249, 'ù', 'fourth', 590, {}), | 83 | (249, 'ù', 'fourth', 590, {}), |
75 | (pygame.K_ASTERISK, '*', 'fourth', 640, {}), | 84 | (pygame.K_ASTERISK, '*', 'fourth', 640, {}), |
76 | 85 | ||
77 | 86 | ||
@@ -96,7 +105,7 @@ class Mapping: | |||
96 | (pygame.K_LALT, 'LAlt', 'sixth', 165, { 'disabled': True }), | 105 | (pygame.K_LALT, 'LAlt', 'sixth', 165, { 'disabled': True }), |
97 | (pygame.K_SPACE, 'Espace', 'sixth', 215, { 'width': 248 }), | 106 | (pygame.K_SPACE, 'Espace', 'sixth', 215, { 'width': 248 }), |
98 | (pygame.K_MODE, 'AltGr', 'sixth', 465, { 'disabled': True }), | 107 | (pygame.K_MODE, 'AltGr', 'sixth', 465, { 'disabled': True }), |
99 | (314, 'Compose', 'sixth', 515, { 'disabled': True }), | 108 | (314, 'Compose', 'sixth', 515, { 'disabled': True }), |
100 | (pygame.K_RCTRL, 'RCtrl', 'sixth', 565, { 'width': 63, 'disabled': True }), | 109 | (pygame.K_RCTRL, 'RCtrl', 'sixth', 565, { 'width': 63, 'disabled': True }), |
101 | 110 | ||
102 | 111 | ||
@@ -122,7 +131,14 @@ class Mapping: | |||
122 | self.keys = {} | 131 | self.keys = {} |
123 | self.running = [] | 132 | self.running = [] |
124 | for key in self.KEYS: | 133 | for key in self.KEYS: |
125 | self.keys[key[0]] = Key(self, self.draw_lock, *key[0:4], **key[4]) | 134 | if key[2] in self.ROW_POSITIONS: |
135 | position = self.ROW_POSITIONS[key[2]] | ||
136 | else: | ||
137 | position = key[2] | ||
138 | self.keys[key[0]] = Key(self, | ||
139 | self.draw_lock, | ||
140 | key[0], key[1], position, key[3], | ||
141 | **key[4]) | ||
126 | 142 | ||
127 | def draw(self): | 143 | def draw(self): |
128 | for key_name in self.keys: | 144 | for key_name in self.keys: |
diff --git a/music_sampler.py b/music_sampler.py index 8ebfaa3..c17f7bf 100644 --- a/music_sampler.py +++ b/music_sampler.py | |||
@@ -47,7 +47,7 @@ while 1: | |||
47 | if context == 'normal': | 47 | if context == 'normal': |
48 | if event.type == pygame.KEYDOWN: | 48 | if event.type == pygame.KEYDOWN: |
49 | key = mapping.find_by_key_num(event.key) | 49 | key = mapping.find_by_key_num(event.key) |
50 | if key is not None: | 50 | if key is not None and not key.disabled: |
51 | threading.Thread(name = "MSKeyAction", target=key.do_actions).start() | 51 | threading.Thread(name = "MSKeyAction", target=key.do_actions).start() |
52 | threading.Thread(name = "MSClic", target=key.list_actions, args = [screen]).start() | 52 | threading.Thread(name = "MSClic", target=key.list_actions, args = [screen]).start() |
53 | elif event.type == pygame.MOUSEBUTTONUP: | 53 | elif event.type == pygame.MOUSEBUTTONUP: |
@@ -65,10 +65,10 @@ while 1: | |||
65 | for music_file in open_files.values(): | 65 | for music_file in open_files.values(): |
66 | police.set_bold(False) | 66 | police.set_bold(False) |
67 | if music_file.is_playing(): | 67 | if music_file.is_playing(): |
68 | icon = icon_police.render("⏵", True, (0,0,0)) | ||
69 | if music_file.is_paused(): | 68 | if music_file.is_paused(): |
70 | icon = icon_police.render("⏸", True, (0,0,0)) | 69 | icon = icon_police.render("⏸", True, (0,0,0)) |
71 | else: | 70 | else: |
71 | icon = icon_police.render("⏵", True, (0,0,0)) | ||
72 | police.set_bold(True) | 72 | police.set_bold(True) |
73 | text = police.render(music_file.name, True, (0,0,0)) | 73 | text = police.render(music_file.name, True, (0,0,0)) |
74 | surface.blit(icon, (0, offset)) | 74 | surface.blit(icon, (0, offset)) |