]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blobdiff - music_sampler.py
Put time duration in playlist
[perso/Immae/Projets/Python/MusicSampler.git] / music_sampler.py
index 0d9a7a98263e358c99ab578a028da41be0028475..7bd7513d738e8c33c33d3a5e6bd9aaed8172bd76 100644 (file)
@@ -1,12 +1,32 @@
+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
+import helpers
+
+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 +44,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 +86,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()