Compare commits

..

3 Commits

5 changed files with 24 additions and 11 deletions

View File

@ -70,7 +70,7 @@ def list_albums(albums=None, pg=None, search=None, artist=None, library=None, in
def play_album(album_id): def play_album(album_id):
tracks = get_tracks(album=album_id, include_channels=True) tracks = get_tracks(album=album_id, ordering='disc_number,position', include_channels=True)
tracks_results = tracks.get('results') tracks_results = tracks.get('results')
storage = {} storage = {}
for i in tracks_results: for i in tracks_results:

View File

@ -100,11 +100,13 @@ def get_audio_file(track_uuid, listen_url=False, download=False,
@logger.catch @logger.catch
def get_tracks(page=None, q=None, artist=None, album=None, library=None, def get_tracks(page=None, ordering=None, q=None,
artist=None, album=None, library=None,
tag=None, favourites=None, include_channels=None, pg=None): tag=None, favourites=None, include_channels=None, pg=None):
'''This function get tracks by params''' '''This function get tracks by params'''
params = { params = {
'page': page, 'page': page,
'ordering': ordering,
'q': q, 'q': q,
'artist': artist, 'artist': artist,
'album': album, 'album': album,
@ -178,10 +180,12 @@ def get_artists(page=None, q=None, artist=None, album=None,
@logger.catch @logger.catch
def get_albums(page=None, q=None, artist=None, library=None, include_channels=None, refresh=False, pg=None): def get_albums(page=None, q=None, ordering=None,
artist=None, library=None, include_channels=None, refresh=False, pg=None):
'''This function get artists by params''' '''This function get artists by params'''
params = { params = {
'page': page, 'page': page,
'ordering': ordering,
'q': q, 'q': q,
'artist': artist, 'artist': artist,
'library': library, 'library': library,

View File

@ -55,7 +55,8 @@ def list_artists(pg=None, search=None, library=None, scope=None):
def play_artist(artist_id): def play_artist(artist_id):
tracks = get_tracks(artist=artist_id, include_channels=True, pg=None) tracks = get_tracks(artist=artist_id, ordering='disc_number,position',
include_channels=True, pg=None)
tracks_next = tracks.get('next') tracks_next = tracks.get('next')
tracks_count = tracks.get('count') tracks_count = tracks.get('count')
storage = {} storage = {}

View File

@ -9,7 +9,6 @@ from loguru import logger
from shlex import quote from shlex import quote
import threading import threading
import time import time
import sys
fzf = FzfPrompt() fzf = FzfPrompt()
@ -94,8 +93,7 @@ def radio_generator(radio_session_id):
player.playlist_current_pos player.playlist_current_pos
if playlist_remaining <= 2: if playlist_remaining <= 2:
radio_get_track(radio_session_id) radio_get_track(radio_session_id)
sys.stdout.write('\rRadio generator stopped') print('\rRadio generator stopped', flush=True)
sys.stdout.flush()
radio_event_gen = threading.Event() radio_event_gen = threading.Event()

View File

@ -23,6 +23,7 @@ player.volume = get_config('mpv_volume')
player.prefetch_playlist = get_config('prefetch_playlist') player.prefetch_playlist = get_config('prefetch_playlist')
show_like_button = get_config('show_like_button') show_like_button = get_config('show_like_button')
track_activity_history = get_config('track_activity_history') track_activity_history = get_config('track_activity_history')
shuffle = False
class player_fw_storage: class player_fw_storage:
@ -126,14 +127,19 @@ def soft_volume_reduce():
def player_menu(header='', storage={}): def player_menu(header='', storage={}):
player_fw_storage.storage.update(storage) player_fw_storage.storage.update(storage)
player.volume = get_config("mpv_volume") player.volume = get_config("mpv_volume")
global shuffle
while True: while True:
try: try:
player_items_menu = ['Next', 'Prev', 'Pause', player_items_menu = ['Next', 'Prev', 'Pause',
'Download', 'Info'] 'Shuffle', 'Download', 'Info']
if player.pause: if player.pause:
player_items_menu[2] = 'Play' player_items_menu[2] = 'Play'
else: else:
player_items_menu[2] = 'Pause' player_items_menu[2] = 'Pause'
if shuffle:
player_items_menu[3] = 'Unshuffle'
else:
player_items_menu[3] = 'Shuffle'
if show_like_button: if show_like_button:
player_items_menu.append('Like') player_items_menu.append('Like')
player_items_menu.extend(['Hide artist', 'Exit']) player_items_menu.extend(['Hide artist', 'Exit'])
@ -152,10 +158,14 @@ def player_menu(header='', storage={}):
elif select == 'Prev': elif select == 'Prev':
player.playlist_prev() player.playlist_prev()
elif select in ('Pause', 'Play'): elif select in ('Pause', 'Play'):
if player.pause: player.cycle('pause')
player.pause = False elif select in ('Shuffle', 'Unshuffle'):
if shuffle:
shuffle = False
player.playlist_unshuffle()
else: else:
player.pause = True shuffle = True
player.playlist_shuffle()
elif select == 'Download': elif select == 'Download':
name_downloaded = download_track(player.stream_open_filename) name_downloaded = download_track(player.stream_open_filename)
elif select == 'Info': elif select == 'Info':