Files
id3_editor/metadata/struct.v
T
2026-09-29 23:26:34 +03:00

90 lines
2.1 KiB
V

module metadata
@[heap; minify]
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 // Обложка
txxx Frame // Комментарий
unknown Frame // Затычка
others []Frame // Остальные фреймы
encoded_header []u8
embedded bool // Присутвует ли тэг
version u8 = 3 // Версия тэга
title string = "ID3"
}
@[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
// Комментарий
txxx Frame
// Затычка
modified_frames []Frame
// Остальные фреймы
others []Frame
// Версия тэга
version u8 = 4
// Присутвует ли тэг
embedded bool
// Закодированный хэдер
encoded_header []u8
title string = "ID3"
}
pub struct Audio {
pub mut:
id3v1 ID3v1
id3v23 ID3v23
id3v24 ID3v24
path string
extension string = ".mp3"
}