# ID3ED (ID3 - Encoder - Decoder) ## Library for encoding/decoding ID3 tags --- # Under construction ! --- # Installation ``` go get github.com/Unbewohnte/id3ed ``` --- # Usage ## Decoding ID3v1.1 ``` package main import( "fmt" "github.com/Unbewohnte/id3ed" ) func main() { mp3file, err := os.Open("/path/to/mp3/myMP3.mp3") if err != nil { panic(err) } // extract ID3v1.1 tags mp3tags, err := GetID3v11Tags(mp3file) if err != nil { panic(err) } // print all tags fmt.Printf("%+v",mp3tags) songname := mp3tags.SongName genre := mp3tags.Genre // etc. } ``` ## Encoding ID3v1.1 ``` f, err := os.OpenFile("/path/to/file/myfile.mp3",os.O_WRONLY, os.ModePerm) if err != nil { panic(err) } defer f.Close() // create your tags struct tags := &ID3v11Tags{ SongName: "mysong", Artist: "me", Album: "my album", Year: 2021, Comment: "Cool song", Track: 1, Genre: "Christian Gangsta Rap", // list of genres see "id3v1genres.go" } // write tags to file err = tags.WriteToFile(f) if err != nil { panic(err) } ``` --- # Testing ``` go test ``` or ``` go test -v ``` to get a verbose output --- # License [MIT LICENSE](https://github.com/Unbewohnte/id3ed/blob/main/LICENSE)