'Stops all running threads and waits for them to terminate.'

def __del__(self):

    for captor in self._captors:
        captor.stop(block=False)
    for player in self._players:
        player.stop(block=False)
    self.stop_metronome()
    for captor in self._captors:
        captor.join()
    for player in self._players:
        player.join()
