Git Product home page Git Product logo

bobbyesp / spowlo Goto Github PK

View Code? Open in Web Editor NEW
778.0 17.0 15.0 587.23 MB

A Spotify songs downloader for Android made with Jetpack Compose, Material You and the spotDL Python library

Home Page: https://t.me/spowlo_chatroom

License: GNU General Public License v3.0

Kotlin 100.00%
jetpack-compose material-you material3 android clean-architecture downloader kotlin spotify music music-downloader

spowlo's Introduction

spotify

Spowlo

A Spotify songs downloader powered by spotDL made with Jetpack Compose and Material You

Telegram Channel GitHub all releases GitHub Repo stars

GitHub code size in bytes GitHub top language

๐Ÿ“ธ Screenshots

โš ๏ธ Warning

Spowlo uses YT Music and YouTube to download the songs. This is because Spotify DRM bypassing can lead to an account ban and legal issues. If YT Music isn't available in your country, don't worry, you can still use YouTube as audio provider or use a VPN. We are working on making a regional bypass so don't matter your region. Thank you for understanding.

๐Ÿ”ฎ Features

  • Download songs from Spotify thanks to the spotDL library.

  • Downloading without links, just a search query

  • Download full playlists with just one click.

  • Embed synced lyrics into the downloaded songs.

  • Easy to use and user-friendly.

  • Material Design 3 style UI, with dynamic color theme.

  • MAD: UI and logic written purely on Kotlin. It's used just an activity and composable destinations and deep links thanks to the navigation library.

โฌ‡๏ธDownload

For most devices, it is recommended to install the ARM64-v8a version of the apks

Translation

We are using Hosted Weblate for the translations of the app. if you want to contribute follow this link ๐Ÿ–‡๏ธ

๐Ÿ“–Credits

Thanks to xnetcat for it's help with some spotDL related things!

Thanks to Seal and JunkFood02 for some of the code of the app and UI ideas. (Without you, this app would not have existed). I learnt a lot about architectures, corroutines, Jetpack Compose...

Philipp Lackner. Infinite thanks to you, Philipp. You made me learn infinite things with just a few videos. This guy explains literally everything about what is he coding, make apps just to make the community learn, and give us some amazing utilities. Without he, probably I wouldn't started coding for Android.

Material color utilities for having Material You coloring support in any device.

