Change from for loop to while loop

This commit is contained in:
Huy Ngo 2020-04-06 20:22:51 +07:00 committed by Nguyễn Gia Phong
parent 09f14bf7f0
commit b5ab03eb7e
4 changed files with 4 additions and 8 deletions

View File

@ -19,7 +19,6 @@
from argparse import ArgumentParser
from datetime import datetime, timedelta
from itertools import count, takewhile
from sys import stderr
from time import sleep
from typing import Iterable, MutableSequence
@ -62,7 +61,7 @@ def play(files: Iterable[str], device: str) -> None:
continue
with buffer:
src = buffer.play()
for i in takewhile(lambda i: src.playing, count()):
while src.playing:
print(f' {pretty_time(src.offset_seconds)} /'
f' {pretty_time(buffer.length_seconds)}',
end='\r', flush=True)

View File

@ -18,7 +18,6 @@
# along with palace. If not, see <https://www.gnu.org/licenses/>.
from argparse import ArgumentParser
from itertools import count, takewhile
from sys import stderr
from time import sleep
from typing import Iterable
@ -40,7 +39,7 @@ def play(files: Iterable[str], device: str) -> None:
stderr.write(f'Failed to open file: {filename}\n')
decoder.play(CHUNK_LEN, QUEUE_SIZE, src)
print('Playing: ', filename)
for i in takewhile(lambda i: src.playing, count()):
while src.playing:
print('Offset:', round(src.offset_seconds), 's - Latency:',
src.latency//10**6, 'ms', end='\r', flush=True)
sleep(PERIOD)

View File

@ -19,7 +19,6 @@
from argparse import Action, ArgumentParser
from datetime import datetime, timedelta
from itertools import count, takewhile
from sys import stderr
from time import sleep
from typing import Iterable
@ -64,7 +63,7 @@ def play(files: Iterable[str], device: str, reverb: str) -> None:
decoder.play(CHUNK_LEN, QUEUE_SIZE, src)
print(f'Playing {filename} ({decoder.sample_type},',
f'{decoder.channel_config}, {decoder.frequency} Hz)')
for i in takewhile(lambda i: src.playing, count()):
while src.playing:
print(f' {pretty_time(src.offset_seconds)} /'
f' {pretty_time(decoder.length_seconds)}',
end='\r', flush=True)

View File

@ -22,7 +22,6 @@ import sunau
import wave
from argparse import ArgumentParser
from datetime import datetime, timedelta
from itertools import count, takewhile
from sys import stderr
from time import sleep
from typing import Iterable, Tuple
@ -54,7 +53,7 @@ def play(files: Iterable[str], device: str) -> None:
with buffer, buffer.play() as src:
print(f'Playing {filename} ({buffer.sample_type},',
f'{buffer.channel_config}, {buffer.frequency} Hz)')
for i in takewhile(lambda i: src.playing, count()):
while src.playing:
print(f' {pretty_time(src.offset_seconds)} /'
f' {pretty_time(buffer.length_seconds)}',
end='\r', flush=True)