Skip to content

<easylrc/types.h>

Core type definitions for the easyLRC library.


Enumerations

easylrc::lrc_type_t

Identifies the format of a parsed LRC file.

Value Description
STD Standard LRC — line-level timestamps only
EXT Extended LRC — word-level timestamps per line
INVALID Unrecognized or malformed file

Structs

easylrc::std_line_t

A single line from a standard LRC file.

Field Type Description
timestamp unsigned int Line start time in milliseconds
text std::string Lyric text for this line

easylrc::ext_word_t

A single word entry from an extended LRC file.

Field Type Description
timestamp unsigned int Word start time in milliseconds
text std::string The word

easylrc::ext_line_t

A single line from an extended LRC file, with per-word timing.

Field Type Description
timestamp unsigned int Line start time in milliseconds
voice unsigned short Voice/singer index for multi-voice tracks
text std::string Full lyric text for this line
words std::vector<ext_word_t> Word-level timing entries

Type Aliases

easylrc::line_t

using line_t = std::variant<std_line_t, ext_line_t>;

A discriminated union representing a single lyric line in either format. Use std::holds_alternative or std::visit to dispatch on the active type.