]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/commitdiff
Change loop process
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Wed, 20 Jul 2016 20:51:59 +0000 (22:51 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Wed, 20 Jul 2016 20:51:59 +0000 (22:51 +0200)
helpers/music_file.py

index a37a708cb5365ae519a76186ce5768a60280be08..cff897ad67c98ac05438de3a2d27ca0d98f01d95 100644 (file)
@@ -128,7 +128,10 @@ class MusicFile(Machine):
         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
@@ -166,8 +169,8 @@ class MusicFile(Machine):
         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(