* Fixed definitions of the TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF macros.
* Fixed upgrading of ID3v2.3 genre frame with ID3v1 code 0 (Blues).
* New method `int String::toInt(bool *ok)` which can return whether the
- conversion to a number was successfull.
+ conversion to a number was successful.
* Fixed parsing of incorrectly written lengths in ID3v2 (affects mainly
compressed frames). (BUG:231075)
==========================
* Read Vorbis Comments from the first FLAC metadata block, if there are
- multipe ones. (BUG:211089)
+ multiple ones. (BUG:211089)
* Fixed a memory leak in FileRef's OGA format detection.
* Fixed compilation with the Sun Studio compiler. (BUG:215225)
* Handle WM/TrackNumber attributes with DWORD content in WMA files.
* Added support for disabling dllimport/dllexport on Windows using the
TAGLIB_STATIC macro.
* Support for parsing the obsolete 'gnre' MP4 atom.
- * New cpp macros TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF to determin if
+ * New cpp macros TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF to determine if
TagLib was built with MP4/ASF support.
1.6 RC1:
*
* This supports an ID3v2 tag as well as reading stream from the ID3 RIFF
* chunk as well as properties from the file.
- * Description of the DSDIFF format is available
+ * Description of the DSDIFF format is available
* at http://dsd-guide.com/sites/default/files/white-papers/DSDIFF_1.5_Spec.pdf
- * DSDIFF standard does not explictly specify the ID3V2 chunk
+ * DSDIFF standard does not explicitly specify the ID3V2 chunk
* It can be found at the root level, but also sometimes inside the PROP chunk
* In addition, title and artist info are stored as part of the standard
*/
bool hasID3v2Tag() const;
/*!
- * Returns whether or not the file on disk actually has the DSDIFF
+ * Returns whether or not the file on disk actually has the DSDIFF
* Title & Artist tag.
*
* \see DIINTag()
{
public:
/*!
- * Contructs an DSF file from \a file. If \a readProperties is true the
+ * Constructs an DSF 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.
*/
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
- * Contructs an DSF file from \a file. If \a readProperties is true the
+ * Constructs an DSF 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.
*/
// in the instrument/sample names and more characters
// afterwards. The spec does not mention such a case.
// Currently I just discard anything after a nil, but
- // e.g. VLC seems to interprete a nil as a space. I
+ // e.g. VLC seems to interpret a nil as a space. I
// don't know what is the proper behaviour.
for(unsigned short i = 0; i < instrumentCount; ++ i) {
seek(192L + length + ((long)i << 2));
namespace {
// These functions are needed to try to aim for backward compatibility with
- // an API that previously (unreasonably) required null bytes to be appeneded
+ // an API that previously (unreasonably) required null bytes to be appended
// at the end of identifiers explicitly by the API user.
// BIC: remove these
break;
}
if(!found){
- // invalid involved role -> mark whole frame as unsupported in order to be consisten with writing
+ // invalid involved role -> mark whole frame as unsupported in order to be consistent with writing
map.clear();
map.unsupportedData().append(frameID());
return map;
/*!
* This class implements ID3v2 extended headers. It attempts to follow,
- * both semantically and programatically, the structure specified in
+ * both semantically and programmatically, the structure specified in
* the ID3v2 standard. The API is based on the properties of ID3v2 extended
* headers specified there. If any of the terms used in this documentation
* are unclear please check the specification in the linked section.
* This is useful for reading strings sequentially.
*/
String readStringField(const ByteVector &data, String::Type encoding,
- int *positon = 0);
+ int *position = 0);
/*!
* Checks a the list of string values to see if they can be used with the
/*!
- * Parses the contents of this frame as PropertyMap. If that fails, the returend
+ * Parses the contents of this frame as PropertyMap. If that fails, the returned
* PropertyMap will be empty, and its unsupportedData() will contain this frame's
* ID.
* BIC: Will be a virtual function in future releases.
* - otherwise, the key "LYRICS:<description>" is used;
* - if the frame ID is "TIPL" (involved peoples list), and if all the
* roles defined in the frame are known in TextIdentificationFrame::involvedPeopleMap(),
- * then "<role>=<name>" will be contained in the returned obejct for each
+ * then "<role>=<name>" will be contained in the returned object for each
* - if the frame ID is "TMCL" (musician credit list), then
* "PERFORMER:<instrument>=<name>" will be contained in the returned
* PropertyMap for each defined musician
/*!
* A special value of containing the position of the packet to be
* interpreted by the codec. It is only supported here so that it may be
- * coppied from one page to another.
+ * copied from one page to another.
*
* \see absoluteGranularPosition()
*/
// Now I'll explain the steps in this ugliness:
// First, make sure that we're working with a buffer that is longer than
- // the *differnce* in the tag sizes. We want to avoid overwriting parts
+ // the *difference* in the tag sizes. We want to avoid overwriting parts
// that aren't yet in memory, so this is necessary.
unsigned long bufferLength = bufferSize();
sumSampleCount += sampleCount;
// wouldn't know which header size to assume otherwise:
READ_ASSERT(instrumentHeaderSize >= count + 4 && readU32L(sampleHeaderSize));
- // skip unhandeled header proportion:
+ // skip unhandled header proportion:
seek(instrumentHeaderSize - count - 4, Current);
for(unsigned short j = 0; j < sampleCount; ++ j) {
unsigned int count = sample.read(*this, sampleHeaderSize);
READ_ASSERT(count == std::min(sampleHeaderSize, (unsigned long)sample.size()));
- // skip unhandeled header proportion:
+ // skip unhandled header proportion:
seek(sampleHeaderSize - count, Current);
offset += sampleLength;
{
fileRefSave<RIFF::AIFF::File>("alaw", ".aifc");
}
-
+
void testDSF()
{
fileRefSave<DSF::File>("empty10ms",".dsf");
}
-
+
void testDSDIFF()
{
fileRefSave<DSDIFF::File>("empty10ms",".dff");
void testCreate()
{
- // This is depricated. But worth it to test.
+ // This is deprecated. But worth it to test.
File *f = FileRef::create(TEST_FILE_PATH_C("empty_vorbis.oga"));
CPPUNIT_ASSERT(dynamic_cast<Ogg::Vorbis::File*>(f));
public:
PublicFrame() : ID3v2::Frame(ByteVector("XXXX\0\0\0\0\0\0", 10)) {}
String readStringField(const ByteVector &data, String::Type encoding,
- int *positon = 0)
- { return ID3v2::Frame::readStringField(data, encoding, positon); }
+ int *position = 0)
+ { return ID3v2::Frame::readStringField(data, encoding, position); }
virtual String toString() const { return String(); }
virtual void parseFields(const ByteVector &) {}
virtual ByteVector renderFields() const { return ByteVector(); }