update sources on repeat

This commit is contained in:
AF 2022-12-24 16:47:28 +00:00
parent 77c0f16da3
commit b2dc8c5edb
2 changed files with 6 additions and 5 deletions

View File

@ -162,6 +162,7 @@ def get_of(mainservice: MainService, defaulteffects: DefaultEffects) -> Callable
audio = queue.queue[0]
for _ in range(n):
queue.queue.insert(1, audio.copy())
queue.update_sources()
@at('branch')
async def branch(ctx: Context, args: list[str]):

View File

@ -22,7 +22,7 @@ class QueueAudio(discord.AudioSource):
self.guild = guild
self.loop = asyncio.get_running_loop()
def _update_sources(self):
def update_sources(self):
for i in range(PRE_SET_LENGTH):
try:
self.queue[i].set_source_if_necessary()
@ -63,7 +63,7 @@ class QueueAudio(discord.AudioSource):
def _popleft(self, audio: YTAudio):
if self.queue and self.queue[0] is audio:
self.queue.popleft().cleanup()
self._update_sources()
self.update_sources()
def read(self) -> bytes:
for i in range(len(self.queue)):
@ -94,7 +94,7 @@ class QueueAudio(discord.AudioSource):
self.queue.remove(audio)
audio.cleanup()
return True
self._update_sources()
self.update_sources()
return False
def clear(self, member: discord.Member) -> None:
@ -112,7 +112,7 @@ class QueueAudio(discord.AudioSource):
if max(a, b) >= len(self.queue):
return
self.queue[a], self.queue[b] = self.queue[b], self.queue[a]
self._update_sources()
self.update_sources()
def move(self, member: discord.Member, a: int, b: int) -> None:
assert_admin(member)
@ -121,7 +121,7 @@ class QueueAudio(discord.AudioSource):
audio = self.queue[a]
self.queue.remove(audio)
self.queue.insert(b, audio)
self._update_sources()
self.update_sources()
async def format(self) -> str:
stream = StringIO()