Katoka, for the app name. (Thank you! Without your moral support I couldn't have done the app hahaha)

MoureDev by Brais Moure

Programaciรณn Android by AristiDevs

And also thank you all for the internal tests of the app!

spowlo's People

Contributors

bobbyesp avatar kevinytttt2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spowlo's Issues

[Bug Report] 200 songs playlist cannot be downloaded

Error

Android is limitating the use of more than 35MB of memory, having an exception of type: [java.lang.OutOfMemoryError].

Device info & report

App version: 1.0.0 (10000)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: Hand-imported v4.1.0 (Preview)

URL: https://open.spotify.com/playlist/6S8GDgx3pauv7AHk06Vx8x?si=-Yc_UCM9QQa38Kf6SRNrtg&utm_source=copy-link
Failed to allocate a 92164736 byte allocation with 25165824 free bytes and 34MB until OOM, target footprint 257110352, growth limit 268435456

Nothing downloads

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

Nothing downloads. It's just gets stuck at displaying the song name and a time indicator, but never progresses, and eventually errors out. I have successfully downloaded this playlist before on desktop with SpotDL standalone.

To Reproduce

  1. Attempt to download playlist (https://open.spotify.com/playlist/0vwbEJVW44CsOo5eOmHu3r I know doesn't work)
  2. Nothing ever downloads

Error reports

Processing query: https://open.spotify.com/playlist/0vwbEJVW44CsOo5eOmHu3r
Found 520 songs in dl (Playlist)
Total 0/520 complete โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
Grant - Dead Man Walking Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
Ace Aura - UMBRA Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
Bossfight - Grit Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
Crankdat - Ding Dong Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--

It's never gone past this point

Screenshots & Screen Records

No response

Device info

App version: 1.3.3 (10300)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

No response

[Feature Request] Link (go to) output folder for instant access, plz

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

No response

Describe the solution you'd like

No response

Song/playlist link

No response

Additional context

No response

Downloads not working

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

Any song I try to download it doesn't work. Yt music is available in my country

To Reproduce

Just download any song and you get thr error

Error reports

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connection.py:174 in _new_conn โ”‚
โ”‚ โ”‚
โ”‚ 173 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 174 โ”‚ โ”‚ โ”‚ conn = connection.create_connection( โ”‚
โ”‚ 175 โ”‚ โ”‚ โ”‚ โ”‚ (self._dns_host, self.port), self.timeout, **extra_kw โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/connection.py:72 in โ”‚
โ”‚ create_connection โ”‚
โ”‚ 71 โ”‚ โ”‚
โ”‚ โฑ 72 โ”‚ for res in socket.getaddrinfo(host, port, family, socket.SOCK_STRE โ”‚
โ”‚ 73 โ”‚ โ”‚ af, socktype, proto, canonname, sa = res โ”‚
โ”‚ r/lib/python3.8/socket.py:914 in getaddrinfo โ”‚
โ”‚ 913 โ”‚ addrlist = [] โ”‚
โ”‚ โฑ 914 โ”‚ for res in _socket.getaddrinfo(host, port, family, type, proto, fl โ”‚
โ”‚ 915 โ”‚ โ”‚ af, socktype, proto, canonname, sa = res โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
gaierror: [Errno 7] No address associated with hostname
During handling of the above exception, another exception occurred:
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:703 in urlopen โ”‚
โ”‚ 702 โ”‚ โ”‚ โ”‚ # Make the request on the httplib connection object. โ”‚
โ”‚ โฑ 703 โ”‚ โ”‚ โ”‚ httplib_response = self._make_request( โ”‚
โ”‚ 704 โ”‚ โ”‚ โ”‚ โ”‚ conn, โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:386 in _make_request โ”‚
โ”‚ 385 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 386 โ”‚ โ”‚ โ”‚ self._validate_conn(conn) โ”‚
โ”‚ 387 โ”‚ โ”‚ except (SocketTimeout, BaseSSLError) as e: โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:1042 in โ”‚
โ”‚ _validate_conn โ”‚
โ”‚ 1041 โ”‚ โ”‚ if not getattr(conn, "sock", None): # AppEngine might not ha โ”‚
โ”‚ โฑ 1042 โ”‚ โ”‚ โ”‚ conn.connect() โ”‚
โ”‚ 1043 โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connection.py:358 in connect โ”‚
โ”‚ 357 โ”‚ โ”‚ # Add certificate verification โ”‚
โ”‚ โฑ 358 โ”‚ โ”‚ self.sock = conn = self._new_conn() โ”‚
โ”‚ 359 โ”‚ โ”‚ hostname = self.host โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connection.py:186 in _new_conn โ”‚
โ”‚ 185 โ”‚ โ”‚ except SocketError as e: โ”‚
โ”‚ โฑ 186 โ”‚ โ”‚ โ”‚ raise NewConnectionError( โ”‚
โ”‚ 187 โ”‚ โ”‚ โ”‚ โ”‚ self, "Failed to establish a new connection: %s" % e โ”‚
NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xe60aa970>:
Failed to establish a new connection: [Errno 7] No address associated with
โ”‚ r/lib/python3.8/site-packages/requests/adapters.py:489 in send โ”‚
โ”‚ 488 โ”‚ โ”‚ โ”‚ if not chunked: โ”‚
โ”‚ โฑ 489 โ”‚ โ”‚ โ”‚ โ”‚ resp = conn.urlopen( โ”‚
โ”‚ 490 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ method=request.method, โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:787 in urlopen โ”‚
โ”‚ 786 โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โฑ 787 โ”‚ โ”‚ โ”‚ retries = retries.increment( โ”‚
โ”‚ 788 โ”‚ โ”‚ โ”‚ โ”‚ method, url, error=e, _pool=self, _stacktrace=sys.exc โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/retry.py:592 in increment โ”‚
โ”‚ 591 โ”‚ โ”‚ if new_retry.is_exhausted(): โ”‚
โ”‚ โฑ 592 โ”‚ โ”‚ โ”‚ raise MaxRetryError(_pool, url, error or ResponseError(cau โ”‚
โ”‚ 593 โ”‚
MaxRetryError: HTTPSConnectionPool(host='www.azlyrics.com', port=443): Max
retries exceeded with url: / (Caused by
NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xe60aa970>:
hostname'))
โ”‚ r/lib/python3.8/runpy.py:192 in _run_module_as_main โ”‚
โ”‚ 191 โ”‚ โ”‚ sys.argv[0] = mod_spec.origin โ”‚
โ”‚ โฑ 192 โ”‚ return _run_code(code, main_globals, None, โ”‚
โ”‚ 193 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "main", mod_spec) โ”‚
โ”‚ r/lib/python3.8/runpy.py:85 in _run_code โ”‚
โ”‚ 84 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ spec = mod_spec) โ”‚
โ”‚ โฑ 85 โ”‚ exec(code, run_globals) โ”‚
โ”‚ 86 โ”‚ return run_globals โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/ma โ”‚
โ”‚ in
.py:9 in โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/m โ”‚
โ”‚ ain
.py' โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/console/entry_point.py:109 in console_entry_point โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/console/entry_point.py' โ”‚
โ”‚ dl/download/downloader.py:188 in init โ”‚
โ”‚ tdl/download/downloader.py' โ”‚
โ”‚ dl/providers/lyrics/azlyrics.py:26 in init โ”‚
โ”‚ tdl/providers/lyrics/azlyrics.py' โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:600 in get โ”‚
โ”‚ 599 โ”‚ โ”‚ kwargs.setdefault("allow_redirects", True) โ”‚
โ”‚ โฑ 600 โ”‚ โ”‚ return self.request("GET", url, **kwargs) โ”‚
โ”‚ 601 โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:587 in request โ”‚
โ”‚ 586 โ”‚ โ”‚ send_kwargs.update(settings) โ”‚
โ”‚ โฑ 587 โ”‚ โ”‚ resp = self.send(prep, **send_kwargs) โ”‚
โ”‚ 588 โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:701 in send โ”‚
โ”‚ 700 โ”‚ โ”‚ # Send the request โ”‚
โ”‚ โฑ 701 โ”‚ โ”‚ r = adapter.send(request, **kwargs) โ”‚
โ”‚ 702 โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/adapters.py:565 in send โ”‚
โ”‚ 564 โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โฑ 565 โ”‚ โ”‚ โ”‚ raise ConnectionError(e, request=request) โ”‚
โ”‚ 566 โ”‚
ConnectionError: HTTPSConnectionPool(host='www.azlyrics.com', port=443): Max

Error executing command: [/data/app/~~y9DWi7nO5bzP-M1eG0Ovbw==/com.bobbyesp.spowlo-DRZjUxo386aAYWpJ_kJr-w==/lib/arm/libpython.bin.so, /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl, download, https://open.spotify.com/track/3OTSBoYKO7HzGVj8Bu2OH9, --output, /storage/emulated/0/Download/Spowlo, --bitrate, disable, --format, m4a, --audio, youtube-music, --threads, 3, --no-cache, --ffmpeg, /data/app/~~y9DWi7nO5bzP-M1eG0Ovbw==/com.bobbyesp.spowlo-DRZjUxo386aAYWpJ_kJr-w==/lib/arm/libffmpeg.so], exit code: 1, stderr:

stdout: โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connection.py:174 in _new_conn โ”‚
โ”‚ โ”‚
โ”‚ 173 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 174 โ”‚ โ”‚ โ”‚ conn = connection.create_connection( โ”‚
โ”‚ 175 โ”‚ โ”‚ โ”‚ โ”‚ (self._dns_host, self.port), self.timeout, **extra_kw โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/connection.py:72 in โ”‚
โ”‚ create_connection โ”‚
โ”‚ โ”‚
โ”‚ 71 โ”‚ โ”‚
โ”‚ โฑ 72 โ”‚ for res in socket.getaddrinfo(host, port, family, socket.SOCK_STRE โ”‚
โ”‚ 73 โ”‚ โ”‚ af, socktype, proto, canonname, sa = res โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/socket.py:914 in getaddrinfo โ”‚
โ”‚ โ”‚
โ”‚ 913 โ”‚ addrlist = [] โ”‚
โ”‚ โฑ 914 โ”‚ for res in _socket.getaddrinfo(host, port, family, type, proto, fl โ”‚
โ”‚ 915 โ”‚ โ”‚ af, socktype, proto, canonname, sa = res โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
gaierror: [Errno 7] No address associated with hostname
During handling of the above exception, another exception occurred:
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:703 in urlopen โ”‚
โ”‚ โ”‚
โ”‚ 702 โ”‚ โ”‚ โ”‚ # Make the request on the httplib connection object. โ”‚
โ”‚ โฑ 703 โ”‚ โ”‚ โ”‚ httplib_response = self._make_request( โ”‚
โ”‚ 704 โ”‚ โ”‚ โ”‚ โ”‚ conn, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:386 in _make_request โ”‚
โ”‚ โ”‚
โ”‚ 385 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 386 โ”‚ โ”‚ โ”‚ self._validate_conn(conn) โ”‚
โ”‚ 387 โ”‚ โ”‚ except (SocketTimeout, BaseSSLError) as e: โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:1042 in โ”‚
โ”‚ _validate_conn โ”‚
โ”‚ โ”‚
โ”‚ 1041 โ”‚ โ”‚ if not getattr(conn, "sock", None): # AppEngine might not ha โ”‚
โ”‚ โฑ 1042 โ”‚ โ”‚ โ”‚ conn.connect() โ”‚
โ”‚ 1043 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connection.py:358 in connect โ”‚
โ”‚ โ”‚
โ”‚ 357 โ”‚ โ”‚ # Add certificate verification โ”‚
โ”‚ โฑ 358 โ”‚ โ”‚ self.sock = conn = self._new_conn() โ”‚
โ”‚ 359 โ”‚ โ”‚ hostname = self.host โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connection.py:186 in _new_conn โ”‚
โ”‚ โ”‚
โ”‚ 185 โ”‚ โ”‚ except SocketError as e: โ”‚
โ”‚ โฑ 186 โ”‚ โ”‚ โ”‚ raise NewConnectionError( โ”‚
โ”‚ 187 โ”‚ โ”‚ โ”‚ โ”‚ self, "Failed to establish a new connection: %s" % e โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xe60aa970>:
Failed to establish a new connection: [Errno 7] No address associated with
hostname
During handling of the above exception, another exception occurred:
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/adapters.py:489 in send โ”‚
โ”‚ โ”‚
โ”‚ 488 โ”‚ โ”‚ โ”‚ if not chunked: โ”‚
โ”‚ โฑ 489 โ”‚ โ”‚ โ”‚ โ”‚ resp = conn.urlopen( โ”‚
โ”‚ 490 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ method=request.method, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:787 in urlopen โ”‚
โ”‚ โ”‚
โ”‚ 786 โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โฑ 787 โ”‚ โ”‚ โ”‚ retries = retries.increment( โ”‚
โ”‚ 788 โ”‚ โ”‚ โ”‚ โ”‚ method, url, error=e, _pool=self, _stacktrace=sys.exc โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/retry.py:592 in increment โ”‚
โ”‚ โ”‚
โ”‚ 591 โ”‚ โ”‚ if new_retry.is_exhausted(): โ”‚
โ”‚ โฑ 592 โ”‚ โ”‚ โ”‚ raise MaxRetryError(_pool, url, error or ResponseError(cau โ”‚
โ”‚ 593 โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
MaxRetryError: HTTPSConnectionPool(host='www.azlyrics.com', port=443): Max
retries exceeded with url: / (Caused by
NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xe60aa970>:
Failed to establish a new connection: [Errno 7] No address associated with
hostname'))
During handling of the above exception, another exception occurred:
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/runpy.py:192 in _run_module_as_main โ”‚
โ”‚ โ”‚
โ”‚ 191 โ”‚ โ”‚ sys.argv[0] = mod_spec.origin โ”‚
โ”‚ โฑ 192 โ”‚ return _run_code(code, main_globals, None, โ”‚
โ”‚ 193 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "main", mod_spec) โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/runpy.py:85 in _run_code โ”‚
โ”‚ โ”‚
โ”‚ 84 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ spec = mod_spec) โ”‚
โ”‚ โฑ 85 โ”‚ exec(code, run_globals) โ”‚
โ”‚ 86 โ”‚ return run_globals โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/ma โ”‚
โ”‚ in
.py:9 in โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/m โ”‚
โ”‚ ain
.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/console/entry_point.py:109 in console_entry_point โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/console/entry_point.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/download/downloader.py:188 in init โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/download/downloader.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/providers/lyrics/azlyrics.py:26 in init โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/providers/lyrics/azlyrics.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:600 in get โ”‚
โ”‚ โ”‚
โ”‚ 599 โ”‚ โ”‚ kwargs.setdefault("allow_redirects", True) โ”‚
โ”‚ โฑ 600 โ”‚ โ”‚ return self.request("GET", url, **kwargs) โ”‚
โ”‚ 601 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:587 in request โ”‚
โ”‚ โ”‚
โ”‚ 586 โ”‚ โ”‚ send_kwargs.update(settings) โ”‚
โ”‚ โฑ 587 โ”‚ โ”‚ resp = self.send(prep, **send_kwargs) โ”‚
โ”‚ 588 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:701 in send โ”‚
โ”‚ โ”‚
โ”‚ 700 โ”‚ โ”‚ # Send the request โ”‚
โ”‚ โฑ 701 โ”‚ โ”‚ r = adapter.send(request, **kwargs) โ”‚
โ”‚ 702 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/adapters.py:565 in send โ”‚
โ”‚ โ”‚
โ”‚ 564 โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โฑ 565 โ”‚ โ”‚ โ”‚ raise ConnectionError(e, request=request) โ”‚
โ”‚ 566 โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
ConnectionError: HTTPSConnectionPool(host='www.azlyrics.com', port=443): Max
retries exceeded with url: / (Caused by
NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xe60aa970>:
Failed to establish a new connection: [Errno 7] No address associated with
hostname'))

Screenshots & Screen Records

No response

Device info

App version: 1.3.4 (10340)
Device information: Android 11 (API 30)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

No response

Song not found bug

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

No response

To Reproduce

No response

Error reports

When I download a song from Spotify that shows from the application and redirect it the Spotify music downloader app it would sometimes give me a error saying Song not found

Screenshots & Screen Records

Screenshot_20230815-102121

Device info

App version: 1.3.4 (10340)
Device information: Android 12 (API 31)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

URL: https://open.spotify.com/track/3Gy1kfzpOt39xH1zM87VsQ?si=SzP7OrK2RTq83c3EwvjdfQ
A LookupError occurred. The song wasn't found. Try changing the audio provider in the settings and also disabling the 'Don't filter results' option.

Additional context

No response

Polish Translation [Feature Request]

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

No response

Describe the solution you'd like

I want to translate app to Polish language
My nick on Hosted Weblate: Vretu

Song/playlist link

No response

Additional context

No response

[Feature Request] Hosted Weblate for Spowlo?

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

My request is related to the app's translation. I want to translate the app in Russian and Hosted Weblate seems to be the most convenient way to do it.

Describe the solution you'd like

No response

Song/playlist link

No response

Additional context

No response

app closing after some time

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

the app keeps on crashing or just closing even when I'm not performing anything, it works for about 20 seconds and after that it closes

To Reproduce

No response

Error reports

java.net.SocketTimeoutException: failed to connect to raw.githubusercontent.com/2405:200:1607:2820:41::36 (port 443) from /2409:408a:840e:bb3f::10cd:90a1 (port 36950) after 10000ms
at libcore.io.IoBridge.connectErrno(IoBridge.java:235)
at libcore.io.IoBridge.connect(IoBridge.java:179)
at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
at java.net.Socket.connect(Socket.java:646)
at qc.h.e(Unknown Source:5)
at mc.b.i(Unknown Source:74)
at mc.b.g(Unknown Source:42)
at mc.o.a(Unknown Source:20)
at mc.a.a(Unknown Source:29)
at nc.f.b(Unknown Source:136)
at kc.a.a(Unknown Source:141)
at nc.f.b(Unknown Source:136)
at nc.a.a(Unknown Source:144)
at nc.f.b(Unknown Source:136)
at nc.h.a(Unknown Source:170)
at nc.f.b(Unknown Source:136)
at mc.g.g(Unknown Source:95)
at mc.g$a.run(Unknown Source:47)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Suppressed: java.net.SocketTimeoutException: failed to connect to raw.githubusercontent.com/49.44.79.236 (port 443) from /192.0.0.4 (port 49156) after 10000ms
... 25 more
Suppressed: wb.l0: [androidx.compose.ui.platform.f2@bc9f189, m0.e@589c58e, y1{Cancelling}@fae91af, x0@a1189bc]

Screenshots & Screen Records

Screenshot_2023-09-19-00-40-53-280_com android chrome

Device info

App version: 1.3.4 (10340)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

No response

[App crash] App crash when downloading any song or playlist

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

app crashes when user requests a downloading of a song or playlist
I am on Pixel 7 on Android 14

To Reproduce

  1. paste any song/playlist link
  2. start download
  3. crashes with no debug info, white screen
  4. android system alerts that the spowlo is not responding

Error reports

There is no error codes or reports, only blank white screen

Screenshots & Screen Records

screen-20231229-154347.1.mp4

Device info

App version: 1.4.0 (1040000)
Device information: Android 14 (API 34)
Supported ABIs: [arm64-v8a]
spotDL version: null

Additional context

The issue did not appear in the previous version (v1.3.4), it has only appeared when I have updated. I have also cleared the storage of the app

[Feature Request]

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

No response

Describe the solution you'd like

Once we have downloaded a playlist, it makes sense that it would be updated in the future with new songs. Can we download multiple songs from a playlist, without downloading the old ones again. So we don't have to download new ones 1 by 1 .

Song/playlist link

No response

Additional context

No response

[App crash]

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

No response

To Reproduce

No response

Error reports

java.lang.IllegalStateException: Test
at com.bobbyesp.spowlo.ui.pages.home.ComposableSingletons$HomePageKt$lambda-4$1$1$1.invoke(HomePage.kt:54)
at com.bobbyesp.spowlo.ui.pages.home.ComposableSingletons$HomePageKt$lambda-4$1$1$1.invoke(HomePage.kt:54)
at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke-k-4lQ0M(Clickable.kt:976)
at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke(Clickable.kt:970)
at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1.invokeSuspend(TapGestureDetector.kt:255)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:177)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:166)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:508)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:497)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:368)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:665)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:544)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:566)
at androidx.compose.foundation.AbstractClickablePointerInputNode.onPointerEvent-H0pRuoY(Clickable.kt:936)
at androidx.compose.foundation.AbstractClickableNode.onPointerEvent-H0pRuoY(Clickable.kt:784)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:317)
at androidx.compose.ui.input.pointer.Node.dispatchMainEv...

Screenshots & Screen Records

No response

Device info

App version 2.0.0
Android 13
Arm 64 v8a

Additional context

No response

Download error

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

I copy or share the song link that I want to download, but after a few seconds it gives an error. And it cannot be downloaded.

To Reproduce

No response

Error reports

App version: 1.3.4 (10340)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

URL: https://open.spotify.com/track/4RVRgJXr8rPcHJqE7WLIcQ?si=Mvj5sWd7QruN9Y-_1tyLiA
Error executing command: [/data/app/~~ivJXRa3uY4f6or2tmToaUg==/com.bobbyesp.spowlo-qz3-V0utWD4MOPufJe_Q7Q==/lib/arm64/libpython.bin.so, /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl, download, https://open.spotify.com/track/4RVRgJXr8rPcHJqE7WLIcQ, --output, /storage/emulated/0/Download/Spowlo, --bitrate, 320k, --format, mp3, --no-cache, --ffmpeg, /data/app/~~ivJXRa3uY4f6or2tmToaUg==/com.bobbyesp.spowlo-qz3-V0utWD4MOPufJe_Q7Q==/lib/arm64/libffmpeg.so], exit code: 1, stderr:

stdout: โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:386 in _make_request โ”‚
โ”‚ โ”‚
โ”‚ 385 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 386 โ”‚ โ”‚ โ”‚ self._validate_conn(conn) โ”‚
โ”‚ 387 โ”‚ โ”‚ except (SocketTimeout, BaseSSLError) as e: โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:1042 in โ”‚
โ”‚ validate_conn โ”‚
โ”‚ โ”‚
โ”‚ 1041 โ”‚ โ”‚ if not getattr(conn, "sock", None): # AppEngine might not ha โ”‚
โ”‚ โฑ 1042 โ”‚ โ”‚ โ”‚ conn.connect() โ”‚
โ”‚ 1043 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connection.py:414 in connect โ”‚
โ”‚ โ”‚
โ”‚ 413 โ”‚ โ”‚ โ”‚
โ”‚ โฑ 414 โ”‚ โ”‚ self.sock = ssl_wrap_socket( โ”‚
โ”‚ 415 โ”‚ โ”‚ โ”‚ sock=conn, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/ssl
.py:449 in ssl_wrap_socket โ”‚
โ”‚ โ”‚
โ”‚ 448 โ”‚ if send_sni: โ”‚
โ”‚ โฑ 449 โ”‚ โ”‚ ssl_sock = ssl_wrap_socket_impl( โ”‚
โ”‚ 450 โ”‚ โ”‚ โ”‚ sock, context, tls_in_tls, server_hostname=server_hostname โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/ssl
.py:493 in โ”‚
โ”‚ _ssl_wrap_socket_impl โ”‚
โ”‚ โ”‚
โ”‚ 492 โ”‚ if server_hostname: โ”‚
โ”‚ โฑ 493 โ”‚ โ”‚ return ssl_context.wrap_socket(sock, server_hostname=server_ho โ”‚
โ”‚ 494 โ”‚ else: โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/ssl.py:500 in wrap_socket โ”‚
โ”‚ โ”‚
โ”‚ 499 โ”‚ โ”‚ # ctx._wrap_socket() โ”‚
โ”‚ โฑ 500 โ”‚ โ”‚ return self.sslsocket_class._create( โ”‚
โ”‚ 501 โ”‚ โ”‚ โ”‚ sock=sock, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/ssl.py:1040 in _create โ”‚
โ”‚ โ”‚
โ”‚ 1039 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ raise ValueError("do_handshake_on_connect sho โ”‚
โ”‚ โฑ 1040 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ self.do_handshake() โ”‚
โ”‚ 1041 โ”‚ โ”‚ โ”‚ except (OSError, ValueError): โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/ssl.py:1309 in do_handshake โ”‚
โ”‚ โ”‚
โ”‚ 1308 โ”‚ โ”‚ โ”‚ โ”‚ self.settimeout(None) โ”‚
โ”‚ โฑ 1309 โ”‚ โ”‚ โ”‚ self._sslobj.do_handshake() โ”‚
โ”‚ 1310 โ”‚ โ”‚ finally: โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
timeout: _ssl.c:1091: The handshake operation timed out
During handling of the above exception, another exception occurred:
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/adapters.py:489 in send โ”‚
โ”‚ โ”‚
โ”‚ 488 โ”‚ โ”‚ โ”‚ if not chunked: โ”‚
โ”‚ โฑ 489 โ”‚ โ”‚ โ”‚ โ”‚ resp = conn.urlopen( โ”‚
โ”‚ 490 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ method=request.method, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:787 in urlopen โ”‚
โ”‚ โ”‚
โ”‚ 786 โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โฑ 787 โ”‚ โ”‚ โ”‚ retries = retries.increment( โ”‚
โ”‚ 788 โ”‚ โ”‚ โ”‚ โ”‚ method, url, error=e, _pool=self, _stacktrace=sys.exc โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/retry.py:550 in increment โ”‚
โ”‚ โ”‚
โ”‚ 549 โ”‚ โ”‚ โ”‚ if read is False or not self._is_method_retryable(method): โ”‚
โ”‚ โฑ 550 โ”‚ โ”‚ โ”‚ โ”‚ raise six.reraise(type(error), error, _stacktrace) โ”‚
โ”‚ 551 โ”‚ โ”‚ โ”‚ elif read is not None: โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/packages/six.py:770 in reraise โ”‚
โ”‚ โ”‚
โ”‚ 769 โ”‚ โ”‚ โ”‚ โ”‚ raise value.with_traceback(tb) โ”‚
โ”‚ โฑ 770 โ”‚ โ”‚ โ”‚ raise value โ”‚
โ”‚ 771 โ”‚ โ”‚ finally: โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:703 in urlopen โ”‚
โ”‚ โ”‚
โ”‚ 702 โ”‚ โ”‚ โ”‚ # Make the request on the httplib connection object. โ”‚
โ”‚ โฑ 703 โ”‚ โ”‚ โ”‚ httplib_response = self._make_request( โ”‚
โ”‚ 704 โ”‚ โ”‚ โ”‚ โ”‚ conn, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:389 in _make_request โ”‚
โ”‚ โ”‚
โ”‚ 388 โ”‚ โ”‚ โ”‚ # Py2 raises this as a BaseSSLError, Py3 raises it as soc โ”‚
โ”‚ โฑ 389 โ”‚ โ”‚ โ”‚ self._raise_timeout(err=e, url=url, timeout_value=conn.ti โ”‚
โ”‚ 390 โ”‚ โ”‚ โ”‚ raise โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:340 in โ”‚
โ”‚ _raise_timeout โ”‚
โ”‚ โ”‚
โ”‚ 339 โ”‚ โ”‚ if isinstance(err, SocketTimeout): โ”‚
โ”‚ โฑ 340 โ”‚ โ”‚ โ”‚ raise ReadTimeoutError( โ”‚
โ”‚ 341 โ”‚ โ”‚ โ”‚ โ”‚ self, url, "Read timed out. (read timeout=%s)" % time โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
ReadTimeoutError: HTTPSConnectionPool(host='music.youtube.com', port=443): Read
timed out. (read timeout=30)
During handling of the above exception, another exception occurred:
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/runpy.py:192 in _run_module_as_main โ”‚
โ”‚ โ”‚
โ”‚ 191 โ”‚ โ”‚ sys.argv[0] = mod_spec.origin โ”‚
โ”‚ โฑ 192 โ”‚ return _run_code(code, main_globals, None, โ”‚
โ”‚ 193 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "main", mod_spec) โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/runpy.py:85 in _run_code โ”‚
โ”‚ โ”‚
โ”‚ 84 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ spec = mod_spec) โ”‚
โ”‚ โฑ 85 โ”‚ exec(code, run_globals) โ”‚
โ”‚ 86 โ”‚ return run_globals โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/ma โ”‚
โ”‚ in
.py:9 in โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/m โ”‚
โ”‚ ain
.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/console/entry_point.py:109 in console_entry_point โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/console/entry_point.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/download/downloader.py:198 in init โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/download/downloader.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/providers/audio/ytmusic.py:38 in init โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/providers/audio/ytmusic.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/ytmusicapi/ytmusic.py:99 in init โ”‚
โ”‚ โ”‚
โ”‚ 98 โ”‚ โ”‚ if 'x-goog-visitor-id' not in self.headers: โ”‚
โ”‚ โฑ 99 โ”‚ โ”‚ โ”‚ self.headers.update(get_visitor_id(self._send_get_request) โ”‚
โ”‚ 100 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/ytmusicapi/helpers.py:34 in get_visitor_id โ”‚
โ”‚ โ”‚
โ”‚ 33 def get_visitor_id(request_func): โ”‚
โ”‚ โฑ 34 โ”‚ response = request_func(YTM_DOMAIN) โ”‚
โ”‚ 35 โ”‚ matches = re.findall(r'ytcfg.set\s*(\s*({.+?})\s*)\s*;', respons โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/ytmusicapi/ytmusic.py:148 in _send_get_request โ”‚
โ”‚ โ”‚
โ”‚ 147 โ”‚ def _send_get_request(self, url: str, params: Dict = None): โ”‚
โ”‚ โฑ 148 โ”‚ โ”‚ response = self._session.get(url, โ”‚
โ”‚ 149 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ params=params, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:600 in get โ”‚
โ”‚ โ”‚
โ”‚ 599 โ”‚ โ”‚ kwargs.setdefault("allow_redirects", True) โ”‚
โ”‚ โฑ 600 โ”‚ โ”‚ return self.request("GET", url, **kwargs) โ”‚
โ”‚ 601 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:587 in request โ”‚
โ”‚ โ”‚
โ”‚ 586 โ”‚ โ”‚ send_kwargs.update(settings) โ”‚
โ”‚ โฑ 587 โ”‚ โ”‚ resp = self.send(prep, **send_kwargs) โ”‚
โ”‚ 588 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:701 in send โ”‚
โ”‚ โ”‚
โ”‚ 700 โ”‚ โ”‚ # Send the request โ”‚
โ”‚ โฑ 701 โ”‚ โ”‚ r = adapter.send(request, **kwargs) โ”‚
โ”‚ 702 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/adapters.py:578 in send โ”‚
โ”‚ โ”‚
โ”‚ 577 โ”‚ โ”‚ โ”‚ elif isinstance(e, ReadTimeoutError): โ”‚
โ”‚ โฑ 578 โ”‚ โ”‚ โ”‚ โ”‚ raise ReadTimeout(e, request=request) โ”‚
โ”‚ 579 โ”‚ โ”‚ โ”‚ elif isinstance(e, _InvalidHeader): โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
ReadTimeout: HTTPSConnectionPool(host='music.youtube.com', port=443): Read timed
out. (read timeout=30)

Screenshots & Screen Records

Screenshot_2023-10-26-02-51-48-951_com bobbyesp spowlo

Device info

App version: 1.3.4 (10340)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

No response

Bollywood Songs Not Downloading!

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

I am able to download english songs with sync lyrics properly however in the case of Bollywood/Indian Songs, the app doesn't appear to work at all!

I am not able to download any Bollywood song via your app nevertheless its lyrics in sync.

I've attached screenshot of the error I'm getting.
(For reference: I'm trying to download "Jaduui" song from the Bollywood movie "Tu Jhooti Main Makkar".

I am waiting for your reply.

To Reproduce

No response

Error reports

App version: 1.2.1 (10201)
Device information: Android 12 (API 31)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

URL: https://open.spotify.com/track/4nriYsKSq1VmiamjZOB4Tp?si=_8tdHTfCRKqFUCebTfmzOw
Error executing command: [/data/app/-U5B_0dBGTADvnt1mTg48g==/com.bobbyesp.spowlo-HuBBuQD6MShs-EDx7_DBuw==/lib/arm64/libpython.bin.so, /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl, download, https://open.spotify.com/track/4nriYsKSq1VmiamjZOB4Tp, --output, /storage/emulated/0/Download/Spowlo, --lyrics, synced, --bitrate, disable, --format, m4a, --audio, youtube-music, --client-id, c1d249bd4b674d59bd5c527bdd1cfb52, --client-secret, e639783c8d244f9dbc5ebdd8530614a2, --no-cache, --ffmpeg, /data/app/-U5B_0dBGTADvnt1mTg48g==/com.bobbyesp.spowlo-HuBBuQD6MShs-EDx7_DBuw==/lib/arm64/libffmpeg.so], exit code: 1, stderr:

stdout: Processing query: https://open.spotify.com/track/4nriYsKSq1VmiamjZOB4Tp
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
Pritam - Jaadui (From Download Started โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 0% -:--:--
"Tuโ€ฆ
An error occurred
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connection.py:174 in _new_conn โ”‚
โ”‚ โ”‚
โ”‚ 171 โ”‚ โ”‚ โ”‚ extra_kw["socket_options"] = self.socket_options โ”‚
โ”‚ 172 โ”‚ โ”‚ โ”‚
โ”‚ 173 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 174 โ”‚ โ”‚ โ”‚ conn = connection.create_connection( โ”‚
โ”‚ 175 โ”‚ โ”‚ โ”‚ โ”‚ (self._dns_host, self.port), self.timeout, **extra_kw โ”‚
โ”‚ 176 โ”‚ โ”‚ โ”‚ ) โ”‚
โ”‚ 177 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/connection.py:95 in โ”‚
โ”‚ create_connection โ”‚
โ”‚ โ”‚
โ”‚ 92 โ”‚ โ”‚ โ”‚ โ”‚ sock = None โ”‚
โ”‚ 93 โ”‚ โ”‚
โ”‚ 94 โ”‚ if err is not None: โ”‚
โ”‚ โฑ 95 โ”‚ โ”‚ raise err โ”‚
โ”‚ 96 โ”‚ โ”‚
โ”‚ 97 โ”‚ raise socket.error("getaddrinfo returns an empty list") โ”‚
โ”‚ 98 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/connection.py:85 in โ”‚
โ”‚ create_connection โ”‚
โ”‚ โ”‚
โ”‚ 82 โ”‚ โ”‚ โ”‚ โ”‚ sock.settimeout(timeout) โ”‚
โ”‚ 83 โ”‚ โ”‚ โ”‚ if source_address: โ”‚
โ”‚ 84 โ”‚ โ”‚ โ”‚ โ”‚ sock.bind(source_address) โ”‚
โ”‚ โฑ 85 โ”‚ โ”‚ โ”‚ sock.connect(sa) โ”‚
โ”‚ 86 โ”‚ โ”‚ โ”‚ return sock โ”‚
โ”‚ 87 โ”‚ โ”‚ โ”‚
โ”‚ 88 โ”‚ โ”‚ except socket.error as e: โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
TimeoutError: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:703 in urlopen โ”‚
โ”‚ โ”‚
โ”‚ 700 โ”‚ โ”‚ โ”‚ โ”‚ self._prepare_proxy(conn) โ”‚
โ”‚ 701 โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ 702 โ”‚ โ”‚ โ”‚ # Make the request on the httplib connection object. โ”‚
โ”‚ โฑ 703 โ”‚ โ”‚ โ”‚ httplib_response = self._make_request( โ”‚
โ”‚ 704 โ”‚ โ”‚ โ”‚ โ”‚ conn, โ”‚
โ”‚ 705 โ”‚ โ”‚ โ”‚ โ”‚ method, โ”‚
โ”‚ 706 โ”‚ โ”‚ โ”‚ โ”‚ url, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:386 in _make_request โ”‚
โ”‚ โ”‚
โ”‚ 383 โ”‚ โ”‚ โ”‚
โ”‚ 384 โ”‚ โ”‚ # Trigger any extra validation we need to do. โ”‚
โ”‚ 385 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 386 โ”‚ โ”‚ โ”‚ self._validate_conn(conn) โ”‚
โ”‚ 387 โ”‚ โ”‚ except (SocketTimeout, BaseSSLError) as e: โ”‚
โ”‚ 388 โ”‚ โ”‚ โ”‚ # Py2 raises this as a BaseSSLError, Py3 raises it as soc โ”‚
โ”‚ 389 โ”‚ โ”‚ โ”‚ self._raise_timeout(err=e, url=url, timeout_value=conn.ti โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:1042 in โ”‚
โ”‚ _validate_conn โ”‚
โ”‚ โ”‚
โ”‚ 1039 โ”‚ โ”‚ โ”‚
โ”‚ 1040 โ”‚ โ”‚ # Force connect early to allow us to validate the connection. โ”‚
โ”‚ 1041 โ”‚ โ”‚ if not getattr(conn, "sock", None): # AppEngine might not ha โ”‚
โ”‚ โฑ 1042 โ”‚ โ”‚ โ”‚ conn.connect() โ”‚
โ”‚ 1043 โ”‚ โ”‚ โ”‚
โ”‚ 1044 โ”‚ โ”‚ if not conn.is_verified: โ”‚
โ”‚ 1045 โ”‚ โ”‚ โ”‚ warnings.warn( โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connection.py:358 in connect โ”‚
โ”‚ โ”‚
โ”‚ 355 โ”‚ โ”‚
โ”‚ 356 โ”‚ def connect(self): โ”‚
โ”‚ 357 โ”‚ โ”‚ # Add certificate verification โ”‚
โ”‚ โฑ 358 โ”‚ โ”‚ self.sock = conn = self._new_conn() โ”‚
โ”‚ 359 โ”‚ โ”‚ hostname = self.host โ”‚
โ”‚ 360 โ”‚ โ”‚ tls_in_tls = False โ”‚
โ”‚ 361 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connection.py:186 in _new_conn โ”‚
โ”‚ โ”‚
โ”‚ 183 โ”‚ โ”‚ โ”‚ ) โ”‚
โ”‚ 184 โ”‚ โ”‚ โ”‚
โ”‚ 185 โ”‚ โ”‚ except SocketError as e: โ”‚
โ”‚ โฑ 186 โ”‚ โ”‚ โ”‚ raise NewConnectionError( โ”‚
โ”‚ 187 โ”‚ โ”‚ โ”‚ โ”‚ self, "Failed to establish a new connection: %s" % e โ”‚
โ”‚ 188 โ”‚ โ”‚ โ”‚ ) โ”‚
โ”‚ 189 โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7df663b2b0>:
Failed to establish a new connection: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/adapters.py:489 in send โ”‚
โ”‚ โ”‚
โ”‚ 486 โ”‚ โ”‚ โ”‚
โ”‚ 487 โ”‚ โ”‚ try: โ”‚
โ”‚ 488 โ”‚ โ”‚ โ”‚ if not chunked: โ”‚
โ”‚ โฑ 489 โ”‚ โ”‚ โ”‚ โ”‚ resp = conn.urlopen( โ”‚
โ”‚ 490 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ method=request.method, โ”‚
โ”‚ 491 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ url=url, โ”‚
โ”‚ 492 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ body=request.body, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:787 in urlopen โ”‚
โ”‚ โ”‚
โ”‚ 784 โ”‚ โ”‚ โ”‚ elif isinstance(e, (SocketError, HTTPException)): โ”‚
โ”‚ 785 โ”‚ โ”‚ โ”‚ โ”‚ e = ProtocolError("Connection aborted.", e) โ”‚
โ”‚ 786 โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โฑ 787 โ”‚ โ”‚ โ”‚ retries = retries.increment( โ”‚
โ”‚ 788 โ”‚ โ”‚ โ”‚ โ”‚ method, url, error=e, _pool=self, _stacktrace=sys.exc โ”‚
โ”‚ 789 โ”‚ โ”‚ โ”‚ ) โ”‚
โ”‚ 790 โ”‚ โ”‚ โ”‚ retries.sleep() โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/retry.py:592 in increment โ”‚
โ”‚ โ”‚
โ”‚ 589 โ”‚ โ”‚ ) โ”‚
โ”‚ 590 โ”‚ โ”‚ โ”‚
โ”‚ 591 โ”‚ โ”‚ if new_retry.is_exhausted(): โ”‚
โ”‚ โฑ 592 โ”‚ โ”‚ โ”‚ raise MaxRetryError(_pool, url, error or ResponseError(cau โ”‚
โ”‚ 593 โ”‚ โ”‚ โ”‚
โ”‚ 594 โ”‚ โ”‚ log.debug("Incremented Retry for (url='%s'): %r", url, new_ret โ”‚
โ”‚ 595 โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
MaxRetryError: HTTPSConnectionPool(host='music.163.com', port=443): Max retries
exceeded with url:
/api/search/pc?limit=10&type=1&offset=0&s=Jaadui+%28From+%22Tu+Jhoothi+Main+Makk
aar%22%29+-+Pritam (Caused by
NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7df663b2b0>:
Failed to establish a new connection: [Errno 110] Connection timed out'))

During handling of the above exception, another exception occurred:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/console/entry_point.py:120 in console_entry_point โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/console/entry_point.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/console/download.py:28 in download โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/console/download.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/download/downloader.py:251 in download_multiple_songs โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/download/downloader.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/asyncio/base_events.py:608 in run_until_complete โ”‚
โ”‚ โ”‚
โ”‚ 605 โ”‚ โ”‚ if not future.done(): โ”‚
โ”‚ 606 โ”‚ โ”‚ โ”‚ raise RuntimeError('Event loop stopped before Future comp โ”‚
โ”‚ 607 โ”‚ โ”‚ โ”‚
โ”‚ โฑ 608 โ”‚ โ”‚ return future.result() โ”‚
โ”‚ 609 โ”‚ โ”‚
โ”‚ 610 โ”‚ def stop(self): โ”‚
โ”‚ 611 โ”‚ โ”‚ """Stop running the event loop. โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/download/downloader.py:313 in pool_download โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/download/downloader.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/concurrent/futures/thread.py:57 in run โ”‚
โ”‚ โ”‚
โ”‚ 54 โ”‚ โ”‚ โ”‚ return โ”‚
โ”‚ 55 โ”‚ โ”‚ โ”‚
โ”‚ 56 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 57 โ”‚ โ”‚ โ”‚ result = self.fn(*self.args, **self.kwargs) โ”‚
โ”‚ 58 โ”‚ โ”‚ except BaseException as exc: โ”‚
โ”‚ 59 โ”‚ โ”‚ โ”‚ self.future.set_exception(exc) โ”‚
โ”‚ 60 โ”‚ โ”‚ โ”‚ # Break a reference cycle with the exception 'exc' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/download/downloader.py:468 in search_and_download โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/download/downloader.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/download/downloader.py:347 in search_lyrics โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/download/downloader.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/providers/lyrics/synced.py:33 in get_lyrics โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/providers/lyrics/synced.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/syncedlyrics/init.py:40 in search โ”‚
โ”‚ โ”‚
โ”‚ 37 โ”‚ lrc = None โ”‚
โ”‚ 38 โ”‚ for provider in _providers: โ”‚
โ”‚ 39 โ”‚ โ”‚ logger.debug(f"Looking for an LRC on {provider.class.__name โ”‚
โ”‚ โฑ 40 โ”‚ โ”‚ lrc = provider.get_lrc(search_term) โ”‚
โ”‚ 41 โ”‚ โ”‚ if is_lrc_valid(lrc, allow_plain_format): โ”‚
โ”‚ 42 โ”‚ โ”‚ โ”‚ logger.info( โ”‚
โ”‚ 43 โ”‚ โ”‚ โ”‚ โ”‚ f'synced-lyrics found for "{search_term}" on โ”‚
โ”‚ {provider.class.name}' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/syncedlyrics/providers/netease.py:58 in โ”‚
โ”‚ get_lrc โ”‚
โ”‚ โ”‚
โ”‚ 55 โ”‚ โ”‚ return lrc โ”‚
โ”‚ 56 โ”‚ โ”‚
โ”‚ 57 โ”‚ def get_lrc(self, search_term: str) -> Optional[str]: โ”‚
โ”‚ โฑ 58 โ”‚ โ”‚ track = self.search_track(search_term) โ”‚
โ”‚ 59 โ”‚ โ”‚ if not track: โ”‚
โ”‚ 60 โ”‚ โ”‚ โ”‚ return โ”‚
โ”‚ 61 โ”‚ โ”‚ return self.get_lrc_by_id(track["id"]) โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/syncedlyrics/providers/netease.py:36 in โ”‚
โ”‚ search_track โ”‚
โ”‚ โ”‚
โ”‚ 33 โ”‚ def search_track(self, search_term: str) -> Optional[dict]: โ”‚
โ”‚ 34 โ”‚ โ”‚ """Returns a dict containing some metadata for the found trac โ”‚
โ”‚ 35 โ”‚ โ”‚ params = {"limit": 10, "type": 1, "offset": 0, "s": search_term โ”‚
โ”‚ โฑ 36 โ”‚ โ”‚ response = self.session.get(self.API_ENDPOINT_METADATA, params= โ”‚
โ”‚ 37 โ”‚ โ”‚ results = response.json().get("result", {}).get("songs") โ”‚
โ”‚ 38 โ”‚ โ”‚ if not results: โ”‚
โ”‚ 39 โ”‚ โ”‚ โ”‚ return โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:600 in get โ”‚
โ”‚ โ”‚
โ”‚ 597 โ”‚ โ”‚ """ โ”‚
โ”‚ 598 โ”‚ โ”‚ โ”‚
โ”‚ 599 โ”‚ โ”‚ kwargs.setdefault("allow_redirects", True) โ”‚
โ”‚ โฑ 600 โ”‚ โ”‚ return self.request("GET", url, **kwargs) โ”‚
โ”‚ 601 โ”‚ โ”‚
โ”‚ 602 โ”‚ def options(self, url, **kwargs): โ”‚
โ”‚ 603 โ”‚ โ”‚ r"""Sends a OPTIONS request. Returns :class:Response object. โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:587 in request โ”‚
โ”‚ โ”‚
โ”‚ 584 โ”‚ โ”‚ โ”‚ "allow_redirects": allow_redirects, โ”‚
โ”‚ 585 โ”‚ โ”‚ } โ”‚
โ”‚ 586 โ”‚ โ”‚ send_kwargs.update(settings) โ”‚
โ”‚ โฑ 587 โ”‚ โ”‚ resp = self.send(prep, **send_kwargs) โ”‚
โ”‚ 588 โ”‚ โ”‚ โ”‚
โ”‚ 589 โ”‚ โ”‚ return resp โ”‚
โ”‚ 590 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:701 in send โ”‚
โ”‚ โ”‚
โ”‚ 698 โ”‚ โ”‚ start = preferred_clock() โ”‚
โ”‚ 699 โ”‚ โ”‚ โ”‚
โ”‚ 700 โ”‚ โ”‚ # Send the request โ”‚
โ”‚ โฑ 701 โ”‚ โ”‚ r = adapter.send(request, **kwargs) โ”‚
โ”‚ 702 โ”‚ โ”‚ โ”‚
โ”‚ 703 โ”‚ โ”‚ # Total elapsed time of the request (approximately) โ”‚
โ”‚ 704 โ”‚ โ”‚ elapsed = preferred_clock() - start โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/adapters.py:565 in send โ”‚
โ”‚ โ”‚
โ”‚ 562 โ”‚ โ”‚ โ”‚ โ”‚ # This branch is for urllib3 v1.22 and later. โ”‚
โ”‚ 563 โ”‚ โ”‚ โ”‚ โ”‚ raise SSLError(e, request=request) โ”‚
โ”‚ 564 โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โฑ 565 โ”‚ โ”‚ โ”‚ raise ConnectionError(e, request=request) โ”‚
โ”‚ 566 โ”‚ โ”‚ โ”‚
โ”‚ 567 โ”‚ โ”‚ except ClosedPoolError as e: โ”‚
โ”‚ 568 โ”‚ โ”‚ โ”‚ raise ConnectionError(e, request=request) โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
ConnectionError: HTTPSConnectionPool(host='music.163.com', port=443): Max
retries exceeded with url:
@/api/search/pc?limit=10&type=1&offset=0&s=Jaadui+%28From+%22Tu+Jhoothi+Main+Makk
aar%22%29+-+Pritam (Caused by
NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7df663b2b0>:
Failed to establish a new connection: [Errno 110] Connection timed out'))

Screenshots & Screen Records

Screenshot_2023-04-28-13-27-53-15_357d6970a1085f001a723d7349c25fa6

Device info

No response

Additional context

It seems to have worked for some Bollywood songs earlier when i first installed it but later it isn't working at all.

[App crash]

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

App version: Spowlo 2.0.0 (20000)
Android version: Android 10 (API 29)
Device: blackshark SKR-H0
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]

kotlin.NotImplementedError: An operation is not implemented.
at com.bobbyesp.spowlo.ui.ComposableSingletons$NavigatorKt$lambda-8$1.invoke(Navigator.kt:443)
at com.bobbyesp.spowlo.ui.ComposableSingletons$NavigatorKt$lambda-8$1.invoke(Navigator.kt:442)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:138)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.navigation.compose.NavHostKt$NavHost$13$1.invoke(NavHost.kt:307)
at androidx.navigation.compose.NavHostKt$NavHost$13$1.invoke(NavHost.kt:305)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:248)
at androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider(SaveableStateHolder.kt:84)
at androidx.navigation.compose.NavBackStackEntryProviderKt.SaveableStateProvider(NavBackStackEntryProvider.kt:65)
at androidx.navigation.compose.NavBackStackEntryProviderKt.access$SaveableStateProvider(NavBackStackEntryProvider.kt:1)
at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:52)
at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:51)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
at androidx.navigation.compose.NavBackStackEntryProviderKt.LocalOwnersProvider(NavBackStackEntryProvider.kt:47)
at androidx.navigation.compose.NavHostKt$NavHost$13.invoke(NavHost.kt:305)
at androidx.navigation.compose.NavHostKt$NavHost$13.invoke(NavHost.kt:289)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:138)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1$5.invoke(AnimatedContent.kt:801)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1$5.invoke(AnimatedContent.kt:790)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:117)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.animation.AnimatedVisibilityKt.AnimatedEnterExitImpl(AnimatedVisibility.kt:773)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1.invoke(AnimatedContent.kt:772)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1.invoke(AnimatedContent.kt:755)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.animation.AnimatedContentKt.AnimatedContent(AnimatedContent.kt:815)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:274)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:128)
at com.bobbyesp.spowlo.ui.NavigatorKt$Navigator$1$1.invoke(Navigator.kt:189)
at com.bobbyesp.spowlo.ui.NavigatorKt$Navigator$1$1.invoke(Navigator.kt:188)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:248)
at com.bobbyesp.spowlo.ui.NavigatorKt$Navigator$1.invoke(Navigator.kt:186)
at com.bobbyesp.spowlo.ui.NavigatorKt$Navigator$1.invoke(Navigator.kt:131)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:117)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:129)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:128)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:192)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2511)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2780)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3259)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3210)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:864)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:1125)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:124)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:580)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:548)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1061)
at android.view.Choreographer.doCallbacks(Choreographer.java:870)
at android.view.Choreographer.doFrame(Choreographer.java:801)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1048)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7520)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@2ddab14, androidx.compose.ui.platform.MotionDurationScaleImpl@7fa1fbd, StandaloneCoroutine{Cancelling}@45949b2, AndroidUiDispatcher@f7812dd]

To Reproduce

No response

Error reports

App version: Spowlo 2.0.0 (20000)
Android version: Android 10 (API 29)
Device: blackshark SKR-H0
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]

kotlin.NotImplementedError: An operation is not implemented.
at com.bobbyesp.spowlo.ui.ComposableSingletons$NavigatorKt$lambda-8$1.invoke(Navigator.kt:443)
at com.bobbyesp.spowlo.ui.ComposableSingletons$NavigatorKt$lambda-8$1.invoke(Navigator.kt:442)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:138)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.navigation.compose.NavHostKt$NavHost$13$1.invoke(NavHost.kt:307)
at androidx.navigation.compose.NavHostKt$NavHost$13$1.invoke(NavHost.kt:305)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:248)
at androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider(SaveableStateHolder.kt:84)
at androidx.navigation.compose.NavBackStackEntryProviderKt.SaveableStateProvider(NavBackStackEntryProvider.kt:65)
at androidx.navigation.compose.NavBackStackEntryProviderKt.access$SaveableStateProvider(NavBackStackEntryProvider.kt:1)
at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:52)
at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:51)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
at androidx.navigation.compose.NavBackStackEntryProviderKt.LocalOwnersProvider(NavBackStackEntryProvider.kt:47)
at androidx.navigation.compose.NavHostKt$NavHost$13.invoke(NavHost.kt:305)
at androidx.navigation.compose.NavHostKt$NavHost$13.invoke(NavHost.kt:289)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:138)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1$5.invoke(AnimatedContent.kt:801)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1$5.invoke(AnimatedContent.kt:790)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:117)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.animation.AnimatedVisibilityKt.AnimatedEnterExitImpl(AnimatedVisibility.kt:773)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1.invoke(AnimatedContent.kt:772)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1.invoke(AnimatedContent.kt:755)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.animation.AnimatedContentKt.AnimatedContent(AnimatedContent.kt:815)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:274)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:128)
at com.bobbyesp.spowlo.ui.NavigatorKt$Navigator$1$1.invoke(Navigator.kt:189)
at com.bobbyesp.spowlo.ui.NavigatorKt$Navigator$1$1.invoke(Navigator.kt:188)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:248)
at com.bobbyesp.spowlo.ui.NavigatorKt$Navigator$1.invoke(Navigator.kt:186)
at com.bobbyesp.spowlo.ui.NavigatorKt$Navigator$1.invoke(Navigator.kt:131)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:117)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:129)
at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:128)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:192)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2511)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2780)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3259)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3210)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:864)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:1125)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:124)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:580)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:548)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1061)
at android.view.Choreographer.doCallbacks(Choreographer.java:870)
at android.view.Choreographer.doFrame(Choreographer.java:801)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1048)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7520)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@6e13da6, androidx.compose.ui.platform.MotionDurationScaleImpl@31403e7, StandaloneCoroutine{Cancelling}@4603b94, AndroidUiDispatcher@f7812dd]

