Skip to content
/ TagLib Public

An Objective-C port of the C++ library of the same name.

Notifications You must be signed in to change notification settings

numist/TagLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TagLib

TagLib is a port-in-progress of the same-named C++ library TagLib written by Scott Wheeler et al.

The library is built specifically to be easy to use: tags are properties of a Tags object, and the tags are provided in native types such as NSString, NSNumber, NSDate, and NSImage (backed by NSData).

All Tags objects expose the following tags (read/write):

  • title: NSString *
  • artist: NSString *
  • album: NSString *
  • comment: NSString *
  • genre: NSString *
  • year: NSDate *
  • trackNumber: NSNumber *
  • diskNumber: NSNumber *

Properties are a relatively stable API at this point, though more format-specific accessors and interaction methods are still very much subject to change.

MP4 Tags

TagLib supports reading tags from MP4 files, including explicit support for many mp4-only tags, including some of the iTunes Store's purchase metadata.

Currently-exposed mp4-specific tags (read/write) include:

  • encoder: NSString *
  • artwork: NSImage *
  • TVShowName: NSString *
  • TVEpisodeID: NSString *
  • TVSeason: NSNumber *
  • TVEpisode: NSNumber *
  • albumArtist: NSString *
  • totalTracks: NSNumber *
  • totalDisks: NSNumber *
  • copyright: NSString *
  • compilation: NSNumber * (boolean)
  • gaplessPlayback: NSNumber * (boolean)
  • stik: NSNumber *
  • rating: NSNumber *
  • purchaseDate: NSDate *
  • purchaserID: NSString *
  • composer: NSString *
  • BPM: NSNumber *
  • grouping: NSString *
  • mediaDescription: NSString *
  • lyrics: NSString *
  • podcast: NSNumber * (boolean)

Currently-exposed mp4-specific properties (readonly) include:

  • channels: NSNumber *
  • bitsPerSample: NSNumber *
  • sampleRate: NSNumber *
  • bitRate: NSNumber *
  • length: NSNumber *

Testing

TagLib makes extensive use of OCUnit tests. As a rule, all commits into master must pass all tests. Commits into develop are only guaranteed to build.

Licensing

As the original TagLib was released under the terms of LGPLv2 and MPLv1.1, this code is released in kind. The texts of the LGPL version 2 and Mozilla Public License version 1.1 are easily found on the internet and are not duplicated here.

About

An Objective-C port of the C++ library of the same name.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published