Hi there,
I'm happy to announce the first release of taglib-ruby!
taglib-ruby is a Ruby binding for the excellent TagLib C++ library.
TagLib can read and write the meta-data (tags) of many popular audio
formats. taglib-ruby wraps the API using SWIG, making it accessible to
Ruby.
In contrast to other TagLib bindings, it wraps the C++ API, not the
minimal C API. This means that all tags can be accessed, not only a
subset.
For the first release, the focus was on ID3v2 support, which is mostly
done. In future releases, support for other formats will be added.
Here's an example for reading an ID3v2 tag:
require 'taglib'
# Load an ID3v2 tag from a file
file = TagLib::MPEG::File.new("wake_up.mp3")
tag = file.id3v2_tag
# Read basic attributes
tag.title #=> "Wake Up"
tag.artist #=> "Arcade Fire"
tag.track #=> 7
# Access all frames
tag.frame_list.size #=> 13
# Track frame
track = tag.frame_list('TRCK').first
track.to_s #=> "7/10"
# Attached picture frame
cover = tag.frame_list('APIC').first
cover.mime_type #=> "image/jpeg"
cover.picture #=> "\xFF\xD8\xFF\xE0\x00\x10JFIF..."
Please see the website for installation instructions and more examples:
https://github.com/robinst/taglib-ruby
Feedback (via github issues, e-mail) and contributions are very welcome!
Regards,
Robin Stocker
(Author of id3lib-ruby and taglib-ruby)