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

129 lines
3.0 KiB
V

module main
import os
// import io
import metadata
fn id3(){
// mut audio := os.open("./data/АЛИСА 11000.mp3") or { panic(err) }
// mut audio := os.open("./data/Глава 2. 16 и 17 июля.mp3") or { panic(err) }
// mut audio := os.open("./out.mp3") or { panic(err) }
mut audio := os.open("./data/test_id3v23.mp3") or { panic(err) }
// mut audio := os.open("./data/01_01.mp3") or { panic(err) }
// mut audio := os.open("./test.mp3") or { panic(err) }
defer {
audio.close()
}
mut wav := metadata.Audio{}
wav.detect_tags(mut audio)
println(wav.id3v1.embedded)
println(wav.id3v23.embedded)
println(wav.id3v24.embedded)
if wav.id3v1.embedded {
last_bytes := metadata.get_bytes(mut audio, -128, 128)
wav.id3v1.get_metadata(last_bytes)
// wav.id3v1.genre = "Rock"
// wav.id3v1.title = "Test title"
// wav.id3v1.artist = "Test artist"
// wav.id3v1.album = "Test albulm"
// wav.id3v1.comment = "2/5"
// wav.id3v1.track = "2/5"
println(wav.id3v1)
}
if wav.id3v23.embedded {
wav.id3v23.get_full_size(mut audio)
wav.id3v23.fill_tags(mut audio)
println(wav.id3v23.to_v1())
wav.id3v23.tit2.encode_size(3)
tit2 := wav.id3v23.tit2.get_encoded_frame_tag(3)
println(tit2)
println(wav.id3v23)
}
if wav.id3v24.embedded {
wav.id3v24.get_full_size(mut audio)
wav.id3v24.fill_tags(mut audio)
println(wav.id3v24.to_v1())
// wav.id3v24.tit2.encode_size(4)
// flex := wav.id3v24.talb.get_encoded_frame_tag(4)
// println(flex)
// println(wav.id3v24.tdrc.data)
// wav.id3v24.tdrc.set_data("2017")
// // enc_size := metadata.encode_header_size(wav.id3v24.size, wav.id3v24.version)
// // println(enc_size)
// wav.id3v24.tit2.set_data("2017")
// wav.id3v24.tpe1.init("tpe1")
// wav.id3v24.tpe1.set_data("Hello")
// wav.id3v24.tpe2.init("tpe2")
// wav.id3v24.tpe2.set_data("Hello2")
// // metadata.encode_header(mut wav.id3v24)
// // println(wav.id3v24.encoded_header)
// // println(wav.id3v24.tpe1.name)
// wav.id3v24.encode_embed_tags()
// println(wav.id3v24.encoded_header.len)
// wav.id3v24.insert_tags_into_audio(mut audio)
// // println(wav.id3v24)
// mut f := os.create("./temp.mp3") or { panic(err) }
// f.write(wav.id3v24.encoded_header) or { panic(err) }
// f.close()
// println(wav.id3v24)
// mut audio_2 := os.open("./out.mp3") or { panic(err) }
// data := io.read_all(reader: audio_2) or { [u8(0), u8(0), u8(0), u8(0)] }
// println(data)
println(wav.id3v24.size)
println(wav.id3v24.encoded_header)
}
// println(wav.id3v23)
// println(wav.id3v23.tit2)
// converted_idv31 := wav.id3v1.to_v23()
// println(converted_idv31)
// println(last_bytes)
// flex := wav.id3v1.to_bytes()
// audio.seek(-1, os.SeekMode.end) or { panic(err) }
// flex1 := audio.tell() or { panic(err) }
// mut all_bytes := audio.read_bytes(int(flex1))#[..-128]
// all_bytes << flex
// println(all_bytes.len)
// println(int(flex1))
// all_bytes := wav.id3v1.insert(mut audio, -128)
// os.write_bytes("./test.mp3", new_bytes) or { panic(err) }
}
fn main(){
id3()
}