mirror of
http://gitea.phreedom.club/localhost_frssoft/funkwlmpv
synced 2024-11-29 16:01:29 +00:00
Compare commits
3 commits
86bbdcf0ea
...
b74e5ce026
Author | SHA1 | Date | |
---|---|---|---|
localhost_frssoft | b74e5ce026 | ||
localhost_frssoft | 0c1a5d0887 | ||
localhost_frssoft | 348c80973b |
|
@ -74,17 +74,17 @@ def get_instance_settings():
|
|||
@logger.catch
|
||||
def get_audio_file(track_uuid, listen_url=False, download=False,
|
||||
transcoding=get_config('enable_server_transcoding'), to='ogg'):
|
||||
if not transcoding:
|
||||
to = None
|
||||
params = {
|
||||
"download": download,
|
||||
"to": to
|
||||
}
|
||||
if not transcoding:
|
||||
del params['to']
|
||||
if listen_url:
|
||||
url = f'https://{current_instance.instance}{track_uuid}?'
|
||||
else:
|
||||
url = f'https://{current_instance.instance}/api/v1/listen/{track_uuid}?'
|
||||
return url + urllib.parse.urlencode(params)
|
||||
return url + urllib.parse.urlencode(params, doseq=True)
|
||||
|
||||
|
||||
@logger.catch
|
||||
|
|
|
@ -126,7 +126,11 @@ def radio_load(id_radio=None, type_radio='custom', name=None, related_object=Non
|
|||
if playlist_remaining <= 2:
|
||||
threading.Thread(target=radio_get_track, args=(
|
||||
radio_session_id,), daemon=True).start()
|
||||
player.playlist_next()
|
||||
if playlist_remaining > 1:
|
||||
player.playlist_next()
|
||||
else:
|
||||
print('No more tracks, please wait for new...')
|
||||
time.sleep(3)
|
||||
elif select == 'Prev':
|
||||
player.playlist_prev()
|
||||
elif select in ('Pause', 'Play'):
|
||||
|
@ -147,6 +151,7 @@ def radio_load(id_radio=None, type_radio='custom', name=None, related_object=Non
|
|||
key = track.get(i)
|
||||
if key and isinstance(key, str):
|
||||
print(i + ': ' + key)
|
||||
print('Direct link: ' + player.stream_open_filename)
|
||||
input()
|
||||
elif select == 'Like':
|
||||
favorite_track(player_fw_storage.storage.get(
|
||||
|
|
|
@ -5,6 +5,7 @@ from loguru import logger
|
|||
from pyfzf.pyfzf import FzfPrompt
|
||||
import mpv
|
||||
import time
|
||||
import sys
|
||||
|
||||
fzf = FzfPrompt()
|
||||
|
||||
|
@ -48,6 +49,20 @@ if track_activity_history:
|
|||
time.sleep(1)
|
||||
|
||||
|
||||
@player.property_observer('filtered-metadata')
|
||||
@logger.catch
|
||||
def osd_observer(_name, value):
|
||||
'''Sumulate osd playing message in console'''
|
||||
if value:
|
||||
osd_message = []
|
||||
for i in value.items():
|
||||
if i[0] in ('Artist', 'Album', 'Title'):
|
||||
osd_message.append(i[1])
|
||||
sys.stdout.write('\r ')
|
||||
sys.stdout.write('\r'+' — '.join(osd_message))
|
||||
sys.stdout.flush()
|
||||
|
||||
|
||||
def set_http_header(headers=[]):
|
||||
player.http_header_fields = headers
|
||||
|
||||
|
@ -70,7 +85,10 @@ def player_menu(header='', storage={}):
|
|||
|
||||
select = fzf.prompt(player_items_menu, f"--header=\'{header}\'")[0]
|
||||
if select == 'Next':
|
||||
player.playlist_next()
|
||||
try:
|
||||
player.playlist_next()
|
||||
except:
|
||||
print('No more next tracks')
|
||||
elif select == 'Prev':
|
||||
player.playlist_prev()
|
||||
elif select in ('Pause', 'Play'):
|
||||
|
@ -91,6 +109,7 @@ def player_menu(header='', storage={}):
|
|||
key = track.get(i)
|
||||
if key and isinstance(key, str):
|
||||
print(i + ': ' + key)
|
||||
print('Direct link: ' + player.stream_open_filename)
|
||||
input()
|
||||
elif select == 'Like':
|
||||
src.fw_api.favorite_track(
|
||||
|
|
Loading…
Reference in a new issue