Screenshots & Screen Records

No response

Device info

No response

Additional context

App version: Spowlo 2.0.0 (20000)
Android version: Android 10 (API 29)
Device: blackshark SKR-H0
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]

App Crash

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

The app crashes after a while I'm in it or if I go to the settings or if I start any download. It keeps on crashing.

To Reproduce

No response

Error reports

Can't find it.

Screenshots & Screen Records

Screenshot_20230628_104545_One UI Home

Device info

App version: 1.3.1 (10300)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: v4.1.11

Additional context

No response

[Feature Request] add download capabilities from YouTube links (like seal) and possibly integrate the app to YouTube revanced (also like seal)

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

Seal (https://github.com/JunkFood02/Seal)

Describe the solution you'd like

No response

Song/playlist link

No response

Additional context

No response

Spowlo doesn't download the right song

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

When I download any song, its not the one I've downloaded

To Reproduce

  1. Just download the song with any form (pasting the url, searching for the song manually)
  2. When I play the song it doesn't sound the right one

Error reports

It doesn't show any crash/error report

Screenshots & Screen Records

Video showing the problem

Device info

App version: 1.3.4 (10340)
Device information: Android 11 (API 30)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

No response

[Feature Request] Clear temporary files

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

The app's total data storage has reached 300 MB even though I deleted all the downloads. I don't mind 300MB but this can be increased with further usage.

spowlo_app_storage

Describe the solution you'd like

I think that this could be possibly fixed with the option of "Clear temporary files" just like Seal has. Am I correct? Sorry if I'm wrong.

seal_clear_temp

Song/playlist link

No response

Additional context

No response

Add the app to the F-Droid repository

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

This issue isn't connected to any problem. Publishing this app to F-Droid will allow users to more easily download the right APK and install. It would also make the app more discoverable.

Describe the solution you'd like

Uploading the app to F-Droid or IzzyOnDroid repository

Song/playlist link

No response

Additional context

No response

Error Downloading Music

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

On the Latest update every time I click share on Spotify and redirect to Spolow app and downloaded a song from the application it won't work

To Reproduce

No response

Error reports

An error occurred to yt-dlp while downloading the song. Please, report this issue in GitHub.

Screenshots & Screen Records

Screenshot_20230810-194309_1

Device info

App version: 1.3.3 (10300)
Device information: Android 12 (API 31)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

URL: https://github.com/BobbyESP/Spowlo/issues/new?template=bug_report.yml
An error occurred to yt-dlp while downloading the song. Please, report this issue in GitHub.

Additional context

No response

Download problem

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

I can't download some songs.

To Reproduce

No response

Error reports

App version: 1.3.4 (10340)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

URL: https://open.spotify.com/track/5JPtB3Wn3H4nXJhuFtvzak?si=-WcnwPRdQemf4BM04dpZOg
A LookupError occurred. The song wasn't found. Try changing the audio provider in the settings and also disabling the 'Don't filter results' option.

Screenshots & Screen Records

Screenshot_2023-12-02-01-54-30-139_com bobbyesp spowlo

Device info

App version: 1.3.4 (10340)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

No response

[App crash]

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

Home Screen Error

To Reproduce

No response

Error reports

java.lang.IllegalStateException: Test
at com.bobbyesp.spowlo.ui.pages.home.ComposableSingletons$HomePageKt$lambda-4$1$1$1.invoke(HomePage.kt:54)
at com.bobbyesp.spowlo.ui.pages.home.ComposableSingletons$HomePageKt$lambda-4$1$1$1.invoke(HomePage.kt:54)
at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke-k-4lQ0M(Clickable.kt:976)
at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke(Clickable.kt:970)
at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1.invokeSuspend(TapGestureDetector.kt:255)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:177)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:166)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:508)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:497)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:368)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:665)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:544)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:566)
at androidx.compose.foundation.AbstractClickablePointerInputNode.onPointerEvent-H0pRuoY(Clickable.kt:936)
at androidx.compose.foundation.AbstractClickableNode.onPointerEvent-H0pRuoY(Clickable.kt:784)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:317)
at androidx.compose.ui.input.pointer.Node.dispatchMainEv...

