Bug 85551 - add replaygain info to the common Tag interface
Summary: add replaygain info to the common Tag interface
Status: RESOLVED LATER
Alias: None
Product: taglib
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR wishlist
Target Milestone: ---
Assignee: Scott Wheeler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-20 13:26 UTC by Samuel Krempp
Modified: 2004-07-20 13:35 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Samuel Krempp 2004-07-20 13:26:03 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources

The most useful metadata beyond basic artist/album/title/tracknumber is, many will agree, replaygain info.

Since it can be present in almost all audio files, could it be added to the common TagLib::Tag interface ?

e.g. :

      virtual double replaygainAlbum() const;
      virtual double replaygainTrack() const;

the absence of any of those values could either be known by returning invalid values (e.g. -10000, or limits<double>::max(), etc..)  
or queried explicitly :
      virtual bool hasReplaygainAlbum() const;
      virtual bool hasReplaygainTrack() const;

(or, the functions could return the replaygain strings themselves, unconverted to double, like "-07.13 dB", so that it can be used just like the other common flags).

Replaygain tags can be present in (de-facto standard) xiph comments 
like :
REPLAYGAIN_ALBUM_GAIN= -8.30 dB
REPLAYGAIN_ALBUM_PEAK= 1.360875
REPLAYGAIN_TRACK_GAIN= -6.25 dB
REPLAYGAIN_TRACK_PEAK= 1.179725

or APE tags (possibly in mpc files AND mpeg files) with the same standard.
(it can also be present in the lame tag, though almost no tool makes use of it)

Finding replaygain tags in a file can be non-trivial as it implies mutliple tag formats in the same file (e.g., you have to look for APE tags in mp3 files), I think it should be implemented within TagLib rather than relying on all the users to reinvent the wheel.
Comment 1 Samuel Krempp 2004-07-20 13:32:17 UTC
oops, already a patch is suggested, how did I miss http://bugs.kde.org/show_bug.cgi?id=85134 ..

my bad.
Comment 2 Scott Wheeler 2004-07-20 13:35:38 UTC
The generic interface can't have new methods added or removed until the next binary incompatible release (TagLib 2.0) which I don't expect for quite a while (probably a year or two).