mirror of
https://github.com/taglib/taglib.git
synced 2025-07-23 07:24:30 -04:00
Revert "Add a tool to inspect audio files, only MP4 is implemented for now"
This reverts commit 45b0279b41
.
This commit is contained in:
@ -149,16 +149,3 @@ MP4::File::save()
|
||||
return d->tag->save();
|
||||
}
|
||||
|
||||
String
|
||||
MP4::File::toString() const
|
||||
{
|
||||
StringList desc;
|
||||
if(d->properties) {
|
||||
desc.append(d->properties->toString());
|
||||
}
|
||||
if(d->tag) {
|
||||
desc.append(d->tag->toString());
|
||||
}
|
||||
return desc.toString("\n");
|
||||
}
|
||||
|
||||
|
@ -100,11 +100,6 @@ namespace TagLib {
|
||||
*/
|
||||
bool save();
|
||||
|
||||
/*!
|
||||
* Description of the file.
|
||||
*/
|
||||
String toString() const;
|
||||
|
||||
private:
|
||||
|
||||
void read(bool readProperties, Properties::ReadStyle audioPropertiesStyle);
|
||||
|
@ -26,7 +26,6 @@
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
|
||||
#include <taglib.h>
|
||||
#include <tdebug.h>
|
||||
@ -37,11 +36,10 @@ using namespace TagLib;
|
||||
class MP4::Item::ItemPrivate : public RefCounter
|
||||
{
|
||||
public:
|
||||
ItemPrivate() : RefCounter(), valid(true), atomDataType(MP4::TypeUndefined), type(MP4::Item::TypeUndefined) {}
|
||||
ItemPrivate() : RefCounter(), valid(true), atomDataType(TypeUndefined) {}
|
||||
|
||||
bool valid;
|
||||
AtomDataType atomDataType;
|
||||
ItemType type;
|
||||
union {
|
||||
bool m_bool;
|
||||
int m_int;
|
||||
@ -88,35 +86,30 @@ MP4::Item::Item(bool value)
|
||||
{
|
||||
d = new ItemPrivate;
|
||||
d->m_bool = value;
|
||||
d->type = TypeBool;
|
||||
}
|
||||
|
||||
MP4::Item::Item(int value)
|
||||
{
|
||||
d = new ItemPrivate;
|
||||
d->m_int = value;
|
||||
d->type = TypeInt;
|
||||
}
|
||||
|
||||
MP4::Item::Item(uchar value)
|
||||
{
|
||||
d = new ItemPrivate;
|
||||
d->m_byte = value;
|
||||
d->type = TypeByte;
|
||||
}
|
||||
|
||||
MP4::Item::Item(uint value)
|
||||
{
|
||||
d = new ItemPrivate;
|
||||
d->m_uint = value;
|
||||
d->type = TypeUInt;
|
||||
}
|
||||
|
||||
MP4::Item::Item(long long value)
|
||||
{
|
||||
d = new ItemPrivate;
|
||||
d->m_longlong = value;
|
||||
d->type = TypeLongLong;
|
||||
}
|
||||
|
||||
MP4::Item::Item(int value1, int value2)
|
||||
@ -124,28 +117,24 @@ MP4::Item::Item(int value1, int value2)
|
||||
d = new ItemPrivate;
|
||||
d->m_intPair.first = value1;
|
||||
d->m_intPair.second = value2;
|
||||
d->type = TypeIntPair;
|
||||
}
|
||||
|
||||
MP4::Item::Item(const ByteVectorList &value)
|
||||
{
|
||||
d = new ItemPrivate;
|
||||
d->m_byteVectorList = value;
|
||||
d->type = TypeByteVectorList;
|
||||
}
|
||||
|
||||
MP4::Item::Item(const StringList &value)
|
||||
{
|
||||
d = new ItemPrivate;
|
||||
d->m_stringList = value;
|
||||
d->type = TypeStringList;
|
||||
}
|
||||
|
||||
MP4::Item::Item(const MP4::CoverArtList &value)
|
||||
{
|
||||
d = new ItemPrivate;
|
||||
d->m_coverArtList = value;
|
||||
d->type = TypeCoverArtList;
|
||||
}
|
||||
|
||||
void MP4::Item::setAtomDataType(MP4::AtomDataType type)
|
||||
@ -218,46 +207,3 @@ MP4::Item::isValid() const
|
||||
return d->valid;
|
||||
}
|
||||
|
||||
String
|
||||
MP4::Item::toString() const
|
||||
{
|
||||
StringList desc;
|
||||
char tmp[256];
|
||||
switch (d->type) {
|
||||
case TypeBool:
|
||||
return d->m_bool ? "true" : "false";
|
||||
case TypeInt:
|
||||
sprintf(tmp, "%d", d->m_int);
|
||||
return tmp;
|
||||
case TypeIntPair:
|
||||
sprintf(tmp, "%d/%d", d->m_intPair.first, d->m_intPair.second);
|
||||
return tmp;
|
||||
case TypeByte:
|
||||
sprintf(tmp, "%d", d->m_byte);
|
||||
return tmp;
|
||||
case TypeUInt:
|
||||
sprintf(tmp, "%u", d->m_uint);
|
||||
return tmp;
|
||||
case TypeLongLong:
|
||||
sprintf(tmp, "%lld", d->m_longlong);
|
||||
return tmp;
|
||||
case TypeStringList:
|
||||
return d->m_stringList.toString(" / ");
|
||||
case TypeByteVectorList:
|
||||
for(int i = 0; i < d->m_byteVectorList.size(); i++) {
|
||||
sprintf(tmp, "[%d bytes of data]", d->m_byteVectorList[i].size());
|
||||
desc.append(tmp);
|
||||
}
|
||||
return desc.toString(", ");
|
||||
case TypeCoverArtList:
|
||||
for(int i = 0; i < d->m_coverArtList.size(); i++) {
|
||||
sprintf(tmp, "[%d bytes of data]", d->m_coverArtList[i].data().size());
|
||||
desc.append(tmp);
|
||||
}
|
||||
return desc.toString(", ");
|
||||
case TypeUndefined:
|
||||
return "[unknown]";
|
||||
}
|
||||
return String();
|
||||
}
|
||||
|
||||
|
@ -41,19 +41,6 @@ namespace TagLib {
|
||||
int first, second;
|
||||
};
|
||||
|
||||
enum ItemType {
|
||||
TypeUndefined = 0,
|
||||
TypeBool,
|
||||
TypeInt,
|
||||
TypeIntPair,
|
||||
TypeByte,
|
||||
TypeUInt,
|
||||
TypeLongLong,
|
||||
TypeStringList,
|
||||
TypeByteVectorList,
|
||||
TypeCoverArtList,
|
||||
};
|
||||
|
||||
Item();
|
||||
Item(const Item &item);
|
||||
Item &operator=(const Item &item);
|
||||
@ -82,12 +69,8 @@ namespace TagLib {
|
||||
ByteVectorList toByteVectorList() const;
|
||||
CoverArtList toCoverArtList() const;
|
||||
|
||||
ItemType type() const;
|
||||
|
||||
bool isValid() const;
|
||||
|
||||
String toString() const;
|
||||
|
||||
private:
|
||||
class ItemPrivate;
|
||||
ItemPrivate *d;
|
||||
|
@ -38,13 +38,7 @@ using namespace TagLib;
|
||||
class MP4::Properties::PropertiesPrivate
|
||||
{
|
||||
public:
|
||||
PropertiesPrivate() : length(0), bitrate(0), sampleRate(0), channels(0), bitsPerSample(0), encrypted(false), format(Unknown) {}
|
||||
|
||||
enum Format {
|
||||
Unknown = 0,
|
||||
AAC = 1,
|
||||
ALAC = 2,
|
||||
};
|
||||
PropertiesPrivate() : length(0), bitrate(0), sampleRate(0), channels(0), bitsPerSample(0), encrypted(false) {}
|
||||
|
||||
int length;
|
||||
int bitrate;
|
||||
@ -52,7 +46,6 @@ public:
|
||||
int channels;
|
||||
int bitsPerSample;
|
||||
bool encrypted;
|
||||
Format format;
|
||||
};
|
||||
|
||||
MP4::Properties::Properties(File *file, MP4::Atoms *atoms, ReadStyle style)
|
||||
@ -125,7 +118,6 @@ MP4::Properties::Properties(File *file, MP4::Atoms *atoms, ReadStyle style)
|
||||
file->seek(atom->offset);
|
||||
data = file->readBlock(atom->length);
|
||||
if(data.mid(20, 4) == "mp4a") {
|
||||
d->format = PropertiesPrivate::AAC;
|
||||
d->channels = data.mid(40, 2).toShort();
|
||||
d->bitsPerSample = data.mid(42, 2).toShort();
|
||||
d->sampleRate = data.mid(46, 4).toUInt();
|
||||
@ -146,7 +138,6 @@ MP4::Properties::Properties(File *file, MP4::Atoms *atoms, ReadStyle style)
|
||||
}
|
||||
}
|
||||
else if (data.mid(20, 4) == "alac") {
|
||||
d->format = PropertiesPrivate::ALAC;
|
||||
if (atom->length == 88 && data.mid(56, 4) == "alac") {
|
||||
d->bitsPerSample = data.at(69);
|
||||
d->channels = data.at(73);
|
||||
@ -202,23 +193,3 @@ MP4::Properties::isEncrypted() const
|
||||
return d->encrypted;
|
||||
}
|
||||
|
||||
String
|
||||
MP4::Properties::toString() const
|
||||
{
|
||||
String format;
|
||||
if(d->format == PropertiesPrivate::AAC) {
|
||||
format = "AAC";
|
||||
}
|
||||
else if(d->format == PropertiesPrivate::ALAC) {
|
||||
format = "ALAC";
|
||||
}
|
||||
else {
|
||||
format = "Unknown";
|
||||
}
|
||||
StringList desc;
|
||||
desc.append("MPEG-4 audio (" + format + ")");
|
||||
desc.append(String::number(length()) + " seconds");
|
||||
desc.append(String::number(bitrate()) + " kbps");
|
||||
return desc.toString(", ");
|
||||
}
|
||||
|
||||
|
@ -50,8 +50,6 @@ namespace TagLib {
|
||||
virtual int bitsPerSample() const;
|
||||
bool isEncrypted() const;
|
||||
|
||||
String toString() const;
|
||||
|
||||
private:
|
||||
class PropertiesPrivate;
|
||||
PropertiesPrivate *d;
|
||||
|
@ -759,13 +759,3 @@ MP4::Tag::itemListMap()
|
||||
return d->items;
|
||||
}
|
||||
|
||||
String
|
||||
MP4::Tag::toString() const
|
||||
{
|
||||
StringList desc;
|
||||
for(MP4::ItemListMap::Iterator i = d->items.begin(); i != d->items.end(); i++) {
|
||||
desc.append(i->first + "=" + i->second.toString());
|
||||
}
|
||||
return desc.toString("\n");
|
||||
}
|
||||
|
||||
|
@ -67,8 +67,6 @@ namespace TagLib {
|
||||
|
||||
ItemListMap &itemListMap();
|
||||
|
||||
String toString() const;
|
||||
|
||||
private:
|
||||
AtomDataList parseData2(Atom *atom, TagLib::File *file, int expectedFlags = -1, bool freeForm = false);
|
||||
TagLib::ByteVectorList parseData(Atom *atom, TagLib::File *file, int expectedFlags = -1, bool freeForm = false);
|
||||
|
Reference in New Issue
Block a user