self.set_gain(gain(volume) + self.mapping.master_gain, absolute=True)
self.volume = volume
self.current_loop = 0
- self.loop_left = loop
+ if loop < 0:
+ self.last_loop = float('inf')
+ else:
+ self.last_loop = loop
with self.music_lock:
self.current_audio_segment = self.audio_segment
with self.music_lock:
[data, nb_frames] = self.get_next_sample(frame_count)
if nb_frames < frame_count:
- if self.is_loaded_playing() and self.loop_left != 0:
- self.loop_left -= 1
+ if self.is_loaded_playing() and\
+ self.current_loop < self.last_loop:
self.current_loop += 1
self.current_frame = 0
[new_data, new_nb_frames] = self.get_next_sample(