Closed Shabinder closed 3 years ago
Thank You 🙌
Your awesome. I appreciate your work and thank you for your creation. Will contribute when I get paid. 👍👍
Keep it up
Looking forward to it. Thank you for such a great app.
Thank you! Keep up the good work 👍
Bro how long will you tak to solve the issue??
Bro how long will you tak to solve the issue??
I am working on this , this is gonna take somewhat longer than expected
Edit: I am building a Backend and will be swapping out 2 or more components in App so I can better get Crash Reports whenever crash Occurs, So Please be patient for next update.
Ohh,try to solve this fast because your app has alot demand. I have an Instagram page on which I posted TOP 5 apps not on Play Store and I'm flooded with DMs of Spotiflyer link, I'm telling everyone that will send them as soon as it gets fixed.
On Mon 9 Aug, 2021, 5:27 PM Shabinder Singh, @.***> wrote:
Bro how long will you tak to solve the issue??
I am working on this , this is gonna take somewhat longer than expected
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Shabinder/SpotiFlyer/issues/374#issuecomment-895162303, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVEMTMSKKQFKB2Z2AR7FYYLT367BXANCNFSM5BT4R77Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .
Ohh,try to solve this fast because your app has alot demand. I have an Instagram page on which I posted TOP 5 apps not on Play Store and I'm flooded with DMs of Spotiflyer link, I'm telling everyone that will send them as soon as it gets fixed.
@ujjwal-fsl bro, I have also come here to checkout this app after seeing a random post on instagram explore section, but it is not working currently.
@ujjawal30 Bro you can DM me on @taknikigeek on Instagram, I can help you out for 3-4 days with some alternatives!!
how much longer? @Shabinder
@Shabinder have you considered adding the option to use ffmpeg if it can be located either in the working directory or on PATH? That way users will have an option to be untethered from the cloud service should it break again.
@Shabinder what is ffmpeg?
@Xavier90280 it's a nearly universal media conversion tool. https://en.wikipedia.org/wiki/FFmpeg
@Shabinder have you considered adding the option to use ffmpeg if it can be located either in the working directory or on PATH? That way users will have an option to be untethered from the cloud service should it break again.
Initially we used ffmpeg for same, but it increased App Size significantly and for Desktop Users it will be a root cause for many issues like not being in path, etc.
Thats why I went down on a lane for using 3rd party service and as of now I am building a backend which we will act as a fallback for Media Conversion when primary one fails (Its taking some time and hence might be available in this or next update, will see)
@Shabinder have you considered adding the option to use ffmpeg if it can be located either in the working directory or on PATH? That way users will have an option to be untethered from the cloud service should it break again.
Initially we used ffmpeg for same, but it increased App Size significantly and for Desktop Users it will be a root cause for many issues like not being in path, etc.
Thats why I went down on a lane for using 3rd party service and as of now I am building a backend which we will act as a fallback for Media Conversion when primary one fails (Its taking some time and hence might be available in this or next update, will see)
What if instead of having it be the default, you only enable it if the user supplies the path to the ffmpeg binary in the settings? I've seen a lot of apps that handle media that work that way. This would mean that it doesn't work for mobile apps but I think it would work well for the desktop app.
@Shabinder have you considered adding the option to use ffmpeg if it can be located either in the working directory or on PATH? That way users will have an option to be untethered from the cloud service should it break again.
Initially we used ffmpeg for same, but it increased App Size significantly and for Desktop Users it will be a root cause for many issues like not being in path, etc. Thats why I went down on a lane for using 3rd party service and as of now I am building a backend which we will act as a fallback for Media Conversion when primary one fails (Its taking some time and hence might be available in this or next update, will see)
What if instead of having it be the default, you only enable it if the user supplies the path to the ffmpeg binary in the settings? I've seen a lot of apps that handle media that work that way. This would mean that it doesn't work for mobile apps but I think it would work well for the desktop app.
Yeah that can work good for desktops, Really will be a nice feature to have, can you generate a feature request for this, in future will surely implement this :+1:
@Shabinder whats the ETA for the update?. So i could patiently wait for the update But keep in mind that you are doing a great job 😁
We use an External 3rd Party m4a -> mp3 converter which seems to have changed their API behavior and hence APP is DOWN and not working for the moment.
I request everybody to give me a few days, I will make some time and fix it as soon as possible.(Probably this Weekend, i.e., by Aug 9)
Please refrain from creating more issues until I fix the app and release a new version. I appreciate your understanding.
Any luck on the fix....
Any luck on the fix....
I investigated the issue and apparently the 3rd Party Service has Stopped their services for m4a to mp3 conversion, Now I am evaluating other options like, self-hosting one or building and integrating FFMpeg into the app itself and their pros and cons, If I go with integrating FFMpeg route, the app release may take some extra time but it will be more stable as It won't rely on 3rd party service.
Any luck on the fix....
I investigated the issue and apparently the 3rd Party Service has Stopped their services for m4a to mp3 conversion, Now I am evaluating other options like, self-hosting one or building and integrating FFMpeg into the app itself and their pros and cons, If I go with integrating FFMpeg route, the app release may take some extra time but it will be more stable as It won't rely on 3rd party service.
Can you made a temporary ersion where we can download in m4a, and do the conversion job ourselves?
Any luck on the fix....
I investigated the issue and apparently the 3rd Party Service has Stopped their services for m4a to mp3 conversion, Now I am evaluating other options like, self-hosting one or building and integrating FFMpeg into the app itself and their pros and cons, If I go with integrating FFMpeg route, the app release may take some extra time but it will be more stable as It won't rely on 3rd party service.
Can you made a temporary ersion where we can download in m4a, and do the conversion job ourselves?
@Shabinder This seems like a reasonable workaround if the conversion process will take some time to implement!
Can you made a temporary ersion where we can download in m4a, and do the conversion job ourselves?
@Shabinder This seems like a reasonable workaround if the conversion process will take some time to implement!
Lemme see if I can wrap up and test the fix soon, if not will share an apk with conversion disabled(no id3 tags / metadata will be there)
Can you made a temporary ersion where we can download in m4a, and do the conversion job ourselves?
@Shabinder This seems like a reasonable workaround if the conversion process will take some time to implement!
Lemme see if I can wrap up and test the fix soon, if not will share an apk with conversion disabled(no id3 tags / metadata will be there)
I think we've been waiting long enough and if you can get the app full and functional then a lil more wait is worth it instead of a temp fix
Lemme see if I can wrap up and test the fix soon, if not will share an apk with conversion disabled(no id3 tags / metadata will be there)
@Shabinder have you an idea of the time that will be needed for the release?
Lemme see if I can wrap up and test the fix soon, if not will share an apk with conversion disabled(no id3 tags / metadata will be there)
@Shabinder have you an idea of the time that will be needed for the release?
Its been two days I have been messing with streamlining FFmpeg for Android so that when shipped in-app it wont bloat and as I have less experience with JNI, I am learning and doing and hence taking time.
If I simply pick someone else prebuilt ffmpeg, App starts working but it goes over 45MB in size. So that's the progress update guys
Lets do one thing, I will drop that huge apk here just for the meantime till I figure things out, Sounds Good?
Lemme see if I can wrap up and test the fix soon, if not will share an apk with conversion disabled(no id3 tags / metadata will be there)
@Shabinder have you an idea of the time that will be needed for the release?
Its been two days I have been messing with streamlining FFmpeg for Android so that when shipped in-app it wont bloat and as I have less experience with JNI, I am learning and doing and hence taking time.
If I simply pick someone else prebuilt ffmpeg, App starts working but it goes over 45MB in size. So that's the progress update guys
Lets do one thing, I will drop that huge apk here just for the meantime till I figure things out, Sounds Good?
Yes please do that. The size doesn't matter that much.
Lemme see if I can wrap up and test the fix soon, if not will share an apk with conversion disabled(no id3 tags / metadata will be there)
@Shabinder have you an idea of the time that will be needed for the release?
Its been two days I have been messing with streamlining FFmpeg for Android so that when shipped in-app it wont bloat and as I have less experience with JNI, I am learning and doing and hence taking time.
If I simply pick someone else prebuilt ffmpeg, App starts working but it goes over 45MB in size. So that's the progress update guys
Lets do one thing, I will drop that huge apk here just for the meantime till I figure things out, Sounds Good?
Can we expect it like today or something? Sorry for seeming impatient but I've got a whole list of songs ready by now😅
Lemme see if I can wrap up and test the fix soon, if not will share an apk with conversion disabled(no id3 tags / metadata will be there)
@Shabinder have you an idea of the time that will be needed for the release?
Its been two days I have been messing with streamlining FFmpeg for Android so that when shipped in-app it wont bloat and as I have less experience with JNI, I am learning and doing and hence taking time.
If I simply pick someone else prebuilt ffmpeg, App starts working but it goes over 45MB in size. So that's the progress update guys
Lets do one thing, I will drop that huge apk here just for the meantime till I figure things out, Sounds Good?
Sounds great man!
Lemme see if I can wrap up and test the fix soon, if not will share an apk with conversion disabled(no id3 tags / metadata will be there)
@Shabinder have you an idea of the time that will be needed for the release?
Its been two days I have been messing with streamlining FFmpeg for Android so that when shipped in-app it wont bloat and as I have less experience with JNI, I am learning and doing and hence taking time.
If I simply pick someone else prebuilt ffmpeg, App starts working but it goes over 45MB in size. So that's the progress update guys
Lets do one thing, I will drop that huge apk here just for the meantime till I figure things out, Sounds Good?
@Shabinder is it released yet?
Can we expect it like today or something? Sorry for seeming impatient but I've got a whole list of songs ready by now😅
Hopefully today 🤞 , However I won't be making an official release for that, will simply drop APK here as I will be considering it as a preview/temp release until everything is back on track
Can we expect it like today or something? Sorry for seeming impatient but I've got a whole list of songs ready by now😅
Hopefully today 🤞 , However I won't be making an official release for that, will simply drop APK here as I will be considering it as a preview/temp release until everything is back on track
let's go 🥳🥳🥳
Can we expect it like today or something? Sorry for seeming impatient but I've got a whole list of songs ready by now😅
Hopefully today 🤞 , However I won't be making an official release for that, will simply drop APK here as I will be considering it as a preview/temp release until everything is back on track
Bring it soon, about 100-120 followers of mine are waiting for Spotiflyer, I had no idea that so many people want to download songs from Spotify🔥
Bring it soon, about 100-120 followers of mine are waiting for Spotiflyer, I had no idea that so many people want to download songs from Spotify🔥
@ujjwal-fsl Told them to use Spotify to YouTube synchronization by the soundiiz app (Google play), then use spotiflyer to download the ytb playlist
Spotiflyer Alpha Release: https://drive.google.com/file/d/1U5WUdWhN1-A-3y5m3NcnXYEEkS5aeHZ0/view?usp=sharing Use this until I can bring the codebase back on track
Spotiflyer Alpha Release: https://drive.google.com/file/d/1U5WUdWhN1-A-3y5m3NcnXYEEkS5aeHZ0/view?usp=sharing Use this until I can bring the codebase back on track
Thanks so so much man
Spotify download still don't work...
Spotify download still don't work...
It should , you should not encounter MP3 Convert Busy error, if some songs dont download that must be because of yt-match algo failure ,but this would happen on only some songs not all.
Unable to download 😅 from spotify
Unable to download 😅 from spotify
Please confirm whats the failure reason ? Mp3 converter busy ? If not then the rest issues are related to youtube matching algo.
Spotify download still don't work...
It should , you should not encounter MP3 Convert Busy error, if some songs dont download that must be because of yt-match algo failure ,but this would happen on only some songs not all.
Now I tried multiple songs, and still download won't start.
Spotiflyer Alpha Release: https://drive.google.com/file/d/1U5WUdWhN1-A-3y5m3NcnXYEEkS5aeHZ0/view?usp=sharing Use this until I can bring the codebase back on track
Tried 3 songs so far .. 2 done. One song.. (Daydream by Johnny Orlando) Tried from Spotify and gaana... It doesn't show error in app.. but the file downloaded is barely 100 something kb and obviously doesn't play
DownloadLinkFetchFailed(errorTrace=Find Link for Ah Ya Leil
Fetching From Saavn Failed:DownloadLinkFetchFailed(errorTrace=No SAAVN Match Found for Ah Ya Leil) at com.shabinder.common.providers.saavn.requests.JioSaavnRequests$DefaultImpls.findBestSongDownloadURL(JioSaavnRequests.kt:17) at com.shabinder.common.providers.saavn.requests.JioSaavnRequests$findBestSongDownloadURL$1.invokeSuspend(JioSaavnRequests.kt) 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)
Fetching From YT-Music Failed:NoMatchFound(trackName=Ah Ya Leil, message=Ah Ya Leil : NO Match Found!) at com.shabinder.common.providers.youtube_music.YoutubeMusic.getYTIDBestMatch(YoutubeMusic.kt:13) at com.shabinder.common.providers.youtube_music.YoutubeMusic.access$getYTIDBestMatch(YoutubeMusic.kt:1) at com.shabinder.common.providers.youtube_music.YoutubeMusic$getYTIDBestMatch$1.invokeSuspend(YoutubeMusic.kt) 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.providers.FetchPlatformQueryResult.findBestDownloadLink(FetchPlatformQueryResult.kt:42) at com.shabinder.common.providers.FetchPlatformQueryResult$findBestDownloadLink$1.invokeSuspend(FetchPlatformQueryResult.kt) 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)
This is the first time I try the app so I am not 100% sure I did it right. I copied the URL to my public playlist, then I clicked thé download all button. All failed with this error.
Fetching From Saavn Failed:DownloadLinkFetchFailed(errorTrace=No SAAVN Match Found for PDM)
at com.shabinder.common.providers.saavn.requests.JioSaavnRequests$DefaultImpls.findBestSongDownloadURL(JioSaavnRequests.kt:17)
at com.shabinder.common.providers.saavn.requests.JioSaavnRequests$findBestSongDownloadURL$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)
Fetching From YT-Music Failed:NoMatchFound(trackName=PDM, message=PDM : Aucun résultat trouvé !)
at com.shabinder.common.providers.youtube_music.YoutubeMusic.getYTIDBestMatch(YoutubeMusic.kt:13)
at com.shabinder.common.providers.youtube_music.YoutubeMusic.access$getYTIDBestMatch(YoutubeMusic.kt:1)
at com.shabinder.common.providers.youtube_music.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)
)
at com.shabinder.common.providers.FetchPlatformQueryResult.findBestDownloadLink(FetchPlatformQueryResult.kt:42)
at com.shabinder.common.providers.FetchPlatformQueryResult$findBestDownloadLink$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)
DownloadLinkFetchFailed(errorTrace=Find Link for Ah Ya Leil
Fetching From Saavn Failed:DownloadLinkFetchFailed(errorTrace=No SAAVN Match Found for Ah Ya Leil) at com.shabinder.common.providers.saavn.requests.JioSaavnRequests$DefaultImpls.findBestSongDownloadURL(JioSaavnRequests.kt:17) at com.shabinder.common.providers.saavn.requests.JioSaavnRequests$findBestSongDownloadURL$1.invokeSuspend(JioSaavnRequests.kt) 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)
Fetching From YT-Music Failed:NoMatchFound(trackName=Ah Ya Leil, message=Ah Ya Leil : NO Match Found!) at com.shabinder.common.providers.youtube_music.YoutubeMusic.getYTIDBestMatch(YoutubeMusic.kt:13) at com.shabinder.common.providers.youtube_music.YoutubeMusic.access$getYTIDBestMatch(YoutubeMusic.kt:1) at com.shabinder.common.providers.youtube_music.YoutubeMusic$getYTIDBestMatch$1.invokeSuspend(YoutubeMusic.kt) 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.providers.FetchPlatformQueryResult.findBestDownloadLink(FetchPlatformQueryResult.kt:42) at com.shabinder.common.providers.FetchPlatformQueryResult$findBestDownloadLink$1.invokeSuspend(FetchPlatformQueryResult.kt) 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)
Same here...
Spotiflyer Alpha Release: https://drive.google.com/file/d/1U5WUdWhN1-A-3y5m3NcnXYEEkS5aeHZ0/view?usp=sharing Use this until I can bring the codebase back on track
Tried 3 songs so far .. 2 done. One song.. (Daydream by Johnny Orlando) Tried from Spotify and gaana... It doesn't show error in app.. but the file downloaded is barely 100 something kb and obviously doesn't play
I didn't get an error in app yet... Just the file that didn't really download
> Fetching From Saavn Failed:DownloadLinkFetchFailed(errorTrace=No SAAVN Match Found for PDM)
> Fetching From YT-Music Failed:NoMatchFound(trackName=PDM, message=PDM : Aucun résultat trouvé !)
This error shows that there was some.issue in matching a find , its not related to conversion,if you try some other songs, many would download normally.
This is the first time I try the app so I am not 100% sure I did it right. I copied the URL to my public playlist, then I clicked thé download all button. All failed with this error.
Fetching From Saavn Failed:DownloadLinkFetchFailed(errorTrace=No SAAVN Match Found for PDM)
Fetching From YT-Music Failed:NoMatchFound(trackName=PDM, message=PDM : Aucun résultat trouvé !)
This error shows that there was some.issue in matching a find , its not related to conversion,if you try some other songs, many would download normally.
I tried multiple songs from same artist. Should I try YT music links?
I tried multiple songs from same artist. Should I try YT music links? Yup its more possible to encounter issue when finding a match for same artist.
And everyone untils its mp3 conversion error/corrupted file download ,dont clutter this thread instead create new issue.
That playlist contrains about 70 songs, none match.
We use an External 3rd Party m4a -> mp3 converter which seems to have changed their API behavior and hence APP is DOWN and not working for the moment.
I request everybody to give me a few days, I will make some time and fix it as soon as possible.(Probably this Weekend, i.e., by Aug 9)
Please refrain from creating more issues until I fix the app and release a new version. I appreciate your understanding.