module metadata @[heap] pub struct ID3v1 { pub mut: genre string// Жанр title string // Название аудиодорожки artist string // Актёр озучания album string // Название альбома track string // Записывается как 2/5, что значит 2 трэк из 5 year string // Год записи, может int нужно comment string // Комментарий embedded bool // Присутвует ли тэг } @[heap; minify] pub struct ID3v23 { pub mut: size u64 // Размер тэга tit2 Frame // Название аудиодорожки tpe1 Frame // Автор tpe2 Frame // Исполнитель talb Frame // Название альбома tyer Frame // Год выпуска trck Frame // Номер трека tcon Frame // Жанр tcop Frame // Композитор (автор) apic Frame // Обложка comment Frame // Комментарий others []Frame version u8 = 3 // Версия тэга embedded bool // Присутвует ли тэг } @[heap; minify] pub struct ID3v24 { pub mut: size u64 // Размер тэга tit2 Frame // Название аудиодорожки tpe1 Frame // Автор tpe2 Frame // Исполнитель talb Frame // Название альбома tdrc Frame // Год выпуска trck Frame // Номер трека tcon Frame // Жанр tcop Frame // Композитор (автор) apic Frame // Обложка comment Frame // Комментарий others []Frame version u8 = 4 // Версия тэга embedded bool // Присутвует ли тэг } @[heap] pub struct Audio { pub mut: id3v1 ID3v1 id3v23 ID3v23 id3v24 ID3v24 path string extension string = ".mp3" }