Screenshots & Screen Records

No response

Device info

No response

Additional context

No response

Download problem

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

Again, the song I want is not downloaded.

To Reproduce

No response

Error reports

App version: 1.3.4 (10340)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

URL: https://open.spotify.com/track/3NM41PVVUr0ceootKAtkAj?si=0hmG1oliT0SwYkxN_44ckA
Error executing command: [/data/app/~~ivJXRa3uY4f6or2tmToaUg==/com.bobbyesp.spowlo-qz3-V0utWD4MOPufJe_Q7Q==/lib/arm64/libpython.bin.so, /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl, save, https://open.spotify.com/track/3NM41PVVUr0ceootKAtkAj?si=0hmG1oliT0SwYkxN_44ckA, --save-file, /data/user/0/com.bobbyesp.spowlo/files/spotdl/.spotdl/meta_info/36a571ab-edfe-4c93-8ce8-fcfc7e2480eb.spotdl, --no-cache, --ffmpeg, /data/app/~~ivJXRa3uY4f6or2tmToaUg==/com.bobbyesp.spowlo-qz3-V0utWD4MOPufJe_Q7Q==/lib/arm64/libffmpeg.so], exit code: 1, stderr:

stdout: โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:386 in _make_request โ”‚
โ”‚ โ”‚
โ”‚ 385 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 386 โ”‚ โ”‚ โ”‚ self._validate_conn(conn) โ”‚
โ”‚ 387 โ”‚ โ”‚ except (SocketTimeout, BaseSSLError) as e: โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:1042 in โ”‚
โ”‚ validate_conn โ”‚
โ”‚ โ”‚
โ”‚ 1041 โ”‚ โ”‚ if not getattr(conn, "sock", None): # AppEngine might not ha โ”‚
โ”‚ โฑ 1042 โ”‚ โ”‚ โ”‚ conn.connect() โ”‚
โ”‚ 1043 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connection.py:414 in connect โ”‚
โ”‚ โ”‚
โ”‚ 413 โ”‚ โ”‚ โ”‚
โ”‚ โฑ 414 โ”‚ โ”‚ self.sock = ssl_wrap_socket( โ”‚
โ”‚ 415 โ”‚ โ”‚ โ”‚ sock=conn, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/ssl
.py:449 in ssl_wrap_socket โ”‚
โ”‚ โ”‚
โ”‚ 448 โ”‚ if send_sni: โ”‚
โ”‚ โฑ 449 โ”‚ โ”‚ ssl_sock = ssl_wrap_socket_impl( โ”‚
โ”‚ 450 โ”‚ โ”‚ โ”‚ sock, context, tls_in_tls, server_hostname=server_hostname โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/ssl
.py:493 in โ”‚
โ”‚ _ssl_wrap_socket_impl โ”‚
โ”‚ โ”‚
โ”‚ 492 โ”‚ if server_hostname: โ”‚
โ”‚ โฑ 493 โ”‚ โ”‚ return ssl_context.wrap_socket(sock, server_hostname=server_ho โ”‚
โ”‚ 494 โ”‚ else: โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/ssl.py:500 in wrap_socket โ”‚
โ”‚ โ”‚
โ”‚ 499 โ”‚ โ”‚ # ctx._wrap_socket() โ”‚
โ”‚ โฑ 500 โ”‚ โ”‚ return self.sslsocket_class._create( โ”‚
โ”‚ 501 โ”‚ โ”‚ โ”‚ sock=sock, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/ssl.py:1040 in _create โ”‚
โ”‚ โ”‚
โ”‚ 1039 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ raise ValueError("do_handshake_on_connect sho โ”‚
โ”‚ โฑ 1040 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ self.do_handshake() โ”‚
โ”‚ 1041 โ”‚ โ”‚ โ”‚ except (OSError, ValueError): โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/ssl.py:1309 in do_handshake โ”‚
โ”‚ โ”‚
โ”‚ 1308 โ”‚ โ”‚ โ”‚ โ”‚ self.settimeout(None) โ”‚
โ”‚ โฑ 1309 โ”‚ โ”‚ โ”‚ self._sslobj.do_handshake() โ”‚
โ”‚ 1310 โ”‚ โ”‚ finally: โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
timeout: _ssl.c:1091: The handshake operation timed out
During handling of the above exception, another exception occurred:
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/adapters.py:489 in send โ”‚
โ”‚ โ”‚
โ”‚ 488 โ”‚ โ”‚ โ”‚ if not chunked: โ”‚
โ”‚ โฑ 489 โ”‚ โ”‚ โ”‚ โ”‚ resp = conn.urlopen( โ”‚
โ”‚ 490 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ method=request.method, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:787 in urlopen โ”‚
โ”‚ โ”‚
โ”‚ 786 โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โฑ 787 โ”‚ โ”‚ โ”‚ retries = retries.increment( โ”‚
โ”‚ 788 โ”‚ โ”‚ โ”‚ โ”‚ method, url, error=e, _pool=self, _stacktrace=sys.exc โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/util/retry.py:550 in increment โ”‚
โ”‚ โ”‚
โ”‚ 549 โ”‚ โ”‚ โ”‚ if read is False or not self._is_method_retryable(method): โ”‚
โ”‚ โฑ 550 โ”‚ โ”‚ โ”‚ โ”‚ raise six.reraise(type(error), error, _stacktrace) โ”‚
โ”‚ 551 โ”‚ โ”‚ โ”‚ elif read is not None: โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/packages/six.py:770 in reraise โ”‚
โ”‚ โ”‚
โ”‚ 769 โ”‚ โ”‚ โ”‚ โ”‚ raise value.with_traceback(tb) โ”‚
โ”‚ โฑ 770 โ”‚ โ”‚ โ”‚ raise value โ”‚
โ”‚ 771 โ”‚ โ”‚ finally: โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:703 in urlopen โ”‚
โ”‚ โ”‚
โ”‚ 702 โ”‚ โ”‚ โ”‚ # Make the request on the httplib connection object. โ”‚
โ”‚ โฑ 703 โ”‚ โ”‚ โ”‚ httplib_response = self._make_request( โ”‚
โ”‚ 704 โ”‚ โ”‚ โ”‚ โ”‚ conn, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:389 in _make_request โ”‚
โ”‚ โ”‚
โ”‚ 388 โ”‚ โ”‚ โ”‚ # Py2 raises this as a BaseSSLError, Py3 raises it as soc โ”‚
โ”‚ โฑ 389 โ”‚ โ”‚ โ”‚ self._raise_timeout(err=e, url=url, timeout_value=conn.ti โ”‚
โ”‚ 390 โ”‚ โ”‚ โ”‚ raise โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/urllib3/connectionpool.py:340 in โ”‚
โ”‚ _raise_timeout โ”‚
โ”‚ โ”‚
โ”‚ 339 โ”‚ โ”‚ if isinstance(err, SocketTimeout): โ”‚
โ”‚ โฑ 340 โ”‚ โ”‚ โ”‚ raise ReadTimeoutError( โ”‚
โ”‚ 341 โ”‚ โ”‚ โ”‚ โ”‚ self, url, "Read timed out. (read timeout=%s)" % time โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
ReadTimeoutError: HTTPSConnectionPool(host='music.youtube.com', port=443): Read
timed out. (read timeout=30)
During handling of the above exception, another exception occurred:
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/runpy.py:192 in _run_module_as_main โ”‚
โ”‚ โ”‚
โ”‚ 191 โ”‚ โ”‚ sys.argv[0] = mod_spec.origin โ”‚
โ”‚ โฑ 192 โ”‚ return _run_code(code, main_globals, None, โ”‚
โ”‚ 193 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "main", mod_spec) โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/runpy.py:85 in _run_code โ”‚
โ”‚ โ”‚
โ”‚ 84 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ spec = mod_spec) โ”‚
โ”‚ โฑ 85 โ”‚ exec(code, run_globals) โ”‚
โ”‚ 86 โ”‚ return run_globals โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/ma โ”‚
โ”‚ in
.py:9 in โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/m โ”‚
โ”‚ ain
.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/console/entry_point.py:109 in console_entry_point โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/console/entry_point.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/download/downloader.py:198 in init โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/download/downloader.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spot โ”‚
โ”‚ dl/providers/audio/ytmusic.py:38 in init โ”‚
โ”‚ โ”‚
โ”‚ [Errno 20] Not a directory: โ”‚
โ”‚ '/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spo โ”‚
โ”‚ tdl/providers/audio/ytmusic.py' โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/ytmusicapi/ytmusic.py:99 in init โ”‚
โ”‚ โ”‚
โ”‚ 98 โ”‚ โ”‚ if 'x-goog-visitor-id' not in self.headers: โ”‚
โ”‚ โฑ 99 โ”‚ โ”‚ โ”‚ self.headers.update(get_visitor_id(self._send_get_request) โ”‚
โ”‚ 100 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/ytmusicapi/helpers.py:34 in get_visitor_id โ”‚
โ”‚ โ”‚
โ”‚ 33 def get_visitor_id(request_func): โ”‚
โ”‚ โฑ 34 โ”‚ response = request_func(YTM_DOMAIN) โ”‚
โ”‚ 35 โ”‚ matches = re.findall(r'ytcfg.set\s*(\s*({.+?})\s*)\s*;', respons โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/ytmusicapi/ytmusic.py:148 in _send_get_request โ”‚
โ”‚ โ”‚
โ”‚ 147 โ”‚ def _send_get_request(self, url: str, params: Dict = None): โ”‚
โ”‚ โฑ 148 โ”‚ โ”‚ response = self._session.get(url, โ”‚
โ”‚ 149 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ params=params, โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:600 in get โ”‚
โ”‚ โ”‚
โ”‚ 599 โ”‚ โ”‚ kwargs.setdefault("allow_redirects", True) โ”‚
โ”‚ โฑ 600 โ”‚ โ”‚ return self.request("GET", url, **kwargs) โ”‚
โ”‚ 601 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:587 in request โ”‚
โ”‚ โ”‚
โ”‚ 586 โ”‚ โ”‚ send_kwargs.update(settings) โ”‚
โ”‚ โฑ 587 โ”‚ โ”‚ resp = self.send(prep, **send_kwargs) โ”‚
โ”‚ 588 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/sessions.py:701 in send โ”‚
โ”‚ โ”‚
โ”‚ 700 โ”‚ โ”‚ # Send the request โ”‚
โ”‚ โฑ 701 โ”‚ โ”‚ r = adapter.send(request, **kwargs) โ”‚
โ”‚ 702 โ”‚
โ”‚ โ”‚
โ”‚ /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/us โ”‚
โ”‚ r/lib/python3.8/site-packages/requests/adapters.py:578 in send โ”‚
โ”‚ โ”‚
โ”‚ 577 โ”‚ โ”‚ โ”‚ elif isinstance(e, ReadTimeoutError): โ”‚
โ”‚ โฑ 578 โ”‚ โ”‚ โ”‚ โ”‚ raise ReadTimeout(e, request=request) โ”‚
โ”‚ 579 โ”‚ โ”‚ โ”‚ elif isinstance(e, _InvalidHeader): โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
ReadTimeout: HTTPSConnectionPool(host='music.youtube.com', port=443): Read timed
out. (read timeout=30)

Screenshots & Screen Records

Screenshot_2023-11-02-11-46-14-668_com bobbyesp spowlo

Device info

App version: 1.3.4 (10340)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

No response

Missing songs

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

When downloading the playlist several songs are missing, I've already searched on YouTube if the songs are available and I've also used vpn for other regions and the problem persists. An example this playlist only 57 of 100 were downloaded.

https://open.spotify.com/playlist/37i9dQZF1DWWOaP4H0w5b0?si=9jjnu44fS9eHEtuzakORig&utm_source=copy-link

To Reproduce

No response

Error reports

Only certain songs are downloaded, regardless of the playlist.

Screenshots & Screen Records

No response

Device info

App version: 1.3.3 (10300)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

No response

[App crash]

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

When I started the app this popped up

To Reproduce

Just open the app

Error reports

java.lang.IllegalStateException: Migration didn't properly handle: downloaded_songs_info(com.bobbyesp.spowlo.database.DownloadedSongInfo).
Expected:
TableInfo{name='downloaded_songs_info', columns={songName=Column{name='songName', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, songDuration=Column{name='songDuration', type='REAL', affinity='4', notNull=true, primaryKeyPosition=0, defaultValue='0.0'}, extractor=Column{name='extractor', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue=''Unknown''}, id=Column{name='id', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=1, defaultValue='undefined'}, songPath=Column{name='songPath', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, songUrl=Column{name='songUrl', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, songAuthor=Column{name='songAuthor', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, thumbnailUrl=Column{name='thumbnailUrl', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}}, foreignKeys=[], indices=[]}
Found:
TableInfo{name='downloaded_songs_info', columns={}, foreignKeys=[], indices=[]}
at androidx.room.RoomOpenHelper.onUpgrade(RoomOpenHelper.kt:93)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.onUpgrade(FrameworkSQLiteOpenHelper.kt:253)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:416)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:316)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableOrReadableDatabase(FrameworkSQLiteOpenHelper.kt:232)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.innerGetDatabase(FrameworkSQLiteOpenHelper.kt:190)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getSuppor...

Screenshots & Screen Records

No response

Device info

App version: 4.1.0, device: Realme gt Neo 2(unlocked)

Additional context

No response

Support downloading different versions of SpotDL

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

No response

Describe the solution you'd like

It would be a great feature to be able to download a different version of SpotDL, as to avoid having issues with later versions of SpotDL that may have bugs.

Song/playlist link

No response

Additional context

Currently, the latest version of SpotDL has issues with downloading albums and songs #39

Could you add a feature by which when we download songs a LRC format lyrics file is automatically downloaded with the song so we can have synchronised lyrics offline just like we have in Spotify [Feature Request]

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

No response

Describe the solution you'd like

No response

Song/playlist link

No response

Additional context

No response

Ask for downlaoad location everytime when downloading a playlist [Feature Request]

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

Downloading differnt playlists to differnt folders can be a bit difficult, as the download location needs to be changed after downloading every single playlist by going to settings.

Describe the solution you'd like

Just having a option like "download location" in the 'configure before downloading' menu would be really helpful in my opnion

Song/playlist link

No response

Additional context

No response

App crash

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

App closed within 5 seconds. All apk file same problem.
Storage permission also granted.
IMG_20231220_141653

To Reproduce

No response

Error reports

App crash
IMG_20231220_141653

Screenshots & Screen Records

No response

Device info

No response

Additional context

No response

save to SD card failed

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

How to save directly to SD card?
Tried to change the sd card field and give permissions.

To Reproduce

No response

Error reports

ffmpeg_error_2023-07-27-18-06-16.txt

Screenshots & Screen Records

Screenshot_20230727-182042_Spowlo

Device info

No response

Additional context

No response

App crashed randomly

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

The app crashed randomly once for me when i was just browsing normally.

To Reproduce

No response

Error reports

Didn't had a error report so here's the crash log

FATAL EXCEPTION: main
Process: com.bobbyesp.spowlo, PID: 22723
java.lang.IllegalStateException: Restore State failed: destination 629279167 cannot be found from the current destination a0(0x42487645) route=nav_graph startDestination={a0(0x5d718f43) route=downloader_navi startDestination={a(0x21626682) route=downloader}}
at z3.k.q(Unknown Source:201)
at z3.k.j(Unknown Source:87)
at z3.k.k(Unknown Source:74)
at z3.k.i(Unknown Source:10)
at i6.f.C(Unknown Source:10)
at q.x$b.n0(Unknown Source:16)
at r.f1$a.k(Unknown Source:133)
at gb.a.y(Unknown Source:8)
at a8.d.a0(Unknown Source:77)
at wb.j.p(Unknown Source:128)
at wb.j.C(Unknown Source:43)
at wb.j.y(Unknown Source:16)
at m1.d0.f0(Unknown Source:50)
at m1.d0.O(Unknown Source:8)
at r1.c.r(Unknown Source:13)
at m1.i.e(Unknown Source:84)
at m1.i.e(Unknown Source:70)
at m1.i.e(Unknown Source:70)
at m1.i.e(Unknown Source:70)
at m1.j.e(Unknown Source:25)
at m1.u.a(Unknown Source:182)
at androidx.compose.ui.platform.AndroidComposeView.L(Unknown Source:77)
at androidx.compose.ui.platform.AndroidComposeView.B(Unknown Source:248)
at androidx.compose.ui.platform.AndroidComposeView.dispatchTouchEvent(Unknown Source:87)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3184)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2834)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3184)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2834)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3184)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2834)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3184)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2834)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3184)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2834)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3184)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2834)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:572)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1895)
at android.app.Activity.dispatchTouchEvent(Activity.java:4274)
at h.h.dispatchTouchEvent(Unknown Source:2)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:530)
at android.view.View.dispatchPointerEvent(View.java:15165)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6919)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6698)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6135)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6192)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6158)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6323)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6166)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6380)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6139)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6192)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6158)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6166)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6139)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:9271)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:9211)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:9168)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9416)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:280)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:340)
at android.os.Looper.loopOnce(Looper.java:168)
at android.os.Looper.loop(Looper.java:299)
at android.app.ActivityThread.main(ActivityThread.java:8280)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1073)
Suppressed: wb.l0: [androidx.compose.ui.platform.f2@27a6634, m0.e@9798c5d, y1{Cancelling}@e7349d2, x0@2009aa3]

