Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md with a clear Description, expanded Features and Installation Guide, and a new Troubleshooting Section #178

Open
wants to merge 1 commit into
base: next
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions PROGRESS.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# Api Progress ![Progress](http://progressed.io/bar/79)
# API Progress ![Progress](http://progressed.io/bar/79)

These are all the Last.fm API methods currently available.
These are all the Last.fm API methods currently available.

- Methods implemented by the [Inflatable Last.fm .NET SDK](https://github.com/inflatablefriends/lastfm) link to the relevant documentation page.
- Methods ~~marked with strikethrough~~ aren't currently implemented. Pull requests are welcome!
- Methods _marked with an asterisk *_ aren't listed on [the Last.fm documentation](http://www.last.fm/api), so they might not work!
- Methods _marked with an asterisk \*_ aren't listed on [the Last.fm documentation](http://www.last.fm/api), so they might not work!

This list is generated by the [ProgressReport](src/IF.Lastfm.ProgressReport) tool in the solution. Last updated on Wednesday, 30 November 2016 04:27

## Album

- [album.getInfo](http://www.last.fm/api/show/album.getInfo)
Expand All @@ -15,8 +16,8 @@ This list is generated by the [ProgressReport](src/IF.Lastfm.ProgressReport) too
- [album.search](http://www.last.fm/api/show/album.search)
- ~~[album.addTags](http://www.last.fm/api/show/album.addTags)~~
- ~~[album.removeTag](http://www.last.fm/api/show/album.removeTag)~~
- _album.shout_ *
- _album.getShouts_ *
- _album.shout_ \*
- _album.getShouts_ \*

## Artist

Expand All @@ -30,8 +31,8 @@ This list is generated by the [ProgressReport](src/IF.Lastfm.ProgressReport) too
- ~~[artist.addTags](http://www.last.fm/api/show/artist.addTags)~~
- ~~[artist.getCorrection](http://www.last.fm/api/show/artist.getCorrection)~~
- ~~[artist.removeTag](http://www.last.fm/api/show/artist.removeTag)~~
- _artist.shout_ *
- _artist.getShouts_ *
- _artist.shout_ \*
- _artist.getShouts_ \*

## Auth

Expand All @@ -53,9 +54,9 @@ This list is generated by the [ProgressReport](src/IF.Lastfm.ProgressReport) too
## Library

- [library.getArtists](http://www.last.fm/api/show/library.getArtists)
- _library.getTracks_ *
- _library.removeScrobble_ *
- _library.removeTrack_ *
- _library.getTracks_ \*
- _library.removeScrobble_ \*
- _library.removeTrack_ \*

## Tag

Expand All @@ -81,8 +82,8 @@ This list is generated by the [ProgressReport](src/IF.Lastfm.ProgressReport) too
- ~~[track.getTags](http://www.last.fm/api/show/track.getTags)~~
- ~~[track.getTopTags](http://www.last.fm/api/show/track.getTopTags)~~
- ~~[track.removeTag](http://www.last.fm/api/show/track.removeTag)~~
- _track.shout_ *
- _track.getShouts_ *
- _track.shout_ \*
- _track.getShouts_ \*

## User

Expand All @@ -100,8 +101,7 @@ This list is generated by the [ProgressReport](src/IF.Lastfm.ProgressReport) too
- ~~[user.getWeeklyArtistChart](http://www.last.fm/api/show/user.getWeeklyArtistChart)~~
- ~~[user.getWeeklyChartList](http://www.last.fm/api/show/user.getWeeklyChartList)~~
- ~~[user.getWeeklyTrackChart](http://www.last.fm/api/show/user.getWeeklyTrackChart)~~
- _user.getRecommendedArtists_ *
- _user.shout_ *
- _user.getRecentStations_ *
- _user.getShouts_ *

- _user.getRecommendedArtists_ \*
- _user.shout_ \*
- _user.getRecentStations_ \*
- _user.getShouts_ \*
50 changes: 44 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,47 @@ Hi there! The maintainer of this library @rikkit is now mostly a TypeScript + Re
- To build useful components for Last.fm applications
- To be the very best, like no-one ever was

## Description

The Inflatable Last.fm .NET SDK is a comprehensive library that provides .NET bindings for the Last.fm REST API. This SDK aims to simplify the process of integrating Last.fm functionality into .NET applications, allowing developers to easily access and manipulate Last.fm data.

## Features

Key features of this SDK include:

- **Complete API Coverage**: Provides bindings for all Last.fm API methods, allowing full access to Last.fm's extensive music data and user information.
- **Asynchronous Operations**: Utilizes `async/await` patterns for efficient and non-blocking API calls.
- **Strong Typing**: Offers strongly-typed objects for Last.fm entities like artists, albums, and tracks, enhancing code reliability and developer productivity.
- **Authentication Support**: Implements Last.fm's authentication protocols, enabling both authenticated and non-authenticated API requests.
- **Scrobbling Capabilities**: Includes methods for scrobbling tracks to Last.fm, a core feature of the Last.fm service.
- **Extensible Architecture**: Designed with extensibility in mind, allowing for easy updates as the Last.fm API evolves.
- **Cross-Platform Compatibility**: Targets `.NET Standard 1.1`, ensuring broad compatibility across various .NET platforms.

## Contributing

Input is always welcome! [Raise an issue on GitHub](https://github.com/inflatablefriends/lastfm/issues), or send a message to [the Gitter chatroom](https://gitter.im/inflatablefriends/lastfm) if you need help with the library.
Input is always welcome! [Raise an issue on GitHub](https://github.com/inflatablefriends/lastfm/issues), or send a message to [the Gitter chatroom](https://gitter.im/inflatablefriends/lastfm) if you need help with the library.

If you're interested in contributing code or documentation, [this short introduction to the library](doc/contributing.md) will help you get started.

## Quickstart

### Installing

#### NuGet
#### NuGet Package Manager

1. Open your project in Visual Studio.
2. Right-click on your project in the Solution Explorer and select "Manage NuGet Packages".
3. In the "Browse" tab, search for "Inflatable.Lastfm".
4. Click on the package and select "Install".

Alternatively, you can use the Package Manager Console:

Install [Inflatable.Lastfm](
https://www.nuget.org/packages/Inflatable.Lastfm/) from NuGet.
Install [Inflatable.Lastfm](https://www.nuget.org/packages/Inflatable.Lastfm/) from NuGet.

#### .NET CLI

For projects using the .NET CLI, use the following command:
`dotnet add package Inflatable.Lastfm`

#### NuGet - prerelease code

Expand Down Expand Up @@ -80,17 +107,28 @@ if (client.Auth.HasAuthenticated) {
}
```

### Troubleshooting

#### Common Issues:

1. **Authentication Failure:** Ensure that your API key and secret are correctly passed to `LastfmClient`. Also, verify your credentials with Last.fm.
2. **Timeout Errors:** Increase the timeout in your HTTP client settings if you encounter long API response times.
3. **Compatibility Problems:** Check the .NET Standard version compatibility with your project. Review the platform compatibility section for further guidance.
4. **Rate Limiting Issues:** If you encounter frequent `429` errors, you may be exceeding Last.fm's rate limits. Implement appropriate delays between requests.

For more detailed troubleshooting, please refer to the [Last.fm API documentation](https://www.last.fm/api) or open an issue on our [GitHub repository](https://github.com/inflatablefriends/lastfm/issues).

## Documentation

- [Api method progress report](PROGRESS.md)
- [API method progress report](PROGRESS.md)
- [Contributing](doc/contributing.md)
- [Scrobbling](doc/scrobbling.md)
- [Dependency Injection](doc/dependency-injection.md)
- [Example Windows Phone app](https://github.com/inflatablefriends/lastfm-samples)

## Platform Compatibility

The main package targets ```netstandard1.1```. Development is on the ```master``` branch.
The main package targets `netstandard1.1`. Development is on the `master` branch.

### Dependencies

Expand Down
Loading