diff --git a/src/fw_radios.py b/src/fw_radios.py index 38876bb..ce9eb69 100644 --- a/src/fw_radios.py +++ b/src/fw_radios.py @@ -147,6 +147,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( diff --git a/src/mpv_control.py b/src/mpv_control.py index c9cb86d..7b2e296 100644 --- a/src/mpv_control.py +++ b/src/mpv_control.py @@ -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 @@ -91,6 +106,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(