Giter VIP home page Giter VIP logo

spotisharp's Introduction

Hi There

My name is Damian and welcome to my github profile

-> ~/Portfolio git:(main) > ./start.sh

    Human Information
    ------------------------------------------
    Name: Damian
    Lastname: Ziolo
    Nickname: L0um15
    Gender: Male
    Age: 20
    Hobbies: ["Movies"], ["Coding"], ["Gaming"], ["Music"]
    Languages: ["Polish"], ["English US"], ["English UK"]
    Occupation: Poland


C#

Java

Javascript

Postgresql

Python

Sass

    System Information
    ------------------------------------------
    OS: Windows 10
    Kernel: 21H1, Build ver. 19043.1110
    WM: Windows Explorer
    Shell: powershell
    Terminal: alacritty 0.7.2
    Resolution: 1920x1080
    Theme: Dark
    CPU: Intel Core i5 11400 @ 2.6GHz
    GPU: Nvidia GeForce GTX 1050
    Memory:  3072MB / 8192MB 3200MHz

spotisharp's People

Contributors

alltdl avatar kozilord avatar l0um15 avatar sercangunver 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

Watchers

 avatar  avatar  avatar  avatar  avatar

spotisharp's Issues

Unhandled exception. YoutubeExplode.Exceptions.TransientFailureException: Video watch page is broken.

Describe the bug
Getting the following exception:

Connecting To Spotify...
Making requests to Spotify...
Downloading ::::: Moderat - Intruder
Unhandled exception. YoutubeExplode.Exceptions.TransientFailureException: Video watch page is broken.
In most cases, this error indicates that the problem is on YouTube's side and this is not a bug in the library.
To resolve this error, please wait some time and try again.
If this issue persists, please report it on the project's GitHub page.
   at YoutubeExplode.ReverseEngineering.Responses.WatchPage.<>c__DisplayClass11_0.<<GetAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at YoutubeExplode.Internal.Retry.WrapAsync[T](Func`1 executeAsync)
   at YoutubeExplode.Internal.Retry.WrapAsync[T](Func`1 executeAsync)
   at YoutubeExplode.ReverseEngineering.Responses.WatchPage.GetAsync(YoutubeHttpClient httpClient, String videoId)
   at YoutubeExplode.Videos.Streams.StreamClient.GetStreamContextFromWatchPageAsync(VideoId videoId)
   at YoutubeExplode.Videos.Streams.StreamClient.GetManifestAsync(VideoId videoId)
   at SpotiSharp.DownloadHelpers.DownloadAndConvertTrack(YoutubeClient youtube, TrackInfo trackInfo) in D:\Projects\C#\SpotiSharp\DownloadHelpers.cs:line 14
   at SpotiSharp.Program.Main(String[] args) in D:\Projects\C#\SpotiSharp\Program.cs:line 127

How To Reproduce
Getting the above exception when attempting to download either a single track or entire playlist - song URL from above sample: https://open.spotify.com/track/6dS7rWtP9G7R1o2FSeomQe?si=f7a54af057ef4d4c

Reproduced in PowerShell v5.1, both with the self-contained version of SpotiSharp and with framework-dependent version with .Net 3.1.13 Runtime installed.

Desktop (please complete the following information):

  • OS: Windows 10 Pro x64
  • OS Version: v20H2 (10.0.19042)

Any way to specify output format?

Hi,

is there any way to chose which output format should be used? It would be cool to be able to tell ffmpeg to e.g. output .m4a or .ogg files, which often means tracks pulled from Youtube don't need to be converted. I tried going through the code to find where Spotisharp is telling ffmpeg explicitly to create mp3 files, but could not pinpoint where that happens - does the conversion happen because the output file path given to ffmpeg end with .mp3?

Wrong songs or wrong durations

Hi
Sometimes gets songs downloaded from Spotify wrong, or calculates the duration incorrectly.
Sometimes it's 11 minutes, sometimes 20 seconds.
This happens especially with large playlists.
Thanks

Planned Features.

Subscribe to this event to keep track of incomming changes

Pending.

