Deciding the data structure

Sticking to the model first philosophy, let's spend some time on deciding the appropriate data structure or model for the program.

The data structure of the audio player is fairly simple. All that we expect of the model is to keep a track of playlists. The main data then is a list called play_list, and the Model class is then simply responsible for the addition and removal of items to and from the playlist.

We accordingly came up with the following Model class for the program (see code 5.02model.py):

class Model: def __init__(self): self.__play_list = [] @property def play_list(self): return self.__play_list def get_file_to_play(self, file_index): return self.__play_list[file_index] def clear_play_list(self): self.__play_list.clear() ...

Get Tkinter GUI Application Development Blueprints now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.