musix_match
musix_match copied to clipboard
API wrapper for musixmatch.com API's
= Musix Match
_ _
| | _ _ | |
| | | | | | | |
| | _ _ | | | | _ _ | |
| || || || | MusixMatch is a wrapper for the musixmatch.com API's. | || || || |
| || || || | With this library you can search for lyrics and tracks | || || || |
| | || || | using the http://musixmatch.com service. | | || || |
| | | |
| | | |
\ / \ /
---------- ----------
== Installation
gem install musix_match
== Usage
require 'musix_match'
MusixMatch::API::Base.api_key = 'YOUR_API_KEY'
=== Track search
response = MusixMatch.search_track(:q_artist => 'Pantera') if response.status_code == 200 response.each do |track| puts "#{track.track_id}: #{track.track_name} (#{track.artist_name})" end end
Available options for the search_track methods are:
- q: a string that will be searched in every data field
- q_track: string to be searched among tracks titles
- q_artist: string to be searched among artists names
- page: requested page of results
- page_size: desired number of items per result page
- f_has_lyrics: exclude tracks without an available lyrics
=== Getting lyrics
response = MusixMatch.get_lyrics(track_id) if response.status_code == 200 && lyrics = response.lyrics puts lyrics.lyrics_body end
=== Getting track
response = MusixMatch.get_track(track_id) if response.status_code == 200 && track = response.track puts "#{track.track_name} (#{track.artist_name})" puts "Lyrics id: #{track.lyrics_id}" end
=== Are you feeling lucky?
puts MusixMatch.i_m_feeling_lucky("Guns'n'Roses - Welcome to the jungle")
== Lyrics
The Lyrics object has the following attributes:
- lyrics_id
- lyrics_body
- lyrics_language
- script_tracking_url
- lyrics_copyright
- track_name
- artist_name
== Track
The track object has the following attributes:
- track_id
- track_mbid
- track_name
- track_mbid
- track_length
- lyrics_id
- instrumental
- subtitle_id
- artist_id
- artist_mbid
- artist_name
- artist_mbid
- album_name
- album_id
- album_coverart_100x100
== Sending Feedback
MusixMatch.post_feedback(track_id, lyrics_id, feedback_type)
Feedback type should be one of the following:
- wrong_attribution (the lyrics shown are not by the artist that I selected.)
- bad_characters (there are strange characters and/or words that are partially scrambled.)
- lines_too_long (the text for each verse is too long!)
- wrong_verses (there are some verses missing from the beginning or at the end.)
- wrong_formatting (the text looks horrible, please fix it!)
== Links
- Repository: git://github.com/pilu/musix_match.git
- Musixmatch site: {musixmatch.com}[http://musixmatch.com]
- Musixmatch API: {developer.musixmatch.com}[http://developer.musixmatch.com]
== Author
Andrea Franz - {http://gravityblast.com}[http://gravityblast.com]