X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=music_sampler.py;h=41b71be5bd1bd96502b18981c96725bef8554446;hb=a1d7f30a1cafbfcf3a0a561fcab71ce6437a3d45;hp=7c0fc3218a1d7f51e72b490d21eb35494936156e;hpb=bb69f62e140efde8e93f7b62bf8723113bf30b06;p=perso%2FImmae%2FProjets%2FPython%2FMusicSampler.git diff --git a/music_sampler.py b/music_sampler.py index 7c0fc32..41b71be 100644 --- a/music_sampler.py +++ b/music_sampler.py @@ -1,3 +1,9 @@ +import helpers + +helpers.parse_args() + +import kivy +kivy.require("1.9.1") from kivy.app import App from kivy.uix.floatlayout import FloatLayout from kivy.uix.relativelayout import RelativeLayout @@ -8,10 +14,22 @@ from kivy.lang import Builder from helpers.key import Key from helpers.mapping import Mapping -import sys +class KeyList(RelativeLayout): + keylist = ListProperty([]) + first_key = StringProperty("") + second_key = StringProperty("") + third_key = StringProperty("") + + def append(self, value): + self.keylist.insert(0, value) -if getattr(sys, 'frozen', False): - Builder.load_file(sys._MEIPASS + '/musicsampler.kv') + def on_keylist(self, instance, new_key_list): + if len(self.keylist) > 0: + self.first_key = self.keylist[0] + if len(self.keylist) > 1: + self.second_key = self.keylist[1] + if len(self.keylist) > 2: + self.third_key = self.keylist[2] class PlayList(RelativeLayout): playlist = ListProperty([]) @@ -27,12 +45,17 @@ class PlayList(RelativeLayout): open_files = self.parent.ids['Mapping'].open_files self.playlist = [] for music_file in open_files.values(): - if not music_file.is_playing(): + if not music_file.is_in_use(): continue - if music_file.is_paused(): - self.playlist.append(["⏸", music_file.name, False]) + + text = "{}/{}".format( + helpers.duration_to_min_sec(music_file.sound_position), + helpers.duration_to_min_sec(music_file.sound_duration)) + + if music_file.is_loaded_paused(): + self.playlist.append(["⏸", music_file.name, text, False]) else: - self.playlist.append(["⏵", music_file.name, True]) + self.playlist.append(["⏵", music_file.name, text, True]) class ActionList(RelativeLayout): @@ -65,4 +88,5 @@ class MusicSamplerApp(App): return Screen() if __name__ == '__main__': + Builder.load_file(helpers.path() + "/music_sampler.kv") MusicSamplerApp().run()