You've already forked RadioPlayer
mirror of
https://github.com/radio95-rnt/RadioPlayer.git
synced 2026-02-27 06:03:52 +01:00
this is better
This commit is contained in:
@@ -229,10 +229,25 @@ class RadioPlayer:
|
|||||||
|
|
||||||
max_iterator = len(playlist)
|
max_iterator = len(playlist)
|
||||||
song_i = i = 0
|
song_i = i = 0
|
||||||
|
|
||||||
track = None
|
track = None
|
||||||
next_track = None
|
|
||||||
extend = None
|
def get_track():
|
||||||
|
nonlocal song_i, playlist, max_iterator
|
||||||
|
track = None
|
||||||
|
while track is None:
|
||||||
|
playlist_track = playlist[song_i % len(playlist)]
|
||||||
|
playlist_next_track = playlist[song_i + 1] if song_i + 1 < len(playlist) else None
|
||||||
|
if self.active_modifier:
|
||||||
|
(track, next_track), extend = self.active_modifier.play(song_i, playlist_track, playlist_next_track)
|
||||||
|
if track is None:
|
||||||
|
song_i += 1
|
||||||
|
continue
|
||||||
|
if extend: max_iterator += 1
|
||||||
|
else:
|
||||||
|
track = playlist_track
|
||||||
|
next_track = playlist_next_track
|
||||||
|
extend = False
|
||||||
|
return track, next_track, extend
|
||||||
|
|
||||||
while i < max_iterator:
|
while i < max_iterator:
|
||||||
if self.exit_pending:
|
if self.exit_pending:
|
||||||
@@ -248,16 +263,7 @@ class RadioPlayer:
|
|||||||
return_pending = True
|
return_pending = True
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if not track:
|
if not track: track, next_track, extend = get_track()
|
||||||
track = playlist[song_i % len(playlist)]
|
|
||||||
next_track = playlist[song_i + 1] if song_i + 1 < len(playlist) else None
|
|
||||||
if self.active_modifier:
|
|
||||||
(track, next_track), extend = self.active_modifier.play(song_i, track, next_track)
|
|
||||||
if track is None:
|
|
||||||
song_i += 1
|
|
||||||
continue
|
|
||||||
if extend: max_iterator += 1
|
|
||||||
else: extend = False
|
|
||||||
|
|
||||||
prefetch(track.path)
|
prefetch(track.path)
|
||||||
self.logger.info(f"Now playing: {track.path.name}")
|
self.logger.info(f"Now playing: {track.path.name}")
|
||||||
@@ -278,16 +284,8 @@ class RadioPlayer:
|
|||||||
i += 1
|
i += 1
|
||||||
if not extend: song_i += 1
|
if not extend: song_i += 1
|
||||||
|
|
||||||
track = playlist[song_i % len(playlist)]
|
track, next_track, extend = get_track()
|
||||||
next_track = playlist[song_i + 1] if song_i + 1 < len(playlist) else None
|
prefetch(track.path)
|
||||||
if self.active_modifier:
|
|
||||||
(track, next_track), extend = self.active_modifier.play(song_i, track, next_track)
|
|
||||||
if track is None:
|
|
||||||
song_i += 1
|
|
||||||
continue
|
|
||||||
if extend: max_iterator += 1
|
|
||||||
else: extend = False
|
|
||||||
if track: prefetch(track.path)
|
|
||||||
|
|
||||||
def loop(self):
|
def loop(self):
|
||||||
self.logger.info("Starting playback.")
|
self.logger.info("Starting playback.")
|
||||||
|
|||||||
Reference in New Issue
Block a user