mirror of
http://gitea.phreedom.club/localhost_frssoft/funkwlmpv
synced 2024-11-23 05:31:27 +00:00
Compare commits
2 commits
5a61354112
...
eac531c373
Author | SHA1 | Date | |
---|---|---|---|
localhost_frssoft | eac531c373 | ||
localhost_frssoft | d5e8342da6 |
|
@ -6,6 +6,7 @@ from src.fw_tracks import list_tracks
|
||||||
from src.fw_channels import list_channels
|
from src.fw_channels import list_channels
|
||||||
from src.fw_playlists import list_playlists
|
from src.fw_playlists import list_playlists
|
||||||
import src.settings as settings
|
import src.settings as settings
|
||||||
|
import src.mpv_control
|
||||||
import json, sys
|
import json, sys
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
from pyfzf.pyfzf import FzfPrompt
|
from pyfzf.pyfzf import FzfPrompt
|
||||||
|
@ -24,6 +25,8 @@ def main():
|
||||||
'Switch instance']
|
'Switch instance']
|
||||||
if not s.headers.get('Authorization'):
|
if not s.headers.get('Authorization'):
|
||||||
menu.append('Sign in')
|
menu.append('Sign in')
|
||||||
|
if not src.mpv_control.player.core_idle:
|
||||||
|
menu.insert(0, 'Player')
|
||||||
ids = fzf.prompt(menu)
|
ids = fzf.prompt(menu)
|
||||||
|
|
||||||
selected = ids[0]
|
selected = ids[0]
|
||||||
|
@ -71,6 +74,8 @@ Insert token from "Access token" here''')
|
||||||
del f
|
del f
|
||||||
|
|
||||||
select_instance(instance)
|
select_instance(instance)
|
||||||
|
if selected == 'Player':
|
||||||
|
src.mpv_control.player_menu(storage=src.mpv_control.player_fw_storage.storage)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
from src.fw_api import get_artists, get_tracks, get_albums, concatinate_endpoint
|
|
||||||
import src.fw_artists
|
import src.fw_artists
|
||||||
|
from src.fw_api import get_artists, get_tracks, get_albums, concatinate_endpoint
|
||||||
|
from src.settings import get_config
|
||||||
from src.mpv_control import player, player_menu
|
from src.mpv_control import player, player_menu
|
||||||
from pyfzf.pyfzf import FzfPrompt
|
from pyfzf.pyfzf import FzfPrompt
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
@ -8,6 +9,7 @@ fzf = FzfPrompt()
|
||||||
|
|
||||||
@logger.catch
|
@logger.catch
|
||||||
def list_albums(albums=None, pg=None, search=None, artist=None, include_channels=None, refresh=False):
|
def list_albums(albums=None, pg=None, search=None, artist=None, include_channels=None, refresh=False):
|
||||||
|
show_artist_name_in_albums = get_config('show_artist_name_in_albums')
|
||||||
albums_next = None
|
albums_next = None
|
||||||
albums_prev = None
|
albums_prev = None
|
||||||
play_artist_albums = False
|
play_artist_albums = False
|
||||||
|
@ -32,7 +34,11 @@ def list_albums(albums=None, pg=None, search=None, artist=None, include_channels
|
||||||
for i in albums_results:
|
for i in albums_results:
|
||||||
index = albums_results.index(i)
|
index = albums_results.index(i)
|
||||||
album_name = i.get('title')
|
album_name = i.get('title')
|
||||||
view.append(f'{index}.{album_name}')
|
artist_name = i.get('artist').get('name')
|
||||||
|
option_str = f'{index}.{album_name}'
|
||||||
|
if show_artist_name_in_albums:
|
||||||
|
option_str += f' | Artist: {artist_name}'
|
||||||
|
view.append(f'{option_str}')
|
||||||
select = fzf.prompt(view)[0].split('.', 1)[0]
|
select = fzf.prompt(view)[0].split('.', 1)[0]
|
||||||
if select == 'Next page':
|
if select == 'Next page':
|
||||||
list_albums(pg=albums_next)
|
list_albums(pg=albums_next)
|
||||||
|
|
|
@ -12,12 +12,18 @@ player.ytdl = False # Prevent attempts load track with yt-dlp
|
||||||
player.prefetch_playlist = get_config('prefetch_playlist') # Fast loading next track, but high network traffic
|
player.prefetch_playlist = get_config('prefetch_playlist') # Fast loading next track, but high network traffic
|
||||||
show_like_button = get_config('show_like_button')
|
show_like_button = get_config('show_like_button')
|
||||||
|
|
||||||
|
|
||||||
|
class player_fw_storage:
|
||||||
|
storage = {}
|
||||||
|
|
||||||
|
|
||||||
def set_http_header(headers=[]):
|
def set_http_header(headers=[]):
|
||||||
player.http_header_fields = headers
|
player.http_header_fields = headers
|
||||||
|
|
||||||
|
|
||||||
@logger.catch
|
@logger.catch
|
||||||
def player_menu(header=None, storage={}):
|
def player_menu(header='', storage={}):
|
||||||
|
player_fw_storage.storage = storage
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
player_items_menu = ['Next', 'Prev', 'Pause',
|
player_items_menu = ['Next', 'Prev', 'Pause',
|
||||||
|
|
|
@ -39,7 +39,8 @@ default_conf = {
|
||||||
"shitnoise.monster"
|
"shitnoise.monster"
|
||||||
],
|
],
|
||||||
'prefetch_playlist': True,
|
'prefetch_playlist': True,
|
||||||
'show_like_button': True
|
'show_like_button': True,
|
||||||
|
'show_artist_name_in_albums': False
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue