Shabinder / SpotiFlyer

Kotlin Multiplatform Music Downloader, Supports Spotify / Gaana / Youtube Music / Jio Saavn / SoundCloud.
https://app.spotiflyer.in/
GNU General Public License v3.0
10.45k stars 780 forks source link

unable to download some songs #382

Closed Slowxzy closed 3 years ago

Slowxzy commented 3 years ago

DownloadLinkFetchFailed(trackName=Beggin (original version), jioSaavnError=java.util.NoSuchElementException: Collection is empty., ytMusicError=NoMatchFound(trackName=Beggin (original version), message=Beggin (original version) : NO Match Found!), message=No Downloadable link found: Beggin (original version), YtMusic Error's StackTrace: NoMatchFound(trackName=Beggin (original version), message=Beggin (original version) : NO Match Found!) at com.shabinder.common.di.providers.YoutubeMusic.getYTIDBestMatch(YoutubeMusic.kt:13) at com.shabinder.common.di.providers.YoutubeMusic.access$getYTIDBestMatch(YoutubeMusic.kt:1) at com.shabinder.common.di.providers.YoutubeMusic$getYTIDBestMatch$1.invokeSuspend(Unknown Source:12) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:1)

JioSaavn Error's StackTrace: java.util.NoSuchElementException: Collection is empty. at i.r.m.p(_ArraysJvm.kt:5) at com.shabinder.common.di.providers.requests.saavn.JioSaavnRequests$DefaultImpls.findMp3SongDownloadURL(JioSaavnRequests.kt:8) at com.shabinder.common.di.providers.requests.saavn.JioSaavnRequests$findMp3SongDownloadURL$1.invokeSuspend(Unknown Source:10) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:1)

) at com.shabinder.common.di.FetchPlatformQueryResult.findMp3Link(FetchPlatformQueryResult.kt:18) at com.shabinder.common.di.FetchPlatformQueryResult.access$findMp3Link(FetchPlatformQueryResult.kt:1) at com.shabinder.common.di.FetchPlatformQueryResult$findMp3Link$1.invokeSuspend(Unknown Source:12) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:1)

Device Info (please complete the following information):

NullTheReaper commented 3 years ago

Wait for new version, owner said (API related issue)

yavnaz commented 3 years ago

DownloadLinkFetchFailed(trackName=Grazing In the Grass, jioSaavnError=java.util.NoSuchElementException: Collection is empty., ytMusicError=NoMatchFound(trackName=Grazing In the Grass, message=Grazing In the Grass : NO Match Found!), message=No Downloadable link found: Grazing In the Grass, YtMusic Error's StackTrace: NoMatchFound(trackName=Grazing In the Grass, message=Grazing In the Grass : NO Match Found!) at com.shabinder.common.di.providers.YoutubeMusic.getYTIDBestMatch(YoutubeMusic.kt:13) at com.shabinder.common.di.providers.YoutubeMusic.access$getYTIDBestMatch(YoutubeMusic.kt:1) at com.shabinder.common.di.providers.YoutubeMusic$getYTIDBestMatch$1.invokeSuspend(Unknown Source:12) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:1)

JioSaavn Error's StackTrace: java.util.NoSuchElementException: Collection is empty. at i.r.m.p(_ArraysJvm.kt:5) at com.shabinder.common.di.providers.requests.saavn.JioSaavnRequests$DefaultImpls.findMp3SongDownloadURL(JioSaavnRequests.kt:8) at com.shabinder.common.di.providers.requests.saavn.JioSaavnRequests$findMp3SongDownloadURL$1.invokeSuspend(Unknown Source:10) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:1)

) at com.shabinder.common.di.FetchPlatformQueryResult.findMp3Link(FetchPlatformQueryResult.kt:18) at com.shabinder.common.di.FetchPlatformQueryResult.access$findMp3Link(FetchPlatformQueryResult.kt:1) at com.shabinder.common.di.FetchPlatformQueryResult$findMp3Link$1.invokeSuspend(Unknown Source:12) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:3) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:1) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:3) at i.t.k.a.a.resumeWith(ContinuationImpl.kt:9) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:4) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:1)

yavnaz commented 3 years ago

Just tried downloading 4 different playlist; "X"s on all of them

NullTheReaper commented 3 years ago

Just tried downloading 4 different playlist; "X"s on all of them

no shit sherlock, read what other people said before posting your own issue [dev said = API issue, wait for next update for a fix]

Shabinder commented 3 years ago

Try in v3.3.0 and it should work: https://github.com/Shabinder/SpotiFlyer/releases/tag/v3.3.0 https://github.com/Shabinder/SpotiFlyer/tree/main#-install