Example #1
0
// GetProperties returns the taglib.Properties from this taglib.File
func (f *File) GetProperties() *Properties {
	ap := C.taglib_file_audioproperties((*C.TagLib_File)(f))
	if ap == nil {
		return nil
	}

	p := Properties{}
	p.Length = int(C.taglib_audioproperties_length(ap))
	p.Bitrate = int(C.taglib_audioproperties_bitrate(ap))
	p.Samplerate = int(C.taglib_audioproperties_samplerate(ap))
	p.Channels = int(C.taglib_audioproperties_channels(ap))

	defer C.taglib_tag_free_strings()
	return &p
}
Example #2
0
// GetTags returns the ID3 taglib.Tags from this taglib.File
func (f *File) GetTags() *Tags {
	ts := C.taglib_file_tag((*C.TagLib_File)(f))

	a := Tags{}

	if ts != nil {
		a.Title = C.GoString(C.taglib_tag_title(ts))
		a.Artist = C.GoString(C.taglib_tag_artist(ts))
		a.Album = C.GoString(C.taglib_tag_album(ts))
		a.Comment = C.GoString(C.taglib_tag_comment(ts))
		a.Genre = C.GoString(C.taglib_tag_genre(ts))
		a.Year = int(C.taglib_tag_year(ts))
		a.Track = int(C.taglib_tag_track(ts))
	}

	defer C.taglib_tag_free_strings()
	return &a
}
Example #3
0
func (t *TagLib_Tag) Genre() (genre string) {
	cgenre := C.taglib_tag_genre(t._Ctype_TagLib_Tag)
	defer C.taglib_tag_free_strings()
	genre = C.GoString(cgenre)
	return
}
Example #4
0
func (t *TagLib_Tag) Comment() (comment string) {
	ccomment := C.taglib_tag_comment(t._Ctype_TagLib_Tag)
	defer C.taglib_tag_free_strings()
	comment = C.GoString(ccomment)
	return
}
Example #5
0
func (t *TagLib_Tag) Album() (album string) {
	calbum := C.taglib_tag_album(t._Ctype_TagLib_Tag)
	defer C.taglib_tag_free_strings()
	album = C.GoString(calbum)
	return
}
Example #6
0
func (t *TagLib_Tag) Artist() (artist string) {
	cartist := C.taglib_tag_artist(t._Ctype_TagLib_Tag)
	defer C.taglib_tag_free_strings()
	artist = C.GoString(cartist)
	return
}
Example #7
0
func (t *TagLib_Tag) Title() (title string) {
	ctitle := C.taglib_tag_title(t._Ctype_TagLib_Tag)
	defer C.taglib_tag_free_strings()
	title = C.GoString(ctitle)
	return
}
Example #8
0
func (f *TagLib_File) Tag() (t *TagLib_Tag) {
	ctag := C.taglib_file_tag(f._Ctype_TagLib_File)
	defer C.taglib_tag_free_strings()
	t = &TagLib_Tag{ctag}
	return
}