Fix the same bug that I fixed in MPEG last week -- allow the lib user to

specify the ID3v2FrameFactory in the FLAC::File construstor.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@302629 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
Scott Wheeler 2004-04-10 15:50:17 +00:00
parent 92289b8df9
commit 2227d2004b
3 changed files with 26 additions and 3 deletions

View File

@ -88,12 +88,22 @@ public:
////////////////////////////////////////////////////////////////////////////////
FLAC::File::File(const char *file, bool readProperties,
Properties::ReadStyle propertiesStyle) : TagLib::File(file)
Properties::ReadStyle propertiesStyle) :
TagLib::File(file)
{
d = new FilePrivate;
read(readProperties, propertiesStyle);
}
FLAC::File::File(const char *file, ID3v2::FrameFactory *frameFactory,
bool readProperties, Properties::ReadStyle propertiesStyle) :
TagLib::File(file)
{
d = new FilePrivate;
d->ID3v2FrameFactory = frameFactory;
read(readProperties, propertiesStyle);
}
FLAC::File::~File()
{
delete d;

View File

@ -57,13 +57,26 @@ namespace TagLib {
{
public:
/*!
* Contructs an FLAC file from \a file. If \a readProperties is true the
* Contructs a FLAC file from \a file. If \a readProperties is true the
* file's audio properties will also be read using \a propertiesStyle. If
* false, \a propertiesStyle is ignored.
*/
File(const char *file, bool readProperties = true,
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
* Contructs a FLAC file from \a file. If \a readProperties is true the
* file's audio properties will also be read using \a propertiesStyle. If
* false, \a propertiesStyle is ignored.
*
* If this file contains and ID3v2 tag the frames will be created using
* \a frameFactory.
*/
// BIC: merge with the above constructor
File(const char *file, ID3v2::FrameFactory *frameFactory,
bool readProperties = true,
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
* Destroys this instance of the File.
*/

View File

@ -315,7 +315,7 @@ ID3v2::Tag *MPEG::File::ID3v2Tag(bool create)
// no ID3v2 tag exists and we've been asked to create one
d->ID3v2Tag = new ID3v2::Tag();
d->ID3v2Tag = new ID3v2::Tag;
return d->ID3v2Tag;
}