def __init__(self, bpm=None, stop_seconds=60): # TODO: stop_seconds is nice, but we don't we really want stop_beats or stop_bars # or something? assert bpm is not None self.timeline = Timeline() self.got_events = False # if we don't get any musical events, the performance will stop self.stop_seconds = stop_seconds self.bpm = bpm # FIXME: this needs to be calculated off of tempo, change to BPM shortly. self.whole_note_length = ( 60 / 120) * 4 super().__init__()