Screenshots & Screen Records

No response

Device info

App version: 1.3.4 (10340)
Device information: Android 12 (API 31)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

No response

[Feature Request] Download in background?

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

No response

Describe the solution you'd like

title - a way to start downloading a playlist and then closing the app - downloads in background

Song/playlist link

No response

Additional context

No response

It doesn't obtain/get the covers sometimes

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

Hello,
Just want to say that I love this app since it works very good! However I've noticed some kind of strange bug when it's downloading songs.
If I try to download a playlist (150 songs) from a Spotify playlist link, it SOMETIMES download the cover for the MP3 and sometimes not.

I tried to experiment with this and removed all the songs, and reinstalled the app and tried again. Only this time those covers it didn't obtain the first time now works just fine while other songs doesn't have covers anymore.

I uploaded a picture just for reference and to show you how I mean :)

Hopefully this can get fixed.
Other than that it works great! :)

To Reproduce

Just try to download a playlist with more than 150 songs

Error reports

.

Screenshots & Screen Records

Screenshot_20231213_225739_Cx File Explorer

Device info

App version: 1.3.4 (10340)
Device information: Android 14 (API 34)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

No response

Add option to create .m3u Playlist

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

Spowlo loads all downloaded songs at the moment in the same folder so there is no way to play one selected playlist or album.

