mirror of
http://gitea.phreedom.club/localhost_frssoft/funkwlmpv
synced 2024-11-22 13:41:28 +00:00
Compare commits
4 commits
e7a57fc637
...
8e79357287
Author | SHA1 | Date | |
---|---|---|---|
localhost_frssoft | 8e79357287 | ||
localhost_frssoft | c9f9871e26 | ||
localhost_frssoft | a99cd9fd57 | ||
localhost_frssoft | 230d92f399 |
9
MIRRORS
9
MIRRORS
|
@ -1,6 +1,5 @@
|
|||
# Avalaible mirrors
|
||||
https://inex.dev/localhost_frssoft/funkwhale-cli.git
|
||||
|- https://git.vector1.dev/localhost_frssoft/funkwhale-cli
|
||||
https://git.macaw.me/localhost_frssoft/funkwhale-cli.git
|
||||
https://code.criminallycute.fi/localhost_frssoft/funkwhale-cli.git
|
||||
https://git.poridge.club/localhost_frssoft/funkwhale-cli.git
|
||||
https://inex.dev/localhost_frssoft/funkwlmpv.git
|
||||
|- https://git.vector1.dev/localhost_frssoft/funkwlmpv
|
||||
https://git.macaw.me/localhost_frssoft/funkwlmpv.git
|
||||
https://code.criminallycute.fi/localhost_frssoft/funkwlmpv.git
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# funkwhale-cli
|
||||
# funkwlmpv
|
||||
Just for fun. A simple TUI media player for FunkWhale instances. Writen on python
|
||||
|
||||
Features:
|
||||
|
@ -21,7 +21,7 @@ Python dependencies:
|
|||
Optional: brotli
|
||||
|
||||
### About cache folder
|
||||
funkwhale-cli has to cache tracks before playing (default disabled "enable_persistent_cache"). Cache is persistent and you should manage it manually because the (script/program) can't clean it automatically.
|
||||
funkwlmpv has to cache tracks before playing (default disabled "enable_persistent_cache"). Cache is persistent and you should manage it manually because the (script/program) can't clean it automatically.
|
||||
Cache structure: cache/domain.tld/[track uuid]
|
||||
You can play tracks offline, example: mpv --shuffle cache/*/*
|
||||
cache_helper.sh - it might be useful for compression cache (lossy: vorbis 128 kbps, no thumbnail)
|
||||
|
|
|
@ -94,7 +94,7 @@ def main():
|
|||
print(f'''
|
||||
If You want sign in, please visit:
|
||||
https://{current_instance.instance}/settings/applications/new
|
||||
And fill Name funkwhale-cli
|
||||
And fill Name funkwlmpv
|
||||
Scopes:
|
||||
Read | Write (optional):
|
||||
write:libraries
|
|
@ -32,7 +32,7 @@ class current_instance:
|
|||
s = requests.Session()
|
||||
s.headers.update({
|
||||
"Accept-encoding": 'gzip, br, deflate',
|
||||
"User-Agent": "funkwhale-cli/latest-commit; +https://git.phreedom.club/localhost_frssoft/funkwhale-cli"
|
||||
"User-Agent": "funkwlmpv/latest-commit; +https://git.phreedom.club/localhost_frssoft/funkwlmpv"
|
||||
})
|
||||
instance = get_config('instance')
|
||||
token = auth.get(instance)
|
||||
|
|
|
@ -77,7 +77,7 @@ def fetch_instances_nodeinfo_and_avalaibility(instances):
|
|||
return requests.get('https://' + instance + '/api/v1/instance/nodeinfo/2.0/',
|
||||
headers={
|
||||
'Accept-Encoding': 'gzip, brotli, deflate',
|
||||
'User-Agent': 'funkwhale-cli/latest-commit; +https://git.phreedom.club/localhost_frssoft/funkwhale-cli'},
|
||||
'User-Agent': 'funkwlmpv/latest-commit; +https://git.phreedom.club/localhost_frssoft/funkwlmpv'},
|
||||
timeout=10).json()
|
||||
|
||||
with concurrent.futures.ThreadPoolExecutor() as executor: # optimally defined number of threads
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from src.fw_api import get_favorires_tracks, get_recently_listened, get_audio_file
|
||||
from src.fw_api_hints import hint_scope
|
||||
from src.mpv_control import player, player_menu, track_url_to_uuid, player_fw_storage
|
||||
from src.mpv_control import player, player_menu, track_url_to_uuid, player_fw_storage, play_track
|
||||
from pyfzf.pyfzf import FzfPrompt
|
||||
from loguru import logger
|
||||
|
||||
|
@ -54,14 +54,3 @@ def list_fav_or_history(pg=None, search=None, scope=None, is_history_view=False)
|
|||
else:
|
||||
play_track(track=tracks_results[int(
|
||||
select[0].split('.', 1)[0])]['track'])
|
||||
|
||||
|
||||
def play_track(track, multi=False):
|
||||
listen_url = get_audio_file(track['listen_url'], True)
|
||||
player_fw_storage.storage[track_url_to_uuid(listen_url)] = track
|
||||
if multi:
|
||||
player.loadfile(listen_url, 'append-play')
|
||||
else:
|
||||
player.loadfile(listen_url, 'append-play')
|
||||
track_name = track.get('title')
|
||||
player_menu(f"{track_name} playing...", player_fw_storage.storage)
|
||||
|
|
|
@ -49,10 +49,13 @@ def list_tracks(pg=None, search=None, tag=None, library=None):
|
|||
for i in tracks_results:
|
||||
play_track(track=i, multi=True)
|
||||
elif select == 'Play all pages':
|
||||
if tracks_count > 1000:
|
||||
yn = input('WARNING: you really want add more than 1000 tracks? (y/[n])\n').lower()
|
||||
if yn != 'y':
|
||||
return
|
||||
if tracks_count > 500:
|
||||
yn = input('WARNING: you really want add more than 500 tracks? (y/[n] or number of tracks)\n').lower()
|
||||
try:
|
||||
tracks_count = int(yn)
|
||||
except:
|
||||
if yn != 'y':
|
||||
return
|
||||
count_loaded = 0
|
||||
while tracks_count > count_loaded:
|
||||
for i in tracks_results:
|
||||
|
|
|
@ -69,7 +69,7 @@ def send_listen_activity():
|
|||
tags = ' '.join(tags)
|
||||
if tags == []:
|
||||
tags = ''
|
||||
status_obj = {'spoiler_text': 'funkwhale-cli music share',
|
||||
status_obj = {'spoiler_text': 'funkwlmpv music share',
|
||||
'visibility': 'unlisted',
|
||||
'status': f'🎧 {artist} - {album} - {title}\n{fid}\n#NowPlaying {tags}'}
|
||||
requests.post(f'https://{share_to_fediverse_instance}/api/v1/statuses',
|
||||
|
|
Loading…
Reference in a new issue