diff --git a/src/IF.Lastfm.Core/Api/Enums/LastMethodsNames.cs b/src/IF.Lastfm.Core/Api/Enums/LastMethodsNames.cs
new file mode 100644
index 0000000..f6e175a
--- /dev/null
+++ b/src/IF.Lastfm.Core/Api/Enums/LastMethodsNames.cs
@@ -0,0 +1,155 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace IF.Lastfm.Core.Enums
+{
+ ///
+ /// Auto-generated class containing all the Last.Fm Api methods names.
+ ///
+ ///
+ /// Generated using the following code:
+ /// var allMethods = ProgressReport.GetApiMethods().SelectMany(x => x.Value).OrderBy(x => x);
+ /// var getValidName = new Func(x => x.Replace('.', '_'));
+ /// var getConstDefinition = new Func(x => string.Format("internal const string {0} = \"{1}\";", getValidName(x), x));
+ /// var allMethodsAsConstDefinitions = "internal static class LastMethodsNames\n{" + string.Join("\n", allMethods.Select(x => getConstDefinition(x))) + "}";
+ ///
+ internal static class LastMethodsNames
+ {
+ internal const string album_addTags = "album.addTags";
+ internal const string album_getBuylinks = "album.getBuylinks";
+ internal const string album_getInfo = "album.getInfo";
+ internal const string album_getShouts = "album.getShouts";
+ internal const string album_getTags = "album.getTags";
+ internal const string album_getTopTags = "album.getTopTags";
+ internal const string album_removeTag = "album.removeTag";
+ internal const string album_search = "album.search";
+ internal const string album_share = "album.share";
+ internal const string artist_addTags = "artist.addTags";
+ internal const string artist_getCorrection = "artist.getCorrection";
+ internal const string artist_getEvents = "artist.getEvents";
+ internal const string artist_getInfo = "artist.getInfo";
+ internal const string artist_getPastEvents = "artist.getPastEvents";
+ internal const string artist_getPodcast = "artist.getPodcast";
+ internal const string artist_getShouts = "artist.getShouts";
+ internal const string artist_getSimilar = "artist.getSimilar";
+ internal const string artist_getTags = "artist.getTags";
+ internal const string artist_getTopAlbums = "artist.getTopAlbums";
+ internal const string artist_getTopFans = "artist.getTopFans";
+ internal const string artist_getTopTags = "artist.getTopTags";
+ internal const string artist_getTopTracks = "artist.getTopTracks";
+ internal const string artist_removeTag = "artist.removeTag";
+ internal const string artist_search = "artist.search";
+ internal const string artist_share = "artist.share";
+ internal const string artist_shout = "artist.shout";
+ internal const string auth_getMobileSession = "auth.getMobileSession";
+ internal const string auth_getSession = "auth.getSession";
+ internal const string auth_getToken = "auth.getToken";
+ internal const string chart_getHypedArtists = "chart.getHypedArtists";
+ internal const string chart_getHypedTracks = "chart.getHypedTracks";
+ internal const string chart_getLovedTracks = "chart.getLovedTracks";
+ internal const string chart_getTopArtists = "chart.getTopArtists";
+ internal const string chart_getTopTags = "chart.getTopTags";
+ internal const string chart_getTopTracks = "chart.getTopTracks";
+ internal const string event_attend = "event.attend";
+ internal const string event_getAttendees = "event.getAttendees";
+ internal const string event_getInfo = "event.getInfo";
+ internal const string event_getShouts = "event.getShouts";
+ internal const string event_share = "event.share";
+ internal const string event_shout = "event.shout";
+ internal const string geo_getEvents = "geo.getEvents";
+ internal const string geo_getMetroArtistChart = "geo.getMetroArtistChart";
+ internal const string geo_getMetroHypeArtistChart = "geo.getMetroHypeArtistChart";
+ internal const string geo_getMetroHypeTrackChart = "geo.getMetroHypeTrackChart";
+ internal const string geo_getMetros = "geo.getMetros";
+ internal const string geo_getMetroTrackChart = "geo.getMetroTrackChart";
+ internal const string geo_getMetroUniqueArtistChart = "geo.getMetroUniqueArtistChart";
+ internal const string geo_getMetroUniqueTrackChart = "geo.getMetroUniqueTrackChart";
+ internal const string geo_getMetroWeeklyChartlist = "geo.getMetroWeeklyChartlist";
+ internal const string geo_getTopArtists = "geo.getTopArtists";
+ internal const string geo_getTopTracks = "geo.getTopTracks";
+ internal const string group_getHype = "group.getHype";
+ internal const string group_getMembers = "group.getMembers";
+ internal const string group_getWeeklyAlbumChart = "group.getWeeklyAlbumChart";
+ internal const string group_getWeeklyArtistChart = "group.getWeeklyArtistChart";
+ internal const string group_getWeeklyChartList = "group.getWeeklyChartList";
+ internal const string group_getWeeklyTrackChart = "group.getWeeklyTrackChart";
+ internal const string library_addAlbum = "library.addAlbum";
+ internal const string library_addArtist = "library.addArtist";
+ internal const string library_addTrack = "library.addTrack";
+ internal const string library_getAlbums = "library.getAlbums";
+ internal const string library_getArtists = "library.getArtists";
+ internal const string library_getTracks = "library.getTracks";
+ internal const string library_removeAlbum = "library.removeAlbum";
+ internal const string library_removeArtist = "library.removeArtist";
+ internal const string library_removeScrobble = "library.removeScrobble";
+ internal const string library_removeTrack = "library.removeTrack";
+ internal const string playlist_addTrack = "playlist.addTrack";
+ internal const string playlist_create = "playlist.create";
+ internal const string radio_getPlaylist = "radio.getPlaylist";
+ internal const string radio_search = "radio.search";
+ internal const string radio_tune = "radio.tune";
+ internal const string tag_getInfo = "tag.getInfo";
+ internal const string tag_getSimilar = "tag.getSimilar";
+ internal const string tag_getTopAlbums = "tag.getTopAlbums";
+ internal const string tag_getTopArtists = "tag.getTopArtists";
+ internal const string tag_getTopTags = "tag.getTopTags";
+ internal const string tag_getTopTracks = "tag.getTopTracks";
+ internal const string tag_getWeeklyArtistChart = "tag.getWeeklyArtistChart";
+ internal const string tag_getWeeklyChartList = "tag.getWeeklyChartList";
+ internal const string tag_search = "tag.search";
+ internal const string tasteometer_compare = "tasteometer.compare";
+ internal const string tasteometer_compareGroup = "tasteometer.compareGroup";
+ internal const string track_addTags = "track.addTags";
+ internal const string track_ban = "track.ban";
+ internal const string track_getBuylinks = "track.getBuylinks";
+ internal const string track_getCorrection = "track.getCorrection";
+ internal const string track_getFingerprintMetadata = "track.getFingerprintMetadata";
+ internal const string track_getInfo = "track.getInfo";
+ internal const string track_getShouts = "track.getShouts";
+ internal const string track_getSimilar = "track.getSimilar";
+ internal const string track_getTags = "track.getTags";
+ internal const string track_getTopFans = "track.getTopFans";
+ internal const string track_getTopTags = "track.getTopTags";
+ internal const string track_love = "track.love";
+ internal const string track_removeTag = "track.removeTag";
+ internal const string track_scrobble = "track.scrobble";
+ internal const string track_search = "track.search";
+ internal const string track_share = "track.share";
+ internal const string track_unban = "track.unban";
+ internal const string track_unlove = "track.unlove";
+ internal const string track_updateNowPlaying = "track.updateNowPlaying";
+ internal const string user_getArtistTracks = "user.getArtistTracks";
+ internal const string user_getBannedTracks = "user.getBannedTracks";
+ internal const string user_getEvents = "user.getEvents";
+ internal const string user_getFriends = "user.getFriends";
+ internal const string user_getInfo = "user.getInfo";
+ internal const string user_getLovedTracks = "user.getLovedTracks";
+ internal const string user_getNeighbours = "user.getNeighbours";
+ internal const string user_getNewReleases = "user.getNewReleases";
+ internal const string user_getPastEvents = "user.getPastEvents";
+ internal const string user_getPersonalTags = "user.getPersonalTags";
+ internal const string user_getPlaylists = "user.getPlaylists";
+ internal const string user_getRecentStations = "user.getRecentStations";
+ internal const string user_getRecentTracks = "user.getRecentTracks";
+ internal const string user_getRecommendedArtists = "user.getRecommendedArtists";
+ internal const string user_getRecommendedEvents = "user.getRecommendedEvents";
+ internal const string user_getShouts = "user.getShouts";
+ internal const string user_getTopAlbums = "user.getTopAlbums";
+ internal const string user_getTopArtists = "user.getTopArtists";
+ internal const string user_getTopTags = "user.getTopTags";
+ internal const string user_getTopTracks = "user.getTopTracks";
+ internal const string user_getWeeklyAlbumChart = "user.getWeeklyAlbumChart";
+ internal const string user_getWeeklyArtistChart = "user.getWeeklyArtistChart";
+ internal const string user_getWeeklyChartList = "user.getWeeklyChartList";
+ internal const string user_getWeeklyTrackChart = "user.getWeeklyTrackChart";
+ internal const string user_shout = "user.shout";
+ internal const string user_signUp = "user.signUp";
+ internal const string user_terms = "user.terms";
+ internal const string venue_getEvents = "venue.getEvents";
+ internal const string venue_getPastEvents = "venue.getPastEvents";
+ internal const string venue_search = "venue.search";
+ }
+}
diff --git a/src/IF.Lastfm.Core/Api/Helpers/ApiNameAttribute.cs b/src/IF.Lastfm.Core/Api/Helpers/ApiNameAttribute.cs
index b52e890..d445aa5 100644
--- a/src/IF.Lastfm.Core/Api/Helpers/ApiNameAttribute.cs
+++ b/src/IF.Lastfm.Core/Api/Helpers/ApiNameAttribute.cs
@@ -11,4 +11,9 @@ public ApiNameAttribute(string name)
Text = name;
}
}
+
+ public class ApiMethodNameAttribute : ApiNameAttribute
+ {
+ public ApiMethodNameAttribute(string name) : base(name) { }
+ }
}
\ No newline at end of file
diff --git a/src/IF.Lastfm.Core/IF.Lastfm.Core.csproj b/src/IF.Lastfm.Core/IF.Lastfm.Core.csproj
index cfc2a59..90f9422 100644
--- a/src/IF.Lastfm.Core/IF.Lastfm.Core.csproj
+++ b/src/IF.Lastfm.Core/IF.Lastfm.Core.csproj
@@ -111,6 +111,7 @@
+