Describe the solution you'd like

Ticking an option to create a .m3u playlist in a different folder when you download a playlist/album would be great.

Song/playlist link

No response

Additional context

No response

ModuleNotFoundError: No module named 'bandcamp_api'

Checklist

UPDATE This error occurs even when the provider is set to "Default"

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

When attempting to download an album from the UI using YouTube as the provider, the following error is produced:

ModuleNotFoundError: No module named 'bandcamp_api'

This causes the download to fail

To Reproduce

  1. Open Spowlo
  2. Type in an album URL such as https://open.spotify.com/album/4SJhZBuuLYlwUJGxWf8Pj0?si=ntBjSRdrTIa6pLYf0I1lLw&utm_source=copy-link
  3. Press "Download"
  4. Switch into "Tasks"
  5. View the error log which should look something like this:

Error reports

Error executing command: [/data/app/~~cJ43B20cU318Ggp382K9EA==/com.bobbyesp.spowlo-EJR9ne9131F59WRzxM0A_w==/lib/arm64/libpython.bin.so, /data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl, download, https://open.spotify.com/track/5EbTHYIQQtNNMloPNirkKi, --output, /storage/emulated/0/Download/Spowlo, --ytm-data, --lyrics, synced, --bitrate, disable, --format, mp3, --audio, youtube-music, youtube, --threads, 2, --no-cache, --ffmpeg, /data/app/~~cJ43B20cU318Ggp382K9EA==/com.bobbyesp.spowlo-EJR9ne9131F59WRzxM0A_w==/lib/arm64/libffmpeg.so], exit code: 1, stderr: Traceback (most recent call last):
  File "/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/usr/lib/python3.8/runpy.py", line 192, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/packages/python/usr/lib/python3.8/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/__main__.py", line 5, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spotdl/__init__.py", line 13, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spotdl/console/__init__.py", line 5, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spotdl/console/entry_point.py", line 9, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spotdl/console/download.py", line 7, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spotdl/download/downloader.py", line 20, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spotdl/providers/audio/__init__.py", line 5, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/data/user/0/com.bobbyesp.spowlo/no_backup/spotdl_android/spotdl/spotdl/spotdl/providers/audio/bandcamp.py", line 10, in <module>
ModuleNotFoundError: No module named 'bandcamp_api'
 

 stdout: 

Screenshots & Screen Records

No response

Device info

App version: 1.3.1 (10300)
Device information: Android 11 (API 30)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: v4.2.0

Additional context

No response

Can you add Turkish language.

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

I want to help with translation.

Describe the solution you'd like

No response

Song/playlist link

No response

Additional context

No response

Add option to style the downloaded file name

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

When I play songs in the player app, it shows big the artist name at the beginning of the file name and I have to wait until the title scrolls until I see the song title. This can sometimes lead to "long" waiting times when the track has like 2 or more artists.

Describe the solution you'd like

Introduce an option to select the wanted file name format.
E.g.

  • Artist Name
  • Name Artist
  • Name

Thank you.

Song/playlist link

No response

Additional context

No response

[Request] make folders for the artist and album for downloaded songs

Hi, the app is great, i love the amount of options that gives tl the user, my request is for the possibility to dpwnload the song and make a folder for the artist and inside a folder for the album's song (and inside that one the song and lyrics), thank you and keep going!

Create extra folders for playlists

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

I had the problem that I wanted to delete all songs from a special Playlist. This is very hard to do because all songs are in one folder.

Describe the solution you'd like

Make it possible to tick an option when downloading something to create a new folder and name it automatically based on the playlist name. An option would be to let the user set the name himself.
This would also be great for e.g. audio books.

Song/playlist link

No response

Additional context

No response

[App crash]

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

java.lang.IllegalArgumentException: Navigation destination that matches request NavDeepLinkRequest{ uri=android-app://androidx.navigation/settings_navigator } cannot be found in the navigation graph NavGraph(0x1776a381) route=main_host startDestination={NavGraph(0x5faf3c4) route=home_navigator startDestination={Destination(0x78d845ec) route=home}}
at androidx.navigation.NavController.navigate(NavController.kt:1794)
at androidx.navigation.NavController.navigate(NavController.kt:2193)
at androidx.navigation.NavController.navigate$default(NavController.kt:2188)
at com.bobbyesp.spowlo.ui.pages.home.HomePageKt$HomePage$1$1$1.invoke(HomePage.kt:43)
at com.bobbyesp.spowlo.ui.pages.home.HomePageKt$HomePage$1$1$1.invoke(HomePage.kt:41)
at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke-k-4lQ0M(Clickable.kt:976)
at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke(Clickable.kt:970)
at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1.invokeSuspend(TapGestureDetector.kt:255)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:179)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:168)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:508)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:497)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:368)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:665)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:5...

