]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blob - music_sampler.py
Modifications to mapping/keys
[perso/Immae/Projets/Python/MusicSampler.git] / music_sampler.py
1 import sys
2 import pygame
3 import helpers
4 import threading
5
6 pygame.mixer.pre_init(frequency = 44100)
7 pygame.init()
8
9 size = width, height = 1024, 600
10
11 helpers.draw_lock.acquire()
12 screen = pygame.display.set_mode(size)
13 mapping = helpers.Mapping(screen)
14
15 action_surface = pygame.Surface((600, 250)).convert()
16 action_surface.fill((0,0,0))
17 helpers.parse_config(mapping)
18 helpers.draw_lock.release()
19
20 mapping.draw()
21
22 helpers.draw_lock.acquire()
23 screen.blit(action_surface, (10, 330))
24
25 pygame.display.flip()
26 helpers.draw_lock.release()
27
28 contexts = [
29 'normal'
30 ]
31
32 context = 'normal'
33
34 while 1:
35 event = pygame.event.wait()
36
37 if event.type == pygame.QUIT or (
38 event.type == pygame.KEYDOWN and
39 event.mod == 4160 and
40 event.key == pygame.K_c):
41 pygame.quit()
42 sys.exit()
43
44 if context == 'normal':
45 if event.type == pygame.KEYDOWN:
46 key = mapping.find_by_key_num(event.key)
47 if key is not None:
48 threading.Thread(target=key.do_actions).start()
49 elif event.type == pygame.MOUSEBUTTONUP:
50 key = mapping.find_by_collidepoint(pygame.mouse.get_pos())
51 if key is not None:
52 key.list_actions(action_surface)
53
54 pygame.display.flip()
55