]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blobdiff - music_sampler.py
Use workflow for music_files
[perso/Immae/Projets/Python/MusicSampler.git] / music_sampler.py
index 0d9a7a98263e358c99ab578a028da41be0028475..fd5bd908daf3b81ebe67f9e0b7128d451278e932 100644 (file)
@@ -1,13 +1,36 @@
+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
 from kivy.properties import ListProperty, StringProperty
 from kivy.clock import Clock
 from kivy.core.window import Window
 from kivy.app import App
 from kivy.uix.floatlayout import FloatLayout
 from kivy.uix.relativelayout import RelativeLayout
 from kivy.properties import ListProperty, StringProperty
 from kivy.clock import Clock
 from kivy.core.window import Window
-
+from kivy.lang import Builder
 from helpers.key import Key
 from helpers.mapping import Mapping
 
 from helpers.key import Key
 from helpers.mapping import Mapping
 
+class KeyList(RelativeLayout):
+    keylist = ListProperty([])
+    first_key = StringProperty("")
+    second_key = StringProperty("")
+    third_key = StringProperty("")
+
+    def append(self, value):
+        self.keylist.insert(0, value)
+
+    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([])
 
 class PlayList(RelativeLayout):
     playlist = ListProperty([])
 
@@ -24,10 +47,16 @@ class PlayList(RelativeLayout):
         for music_file in open_files.values():
             if not music_file.is_playing():
                 continue
         for music_file in open_files.values():
             if not music_file.is_playing():
                 continue
+
+            text = "{}/{}".format(
+                    helpers.duration_to_min_sec(music_file.sound_position),
+                    helpers.duration_to_min_sec(music_file.sound_duration)
+                    )
+
             if music_file.is_paused():
             if music_file.is_paused():
-                self.playlist.append(["⏸", music_file.name, False])
+                self.playlist.append(["⏸", music_file.name, text, False])
             else:
             else:
-                self.playlist.append(["⏵", music_file.name, True])
+                self.playlist.append(["⏵", music_file.name, text, True])
 
 
 class ActionList(RelativeLayout):
 
 
 class ActionList(RelativeLayout):
@@ -60,4 +89,5 @@ class MusicSamplerApp(App):
         return Screen()
 
 if __name__ == '__main__':
         return Screen()
 
 if __name__ == '__main__':
+    Builder.load_file(helpers.path() + "/music_sampler.kv")
     MusicSamplerApp().run()
     MusicSamplerApp().run()