To Reproduce

No response

Error reports

java.lang.IllegalArgumentException: Navigation destination that matches request NavDeepLinkRequest{ uri=android-app://androidx.navigation/settings_navigator } cannot be found in the navigation graph NavGraph(0x1776a381) route=main_host startDestination={NavGraph(0x5faf3c4) route=home_navigator startDestination={Destination(0x78d845ec) route=home}}
at androidx.navigation.NavController.navigate(NavController.kt:1794)
at androidx.navigation.NavController.navigate(NavController.kt:2193)
at androidx.navigation.NavController.navigate$default(NavController.kt:2188)
at com.bobbyesp.spowlo.ui.pages.home.HomePageKt$HomePage$1$1$1.invoke(HomePage.kt:43)
at com.bobbyesp.spowlo.ui.pages.home.HomePageKt$HomePage$1$1$1.invoke(HomePage.kt:41)
at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke-k-4lQ0M(Clickable.kt:976)
at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke(Clickable.kt:970)
at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1.invokeSuspend(TapGestureDetector.kt:255)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:179)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:168)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:508)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:497)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:368)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:665)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:5...

Screenshots & Screen Records

No response

Device info

No response

Additional context

No response

Spotify A LOOKUP ERROR OCURRED

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

Download not found for some titles V1.3.4