Finished

  • Rewrite
  • Configuration Rework
  • Linux Support
  • Albums Support
  • Playlist Support
  • Lyrics Support
  • Spotify URL Support
  • Metadata (Artist's, Album Art, Lyrics, etc.)
  • Check Version

Application crashes after 'Finished all tasks' - Pihole Adblocker blocking DNS.

Describe the bug
The application crashes after all tasks are finished.

I use pihole adblocker I am blocking youtube ad servers. Here is a link to the domains I am blocking: https://raw.githubusercontent.com/Lewis-Fam/pihole_adlists/main/youtube_ads_blocklist.txt

--- Message ---
The requested name is valid, but no data of the requested type was found. (rr3---sn-qxoedne7.googlevideo.com:443)

How To Reproduce
Crashes on playlists and albums. I didn't test tracks.

Include latest log file
..
....
......
[2022.09.09 19:40:32] [Debug]: W #2 ::: Finished current task ::: Case Point - Savage
[2022.09.09 19:40:32] [Info]: W #2 ::: Skipping: Tut Tut Child - Fat Cat Adventures
[2022.09.09 19:40:33] [Info]: W #2 ::: Skipping: Noisia - Mundus Theme
[2022.09.09 19:40:33] [Info]: W #2 ::: Skipping: Adventure Club - Gold (feat. Yuna)
[2022.09.09 19:40:33] [Info]: W #2 ::: Skipping: Knife Party - Kaleidoscope
[2022.09.09 19:40:34] [Info]: W #2 ::: Finished all tasks
[2022.09.09 19:40:34] [Debug]: W #1 ::: Downloading ::: Linkin Park - LOST IN THE ECHO - KillSonik Remix
[2022.09.09 19:40:37] [Debug]: W #1 ::: Converting ::: Linkin Park - LOST IN THE ECHO - KillSonik Remix
[2022.09.09 19:40:42] [Debug]: W #1 ::: Adding metadata ::: Linkin Park - LOST IN THE ECHO - KillSonik Remix
[2022.09.09 19:40:42] [Debug]: W #1 ::: Finished current task ::: Linkin Park - LOST IN THE ECHO - KillSonik Remix
[2022.09.09 19:40:42] [Info]: W #1 ::: Finished all tasks
[2022.09.09 19:40:42] [Error]: Application crashed!

--- Message ---
The requested name is valid, but no data of the requested type was found. (rr3---sn-qxoedne7.googlevideo.com:443)

--- Helplink ---

--- Source ---
System.Net.Http

--- StackTrace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at Spotisharp.Client.Services.YoutubeService.GetSize(String url) in W:\Daddy\Documents\dev\Spotisharp\Spotisharp.Client\Services\YoutubeService.cs:line 109 at Spotisharp.Client.Services.YoutubeService.GetStreamAsync(String url, IProgress1 progress) in W:\Daddy\Documents\dev\Spotisharp\Spotisharp.Client\Services\YoutubeService.cs:line 62
at Program.<>c__DisplayClass0_0.<<

$>b__0>d.MoveNext() in W:\Daddy\Documents\dev\Spotisharp\Spotisharp.Client\Program.cs:line 230
--- End of stack trace from previous location ---
at Program.$(String[] args) in W:\Daddy\Documents\dev\Spotisharp\Spotisharp.Client\Program.cs:line 150
at Program.(String[] args)

--- TargetSide ---
Void MoveNext()

Windows 10 and 11.

I am able to resolve the crash by disabling pihole adblocker.

Spotisharp application crashes when trying to enter any supported string for download

Describe the bug
I get the following crash report when trying to use Spotisharp. I have tried using individual song links, entering the song via string, and playlist links from Spotify and they all fail.
See the log below:

How To Reproduce

  1. run Spotisharp
  2. enter anything:
  1. Press enter

Screenshots
image

Include latest log file
log-20240204112252.txt

Desktop (please complete the following information):

  • OS: Windows 10
  • OS Version: 10.0.19045 Build 19045

Will work only for playlist with at most 100 tracks

Describe the bug
SpotiSharp will retrieve only first 100 tracks from a playlist which might have more than 100. The reason is Spotify API pagination and I think it should be added (maybe using PaginateAll from SpotifyAPI.Web)

How To Reproduce
Any playlist with more than 100 tracks

Desktop (please complete the following information):

  • Windows 10
  • build 10.0.19042

parsing playlist throws "String is empty or null (Parameter 'albumId')"

Describe the bug
Trying to download a large playlist (>1000 tracks). Program throws the following exception:
"String is empty or null (Parameter 'albumId')"

for stacktrace see log file

How To Reproduce
playlist url:
https://open.spotify.com/playlist/0cBxH4OqNPVCWLjoRKGk16?si=0ecf1b4ea60544ff

Screenshots
Add screenshots to help explain your problem.

Include latest log file
log-20220620215436.txt

Desktop (please complete the following information):

  • OS: Windows 10 21H2
  • OS Version 19044.1766

HttpRequestException: Status code 403

Describe the bug
This bug is caused by Spotisharp library.
This issue will be probably fixed soon.
Meanwhile i will try to play with other library to get it fixed right away.

Screenshots
obraz

Downloaded song is wrong but metadata is right.

Describe the bug
A clear and concise description of what the bug is.

Recently I have been getting wrong results with spotisharp or manually downloading songs from youtube
The title of the song is correct but the content is wrong.

How To Reproduce
Include song/playlist you was looking for.
E.g. [https://open.spotify.com/track/28HX0PibeXSL6cfAsvwSgD]

https://open.spotify.com/playlist/37i9dQZF1DXa41CMuUARjl
Song name : Shermanology - Motown Philly
Downloaded song : meyra - gözlerinde kim var

Screenshots
Add screenshots to help explain your problem.

Include latest log file
Log file can be found inside app directory. It should be named like: log-{Year}{Month}{Day}{Hour}{Minute}{Second}.txt

Desktop (please complete the following information):

  • OS: [e.g. Linux, Windows] : windows
  • Kernel [e.g. 4.15.0-39-generic] (Linux only)
  • OS Version [e.g. 1809 build 17763.1577] (Windows only)

unhandled exception

On windows with dotnet 6, after the first downloads:

at Program.<>c__DisplayClass0_3.<

$>b__3(Tuple2 pValues) in D:\a\Spotisharp\Spotisharp\Spotisharp.Client\Program.cs:line 244-- at System.Progress1.InvokeHandlers(Object state) at System.Threading.SynchronizationContext.<>c.b__8_0(ValueTuple2 s) at System.Threading.QueueUserWorkItemCallbackDefaultContext1.Execute() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() at System.Threading.Thread.StartCallback() W #1 ::: ███▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ D: 017% Q:064 ::: Hollywood Pictures Orchestra - Starship Troopers - Klendathu Drop --- StackTrace --- at System.String.Ctor(Char c, Int32 count) at Program.<>c__DisplayClass0_3.<$>b__3(Tuple2 pValues) in D:\a\Spotisharp\Spotisharp\Spotisharp.Client\Program.cs:line 244 at System.Progress1.InvokeHandlers(Object state) at System.Threading.SynchronizationContext.<>c.b__8_0(ValueTuple2 s) at System.Threading.QueueUserWorkItemCallbackDefaultContext1.Execute() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() at System.Threading.Thread.StartCallback() --- TargetSide --- System.String Ctor(Char, Int32) Unhandled exception.

SpotifyAPI needs to reference the latest release

Describe the bug
Currently spotisharp doesn't work. Spotify updated the variable types and it's causing chaos on the SpotifyAPI side.
They fixed it, but we need to update to 7.1.1 here
https://github.com/L0um15/Spotisharp/blob/dev/Spotisharp.Client/Spotisharp.Client.csproj

The version:
https://github.com/JohnnyCrazy/SpotifyAPI-NET/releases/tag/7.1.1

The issue resolved:
JohnnyCrazy/SpotifyAPI-NET#942

How To Reproduce
try to download ANY song or playlist
https://open.spotify.com/track/6M7oa01tpOccJXkb9rUoH8?si=3963e586598643df

log-20240308223014.txt

Musixmatch returns 404 while fetching lyrics

tested these changes on my local branch and was able to download files (originally this would crash on any file attempt)
Note: noticed that the following error output exists (happens at the end of the download, so the file still exists and works fine):

Unhandled exception. System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   at Spotisharp.Client.Services.MusixmatchService.SearchLyricsFromText(String query) in E:\Coding\Repos\Spotisharp.Client\Services\MusixmatchService.cs:line 14
   at Program.<>c__DisplayClass0_0.<<<Main>$>b__0>d.MoveNext() in E:\Coding\Repos\Spotisharp.Client\Program.cs:line 280
--- End of stack trace from previous location ---
   at Program.<Main>$(String[] args) in E:\Coding\Repos\Spotisharp.Client\Program.cs:line 132
   at Program.<Main>(String[] args)

Originally posted by @narutoshocker in #45 (comment)

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.