]>
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) | |
50 | ||
51 | def focus_changed(self, instance, focus): | |
52 | if Config.no_focus_warning: | |
53 | return | |
54 | if not focus: | |
55 | self.add_widget(self.unfocused_widget) | |
56 | else: | |
57 | self.remove_widget(self.unfocused_widget) | |
58 | ||
4b2d79ca IB |
59 | class MusicSamplerApp(App): |
60 | def build(self): | |
61 | Window.size = (913, 563) | |
9de92b6d | 62 | |
4b2d79ca | 63 | return Screen() |
9de92b6d | 64 | |
6ebe6247 IB |
65 | def main(): |
66 | Builder.load_file(path() + "/music_sampler.kv") | |
4b2d79ca | 67 | MusicSamplerApp().run() |