code: def _get_song(self):
          '''
          Used internally to get the current track and make sure it exists.
          '''
          # Try to get the current track from the start metasong
          if self.at_beginning:
              # Make sure it exists.
              if self.pos < len(self.start):
                  # It exists, so return it.
                  return self.start[self.pos]
              # It doesn't exist, so let's move on!
              self.at_beginning = False
              # Generate a new track selection
              self._new_track()
          # A bit more difficult than using the start metasong, 
          # because we could have a beginning part. Call a function that gets all 
          # applicable tracks from the metasong.
          s = self._get_selectable()
          # Make sure it is long enough
          while self.pos >= len(s):
              # Or pick a new metasong.
              self._new_song()
              # And repeat.
              s = self._get_selectable()
          # Found a track, return it.
          return s[self.posf _get_song(self):
          '''
          Used internally to get the current track and make sure it exists.
          '''
          # Try to get the current track from the start metasong
          if self.at_beginning:
              # Make sure it exists.
              if self.pos < len(self.start):
                  # It exists, so return it.
                  return self.start[self.pos]
              # It doesn't exist, so let's move on!
              self.at_beginning = False
              # Generate a new track selection
              self._new_track()
          # A bit more difficult than using the start metasong, 
          # because we could have a beginning part. Call a function that gets all 
          # applicable tracks from the metasong.
          s = self._get_selectable()
          # Make sure it is long enough
          while self.pos >= len(s):
              # Or pick a new metasong.
              self._new_song()
              # And repeat.
              s = self._get_selectable()
          # Found a track, return it.
          return s[self.pos]
docs: Used internally to get the current track and make sure it exists.