aboutsummaryrefslogtreecommitdiff
path: root/helpers/mapping.py
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2016-07-14 13:26:39 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2016-07-14 13:26:39 +0200
commit29597680758e4924aa71fc021465189e153f2016 (patch)
treef86b35983958ed5d82d8d4c3dd47dd3cd6ca1815 /helpers/mapping.py
parent9b9dd12a0253f2e65c5934068d91b544f7679f12 (diff)
downloadMusicSampler-29597680758e4924aa71fc021465189e153f2016.tar.gz
MusicSampler-29597680758e4924aa71fc021465189e153f2016.tar.zst
MusicSampler-29597680758e4924aa71fc021465189e153f2016.zip
Move from pygame to sounddevice for sound handling
Move lock files to files Add with statement to lock
Diffstat (limited to 'helpers/mapping.py')
-rw-r--r--helpers/mapping.py21
1 files changed, 3 insertions, 18 deletions
diff --git a/helpers/mapping.py b/helpers/mapping.py
index dd51246..95c9d67 100644
--- a/helpers/mapping.py
+++ b/helpers/mapping.py
@@ -4,11 +4,9 @@ from kivy.core.window import Window
4from kivy.clock import Clock 4from kivy.clock import Clock
5 5
6import threading 6import threading
7import pygame
8import yaml 7import yaml
9import sys 8import sys
10 9
11from .lock import *
12from .music_file import * 10from .music_file import *
13from . import yml_file 11from . import yml_file
14 12
@@ -17,7 +15,7 @@ class Mapping(RelativeLayout):
17 ready_color = ListProperty([1, 165/255, 0, 1]) 15 ready_color = ListProperty([1, 165/255, 0, 1])
18 16
19 def __init__(self, **kwargs): 17 def __init__(self, **kwargs):
20 self.key_config, self.channel_number, self.open_files = self.parse_config() 18 self.key_config, self.open_files = self.parse_config()
21 super(Mapping, self).__init__(**kwargs) 19 super(Mapping, self).__init__(**kwargs)
22 self._keyboard = Window.request_keyboard(self._keyboard_closed, self) 20 self._keyboard = Window.request_keyboard(self._keyboard_closed, self)
23 self._keyboard.bind(on_key_down=self._on_keyboard_down) 21 self._keyboard.bind(on_key_down=self._on_keyboard_down)
@@ -25,9 +23,6 @@ class Mapping(RelativeLayout):
25 Clock.schedule_interval(self.not_all_keys_ready, 1) 23 Clock.schedule_interval(self.not_all_keys_ready, 1)
26 24
27 25
28 pygame.mixer.init(frequency = 44100)
29 pygame.mixer.set_num_channels(self.channel_number)
30
31 def _keyboard_closed(self): 26 def _keyboard_closed(self):
32 self._keyboard.unbind(on_key_down=self._on_keyboard_down) 27 self._keyboard.unbind(on_key_down=self._on_keyboard_down)
33 self._keyboard = None 28 self._keyboard = None
@@ -42,7 +37,6 @@ class Mapping(RelativeLayout):
42 continue 37 continue
43 thread.join() 38 thread.join()
44 39
45 pygame.quit()
46 sys.exit() 40 sys.exit()
47 return True 41 return True
48 42
@@ -91,10 +85,6 @@ class Mapping(RelativeLayout):
91 aliases = config['aliases'] 85 aliases = config['aliases']
92 seen_files = {} 86 seen_files = {}
93 87
94 file_lock = Lock("file")
95
96 channel_id = 0
97
98 key_properties = {} 88 key_properties = {}
99 89
100 for key in config['key_properties']: 90 for key in config['key_properties']:
@@ -146,15 +136,10 @@ class Mapping(RelativeLayout):
146 if filename in config['music_properties']: 136 if filename in config['music_properties']:
147 seen_files[filename] = MusicFile( 137 seen_files[filename] = MusicFile(
148 filename, 138 filename,
149 file_lock,
150 channel_id,
151 **config['music_properties'][filename]) 139 **config['music_properties'][filename])
152 else: 140 else:
153 seen_files[filename] = MusicFile( 141 seen_files[filename] = MusicFile(
154 filename, 142 filename)
155 file_lock,
156 channel_id)
157 channel_id = channel_id + 1
158 143
159 if filename not in key_properties[mapped_key]['files']: 144 if filename not in key_properties[mapped_key]['files']:
160 key_properties[mapped_key]['files'].append(seen_files[filename]) 145 key_properties[mapped_key]['files'].append(seen_files[filename])
@@ -166,6 +151,6 @@ class Mapping(RelativeLayout):
166 151
167 key_properties[mapped_key]['actions'].append([action_name, action_args]) 152 key_properties[mapped_key]['actions'].append([action_name, action_args])
168 153
169 return (key_properties, channel_id + 1, seen_files) 154 return (key_properties, seen_files)
170 155
171 156