Versions in this module Expand all Collapse all v1 v1.0.0 Sep 18, 2026 Changes in this version + const DefaultBaseURL + const DefaultUserAgent + var ErrInvalidLRC = errors.New("lrclib: invalid or empty LRC data") + var ErrNotFound = errors.New("lrclib: lyrics not found") + var ErrRateLimited = errors.New("lrclib: rate limited") + type Client struct + func NewClient(opts ...ClientOption) *Client + func (c *Client) Get(ctx context.Context, trackName, artistName, albumName string, duration float64) (*Lyrics, error) + func (c *Client) GetByID(ctx context.Context, id int64) (*Lyrics, error) + func (c *Client) Search(ctx context.Context, params SearchParams) ([]Lyrics, error) + type ClientOption func(*Client) + func WithBaseURL(url string) ClientOption + func WithHTTPClient(client *http.Client) ClientOption + func WithMinInterval(interval time.Duration) ClientOption + func WithUserAgent(ua string) ClientOption + type Line struct + Seconds float64 + Text string + TimeStr string + Timestamp time.Duration + func ParseLRC(syncedLyrics string) ([]Line, error) + type Lyrics struct + AlbumName string + ArtistName string + Duration float64 + ID int64 + Instrumental bool + Name string + PlainLyrics string + SyncedLyrics string + TrackName string + func (l *Lyrics) Lines() ([]Line, error) + type SearchParams struct + AlbumName string + ArtistName string + Duration float64 + Query string + TrackName string