To Reproduce

https://open.spotify.com/track/5ZUcCzhif2Rw3TDUhbUeW5?si=38AAUqNMRIunaY7iFUXR8A

Error reports

A LookupError occurred. The song wasn't found. Try changing the audio provider in the settings and also disabling the 'Don't filter results' option.

Screenshots & Screen Records

Screenshot_20231119-092957_Spowlo

Device info

App version: 1.3.4 (10340)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

No response

[Feature Request] Ability to play song on searcher tab.

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

No response

Describe the solution you'd like

This is just a quality-of-life feature to have the ability to play the song when searching from the searcher tab. If the whole song is not possible then at least around 15-20 secs of the song just to verify that is is the song we need to download. It's not necessarily a issue but just a simple way to know that we download the correct thing. I don't know if it's supported by spotDL. Peace and take care. Love this app otherwise. Saved my patience a bunch of times. ๐Ÿ˜Š

Song/playlist link

No response

Additional context

No response

FFMPEG error

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

I keep on getting 'FFmpegError: Failed to convert Artist - Title, you can find error here: [link to file address].
However, this file appears to be nonexistent... what should I do?

To Reproduce

  1. Uninstall and reinstall Spowlo
  2. Pick a song
  3. Download it
  4. Get the error message

Error reports

FFmpegError: Failed to convert Artist - Title, you can find error here: [link to file address]

Screenshots & Screen Records

No response

Device info

App version: 1.3.4
Phone running Android 9
SpotDL version apparently unknown

Additional context

No response

The songs are of low quality and some are just the beats

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

As mรบsicas estรฃo com baixa qualidade e alguma sรณ as batidas.

Exemplo de mรบsica: Cicatrizes

Desculpa qualquer coisa. Eu nรฃo sei como postar um problema aqui, e meu idioma รฉ do Brasil fica mais difรญcil ainda.

The songs are of low quality and some are just the beats.

Song Example: Scars

Sorry for anything. I don't know how to post a problem here, and my language is Brazilian, it makes it even more difficult.

To Reproduce

As mรบsicas estรฃo com baixa qualidade e alguma sรณ as batidas.

Exemplo de mรบsica: Cicatrizes

Desculpa qualquer coisa. Eu nรฃo sei como postar um problema aqui, e meu idioma รฉ do Brasil fica mais difรญcil ainda.

The songs are of low quality and some are just the beats.

Song Example: Scars

Sorry for anything. I don't know how to post a problem here, and my language is Brazilian, it makes it even more difficult.

Error reports

As mรบsicas estรฃo com baixa qualidade e alguma sรณ as batidas.

Exemplo de mรบsica: Cicatrizes

Desculpa qualquer coisa. Eu nรฃo sei como postar um problema aqui, e meu idioma รฉ do Brasil fica mais difรญcil ainda.

The songs are of low quality and some are just the beats.

Song Example: Scars

Sorry for anything. I don't know how to post a problem here, and my language is Brazilian, it makes it even more difficult.

Screenshots & Screen Records

As mรบsicas estรฃo com baixa qualidade e alguma sรณ as batidas.

Exemplo de mรบsica: Cicatrizes

Desculpa qualquer coisa. Eu nรฃo sei como postar um problema aqui, e meu idioma รฉ do Brasil fica mais difรญcil ainda.

The songs are of low quality and some are just the beats.

Song Example: Scars

Sorry for anything. I don't know how to post a problem here, and my language is Brazilian, it makes it even more difficult.

Device info

As mรบsicas estรฃo com baixa qualidade e alguma sรณ as batidas.

Exemplo de mรบsica: Cicatrizes

Desculpa qualquer coisa. Eu nรฃo sei como postar um problema aqui, e meu idioma รฉ do Brasil fica mais difรญcil ainda.

The songs are of low quality and some are just the beats.

Song Example: Scars

Sorry for anything. I don't know how to post a problem here, and my language is Brazilian, it makes it even more difficult.

Additional context

As mรบsicas estรฃo com baixa qualidade e alguma sรณ as batidas.

Exemplo de mรบsica: Cicatrizes

Desculpa qualquer coisa. Eu nรฃo sei como postar um problema aqui, e meu idioma รฉ do Brasil fica mais difรญcil ainda.

The songs are of low quality and some are just the beats.

Song Example: Scars

Sorry for anything. I don't know how to post a problem here, and my language is Brazilian, it makes it even more difficult.

Problem downloading the song

Checklist

  • I've verified that I'm running the latest stable version of Spowlo or any later preview versions.
  • I've checked that the YouTube Music is available in my country.
  • I understand that the issue will be (ignored/closed) if I intentionally remove or skip any mandatory field.

Describe the bug

There is a problem. I share the song link, it gives the song download error.

To Reproduce

No response

Error reports

(The error output is copied to the clipboard.)

Screenshots & Screen Records

Screenshot_2023-09-12-00-42-22-584_com bobbyesp spowlo

Device info

App version: 1.3.4 (10340)
Device information: Android 13 (API 33)
Supported ABIs: [arm64-v8a, armeabi-v7a, armeabi]
spotDL version: null

Additional context

Another problem is that it does not download quickly, it is very slow.

[Feature Request] Multiple Selection in Playlist

Checklist

  • This feature I'm requesting is already implemented in spotDL.
  • This feature is intended to be a UI/UX update.
  • This feature is not going to conflict with many of the existing options.

Is your feature request related to a problem? Please describe it and link to the GitHub issue.

Ability to multi-select songs in playlists tab of Search. I rarely get all songs in a playlist, user or spotify curated. So giving that freedom to select particular songs off playlists would be neat

Describe the solution you'd like

A menu option to enable multi-selection

Song/playlist link

All

Additional context

I tried downloading one by one but i had no idea it would download and convert these songs simultaneously. 3-5 is okay but 10+ would be too heavy workload and might crash the app.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.