aboutsummaryrefslogtreecommitdiff
path: root/music_sampler.py
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2016-06-19 01:13:41 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2016-06-19 01:13:41 +0200
commitba9ea93a0f52178d24a606fddc2acc5dc85b7ff2 (patch)
tree0a2b43561b84eefed07ecb83de1ecf4fad428532 /music_sampler.py
parente5e6409426e3eb1918318973372568081e6d9dd6 (diff)
downloadMusicSampler-ba9ea93a0f52178d24a606fddc2acc5dc85b7ff2.tar.gz
MusicSampler-ba9ea93a0f52178d24a606fddc2acc5dc85b7ff2.tar.zst
MusicSampler-ba9ea93a0f52178d24a606fddc2acc5dc85b7ff2.zip
enhancing locks
Diffstat (limited to 'music_sampler.py')
-rw-r--r--music_sampler.py20
1 files changed, 9 insertions, 11 deletions
diff --git a/music_sampler.py b/music_sampler.py
index 9f14d56..fd03009 100644
--- a/music_sampler.py
+++ b/music_sampler.py
@@ -7,23 +7,19 @@ pygame.mixer.pre_init(frequency = 44100)
7pygame.init() 7pygame.init()
8 8
9size = width, height = 1024, 600 9size = width, height = 1024, 600
10
11helpers.draw_lock.acquire()
12screen = pygame.display.set_mode(size) 10screen = pygame.display.set_mode(size)
13mapping = helpers.Mapping(screen, helpers.draw_lock) 11screen.fill((250, 250, 250))
12
13draw_lock = helpers.Lock("draw")
14 14
15action_surface = pygame.Surface((600, 250)).convert() 15mapping = helpers.Mapping(screen, draw_lock)
16action_surface.fill((0,0,0))
17helpers.parse_config(mapping) 16helpers.parse_config(mapping)
18helpers.draw_lock.release()
19 17
20mapping.draw() 18mapping.draw()
21 19
22helpers.draw_lock.acquire() 20draw_lock.acquire()
23screen.blit(action_surface, (10, 330))
24
25pygame.display.flip() 21pygame.display.flip()
26helpers.draw_lock.release() 22draw_lock.release()
27 23
28contexts = [ 24contexts = [
29 'normal' 25 'normal'
@@ -54,7 +50,9 @@ while 1:
54 elif event.type == pygame.MOUSEBUTTONUP: 50 elif event.type == pygame.MOUSEBUTTONUP:
55 key = mapping.find_by_collidepoint(pygame.mouse.get_pos()) 51 key = mapping.find_by_collidepoint(pygame.mouse.get_pos())
56 if key is not None: 52 if key is not None:
57 key.list_actions(action_surface) 53 threading.Thread(target=key.list_actions, args = [screen]).start()
58 54
55 draw_lock.acquire()
59 pygame.display.flip() 56 pygame.display.flip()
57 draw_lock.release()
60 58