-class PlayList(RelativeLayout):
- playlist = ListProperty([])
-
- def __init__(self, **kwargs):
- super(PlayList, self).__init__(**kwargs)
- Clock.schedule_interval(self.update_playlist, 0.5)
-
- def update_playlist(self, dt):
- if self.parent is None or 'Mapping' not in self.parent.ids:
- return True
-
- open_files = self.parent.ids['Mapping'].open_files
- self.playlist = []
- for music_file in open_files.values():
- if not music_file.is_in_use():
- continue
-
- text = "{}/{}".format(
- duration_to_min_sec(music_file.sound_position),
- 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, text, True])
-
-
-class ActionList(RelativeLayout):
- action_title = StringProperty("")
- action_list = ListProperty([])
-
- def update_list(self, key, action_descriptions):
- self.action_title = "actions linked to key {}:".format(key.key_sym)
- self.action_list = []
-
- for [action, status] in action_descriptions:
- if status == "done":
- icon = "✓"
- elif status == "current":
- icon = "✅"
- else:
- icon = " "
- self.action_list.append([icon, action])
-