]>
Commit | Line | Data |
---|---|---|
d734981b | 1 | from .helpers import parse_args, register_fonts, path |
cc008de4 | 2 | |
6ebe6247 | 3 | parse_args() |
cc008de4 | 4 | |
d8046b94 IB |
5 | import kivy |
6 | kivy.require("1.9.1") | |
4b2d79ca IB |
7 | from kivy.app import App |
8 | from kivy.uix.floatlayout import FloatLayout | |
9 | from kivy.uix.relativelayout import RelativeLayout | |
7d6df771 | 10 | from kivy.uix.label import Label |
4b2d79ca | 11 | from kivy.properties import ListProperty, StringProperty |
4b2d79ca | 12 | from kivy.core.window import Window |
bb69f62e | 13 | from kivy.lang import Builder |
bb69f62e | 14 | |
6ebe6247 | 15 | register_fonts() |
35bde798 | 16 | |
dd25f8f0 | 17 | |
7d6df771 | 18 | from .helpers import Config |
dd25f8f0 IB |
19 | from .key import Key |
20 | from .mapping import Mapping | |
21 | ||
60aa2bed | 22 | from .app_blocks.actionlist import * |
d734981b IB |
23 | from .app_blocks.playlist import * |
24 | ||
65ec4d2a IB |
25 | class KeyList(RelativeLayout): |
26 | keylist = ListProperty([]) | |
27 | first_key = StringProperty("") | |
28 | second_key = StringProperty("") | |
29 | third_key = StringProperty("") | |
30 | ||
31 | def append(self, value): | |
98ff4305 | 32 | self.keylist.insert(0, value) |
65ec4d2a IB |
33 | |
34 | def on_keylist(self, instance, new_key_list): | |
35 | if len(self.keylist) > 0: | |
36 | self.first_key = self.keylist[0] | |
37 | if len(self.keylist) > 1: | |
38 | self.second_key = self.keylist[1] | |
39 | if len(self.keylist) > 2: | |
40 | self.third_key = self.keylist[2] | |
41 | ||
7d6df771 | 42 | class UnfocusedOverlay(Label): |
4b2d79ca | 43 | pass |
189bf90c | 44 | |
7d6df771 IB |
45 | class Screen(FloatLayout): |
46 | def __init__(self, **kwargs): | |
47 | super(Screen, self).__init__(**kwargs) | |
48 | self.unfocused_widget = UnfocusedOverlay() | |
49 | Window.bind(focus=self.focus_changed) | |
ca3264c8 | 50 | Window.on_request_close = self.on_request_close |
7d6df771 IB |
51 | |
52 | def focus_changed(self, instance, focus): | |
16847231 | 53 | if not Config.focus_warning: |
7d6df771 IB |
54 | return |
55 | if not focus: | |
56 | self.add_widget(self.unfocused_widget) | |
57 | else: | |
58 | self.remove_widget(self.unfocused_widget) | |
59 | ||
ca3264c8 IB |
60 | def on_request_close(self, *args, **kwargs): |
61 | self.ids["Mapping"].leave_application() | |
62 | ||
4b2d79ca IB |
63 | class MusicSamplerApp(App): |
64 | def build(self): | |
65 | Window.size = (913, 563) | |
9de92b6d | 66 | |
4b2d79ca | 67 | return Screen() |
9de92b6d | 68 | |
6ebe6247 IB |
69 | def main(): |
70 | Builder.load_file(path() + "/music_sampler.kv") | |
4b2d79ca | 71 | MusicSamplerApp().run() |