PPL7-Icon Patrick's Programming Library Version 7.0.0 - Dokumentation
ppl7::ID3Tag Klassenreferenz

Öffentliche Typen

enum  AudioFormat { AF_UNKNOWN =0, AF_MP3, AF_AIFF }
 
enum  TextEncoding { ENC_USASCII, ENC_ISO88591, ENC_UTF16, ENC_UTF8 }
 

Öffentliche Methoden

 ID3Tag ()
 Konstruktor ohne Dateinamen. Mehr ...
 
 ID3Tag (const String &File)
 Konstruktor mit Dateinamen. Mehr ...
 
 ~ID3Tag ()
 Destruktor der Klasse. Mehr ...
 
void addFrame (ID3Frame *Frame)
 Frame hinzufügen. Mehr ...
 
void clear ()
 Speicher freigeben und Klasse in den Ausgangszustand versetzen. Mehr ...
 
void clearTags ()
 Alle Tags löschen. Mehr ...
 
void deleteFrame (ID3Frame *frame)
 
ID3FramefindFrame (const String &name) const
 Bestimmtes Frame finden. Mehr ...
 
ID3FramefindUserDefinedText (const String &description) const
 Benutzerdefinierten Text in einem TXXX-Frame finden. Mehr ...
 
size_t frameCount () const
 
void generateId3V1Tag (ByteArray &tag) const
 ID3 Version 1 Tag erstellen. Mehr ...
 
void generateId3V2Tag (ByteArray &tag) const
 
String getAlbum () const
 Name des Albums auslesen. Mehr ...
 
String getArtist () const
 Name des Interpreten auslesen. Mehr ...
 
String getBPM () const
 
String getComment () const
 Kommentar auslesen. Mehr ...
 
String getComment (const String &description) const
 Kommentar auslesen. Mehr ...
 
String getEnergyLevel () const
 
String getGenre () const
 Genre auslesen. Mehr ...
 
String getKey () const
 
String getLabel () const
 Name des Plattenlabels auslesen. Mehr ...
 
ByteArray getPicture (int type) const
 
bool getPicture (int type, ByteArray &bin) const
 
bool getPrivateData (ByteArray &bin, const String &identifier) const
 
ByteArrayPtr getPrivateData (const String &identifier) const
 
String getRemixer () const
 Name des Remixers oder des Mixes auslesen. Mehr ...
 
String getTitle () const
 Name des Titels auslesen. Mehr ...
 
String getTrack () const
 Track-Nummer auslesen. Mehr ...
 
String getYear () const
 Erscheinungsjahr auslesen. Mehr ...
 
bool hasPicture (int type) const
 Prüft, ob ein Bild eines bestimmten Typs in den Tags enthalten ist. Mehr ...
 
void listFrames (bool hexdump=false) const
 Frames auf STDOUT auflisten. Mehr ...
 
void load (const String &filename)
 ID3-Tags aus einer Audio-Datei laden. Mehr ...
 
void load (FileObject &file)
 ID3-Tags aus einem CFileObject laden. Mehr ...
 
void removeFrame (ID3Frame *frame)
 
void removePicture (int type)
 
void save ()
 Tag speichern. Mehr ...
 
void setAlbum (const String &album)
 Name des Albums setzen. Mehr ...
 
void setArtist (const String &artist)
 Name des Interpreten setzen. Mehr ...
 
void setBPM (const String &bpm)
 
void setComment (const String &comment)
 Kommentar setzen. Mehr ...
 
void setComment (const String &description, const String &comment)
 Kommentar setzen. Mehr ...
 
void setEnergyLevel (const String &energy)
 
void setGenre (const String &genre)
 Musikgenre setzen. Mehr ...
 
void setKey (const String &key)
 
void setLabel (const String &label)
 Name des Plattenlabels setzen. Mehr ...
 
void setMaxPaddingSpace (int bytes)
 
void setPaddingSize (int bytes)
 To be done. Mehr ...
 
void setPaddingSpace (int bytes)
 
void setPicture (int type, const ByteArrayPtr &bin, const String &MimeType)
 
void setRemixer (const String &remixer)
 Name des Remixers oder des Mixes. Mehr ...
 
void setTextFrame (const String &framename, const String &text, TextEncoding enc=ENC_UTF16)
 
void setTitle (const String &title)
 Titel des Songs setzen. Mehr ...
 
void setTrack (const String &track)
 Nummer des Tracks setzen. Mehr ...
 
void setYear (const String &year)
 Erscheinungsjahr des Titels setzen. Mehr ...
 

Private Methoden

void copyAiffToNewFile (FileObject &o, FileObject &n, ByteArrayPtr &tagV2)
 
ppluint64 findId3Tag (FileObject &File)
 
AudioFormat identAudioFormat (FileObject &File)
 
void saveAiff ()
 
void saveMP3 ()
 
void setTextFrameISO88591 (const String &framename, const String &text)
 
void setTextFrameUtf16 (const String &framename, const String &text)
 
void setTextFrameUtf8 (const String &framename, const String &text)
 
bool trySaveAiffInExistingFile (FileObject &o, ByteArrayPtr &tagV2)
 

Private Attribute

String Filename
 
ID3FramefirstFrame
 
int Flags
 
ID3FramelastFrame
 
ppluint32 MaxPaddingSpace
 
AudioFormat myAudioFormat
 
size_t numFrames
 
ppluint32 PaddingSize
 
ppluint32 PaddingSpace
 
int Size
 

Dokumentation der Aufzählungstypen

Aufzählungswerte
AF_UNKNOWN 
AF_MP3 
AF_AIFF 
Aufzählungswerte
ENC_USASCII 
ENC_ISO88591 
ENC_UTF16 
ENC_UTF8 

Beschreibung der Konstruktoren und Destruktoren

ppl7::ID3Tag::ID3Tag ( )
Beschreibung:
Durch Verwendung dieses Konstruktors wird die Klasse initialisiert, ohne dass eine Datei geladen wird. Dies kann mit CID3Tag::Load später nachgeholt werden.
ppl7::ID3Tag::ID3Tag ( const String File)
Beschreibung:
Durch Verwendung dieses Konstruktors wird die Klasse initialisiert und die angegebene Date filename geladen. Dazu wird die Funktion CID3Tag::Load aufgerufen.
Parameter
FileName der Audio-Datei, deren Tags geladen werden soll.
ppl7::ID3Tag::~ID3Tag ( )
Beschreibung:
Der Destruktor ruft die Funktion CID3Tag::Clear auf, wodurch sämtlicher durch die Klasse reservierter Speicher wieder freigegeben wird.

Dokumentation der Elementfunktionen

void ppl7::ID3Tag::addFrame ( ID3Frame Frame)
Beschreibung:
Mit dieser internen Funktion wird ein neues Frame zu den ID3v2-Tags hinzugefügt.
Parameter
FramePointer auf ein neues CID3Frame
void ppl7::ID3Tag::clear ( )
Beschreibung:
Durch Aufruf dieser Funktion wird der komplette durch diese Klasse reservierte Speicher freigegeben und die Klasse in den Ausgangszustand zurückversetzt. Die Funktion wird automatisch vor dem Laden einer Datei mit CID3Tag::Load aufgerufen.
void ppl7::ID3Tag::clearTags ( )
Beschreibung:
Durch Aufruf dieser Funktion werden alle Frames des geladenen Titels im Speicher gelöscht. Die Datei bleibt unverändert, erst durch Aufruf der Funktion CID3Tag::Save werden auch die ID3-Tags in der Datei aktualisiert und somit gelöscht.
void ppl7::ID3Tag::copyAiffToNewFile ( FileObject o,
FileObject n,
ByteArrayPtr tagV2 
)
private
void ppl7::ID3Tag::deleteFrame ( ID3Frame frame)
ID3Frame * ppl7::ID3Tag::findFrame ( const String name) const
Beschreibung:
Mit dieser Funktion wird nach einem Frame mit der ID name gesucht und ein Pointer darauf zurückgegeben.
Parameter
nameString mit der 4-stelligen ID des gesuchten Frames.
Rückgabe
Wurde das gewünschte Frame gefunden, gibt die Funktion einen Pointer auf die CID3Frame-Klasse zurück, im Fehlerfall NULL.
ppluint64 ppl7::ID3Tag::findId3Tag ( FileObject File)
private
ID3Frame * ppl7::ID3Tag::findUserDefinedText ( const String description) const
Beschreibung:
Mit dieser Funktion wird nach einem benutzerdefinierten Text in einem TXXX-Frame mit dem Namen description gesucht und ein Pointer darauf zurückgegeben.
Parameter
nameString mit der Description des gesuchten Frames.
Rückgabe
Wurde das gewünschte Frame gefunden, gibt die Funktion einen Pointer auf die CID3Frame-Klasse zurück, im Fehlerfall NULL.
size_t ppl7::ID3Tag::frameCount ( ) const
void ppl7::ID3Tag::generateId3V1Tag ( ByteArray tag) const
Beschreibung:
Diese Funktion erstellt einen 128 Byte langen ID3v1-Tag im Speicher und gibt einen Pointer darauf zurück.
Parameter
tagSpeicher-Objekt, in dem der Tag gespeichert werden soll
void ppl7::ID3Tag::generateId3V2Tag ( ByteArray tag) const
String ppl7::ID3Tag::getAlbum ( ) const
Beschreibung:
Mit dieser Funktion wird der Names des Albums aus dem Frame "TALB" ausgelesen.
Rückgabe
Bei Erfolg wird ein String mit dem Namen des Albums zurückgegeben, im Fehlerfall ein leerer String.
String ppl7::ID3Tag::getArtist ( ) const
Beschreibung:
Mit dieser Funktion wird der Name des Interpreten aus dem Frame "TPE1" ausgelesen.
Rückgabe
Bei Erfolg wird ein String mit dem Namen des Interpreten zurückgegeben, im Fehlerfall ein leerer String.
String ppl7::ID3Tag::getBPM ( ) const
String ppl7::ID3Tag::getComment ( ) const
Beschreibung:
Mit dieser Funktion wird der Kommentar des Titels aus dem Frame "COMM" ausgelesen.
Rückgabe
Bei Erfolg wird ein String mit dem Kommentar zurückgegeben, im Fehlerfall ein leerer String.
String ppl7::ID3Tag::getComment ( const String description) const
Beschreibung:
Mit dieser Funktion wird der Kommentar des Titels aus dem Frame "COMM" ausgelesen.
Rückgabe
Bei Erfolg wird ein String mit dem Kommentar zurückgegeben, im Fehlerfall ein leerer String.
String ppl7::ID3Tag::getEnergyLevel ( ) const
String ppl7::ID3Tag::getGenre ( ) const
Beschreibung:
Mit dieser Funktion wird der Name des Musikgenres aus dem Frame "TCON" ausgelesen.
Seit
Ab Version 6.4.18 liefert die Funktion nicht mehr den ungeparsten Inhalt des TCON-Tags zurück (z.B. "(1)Classic Rock", sondern nurnoch den String, der das Genre spezifiziert (z.B. "Classic Rock").
Rückgabe
Bei Erfolg wird ein String mit dem Namen des Genres zurückgegeben, im Fehlerfall ein leerer String.
String ppl7::ID3Tag::getKey ( ) const
String ppl7::ID3Tag::getLabel ( ) const
Beschreibung:
Mit dieser Funktion wird der Name des Plattenlabels aus dem Frame "TPUB" ausgelesen.
Rückgabe
Bei Erfolg wird ein String mit dem Namen des Plattenlabels zurückgegeben, im Fehlerfall ein leerer String.
ByteArray ppl7::ID3Tag::getPicture ( int  type) const
bool ppl7::ID3Tag::getPicture ( int  type,
ByteArray bin 
) const
bool ppl7::ID3Tag::getPrivateData ( ByteArray bin,
const String identifier 
) const
ByteArrayPtr ppl7::ID3Tag::getPrivateData ( const String identifier) const
String ppl7::ID3Tag::getRemixer ( ) const
Beschreibung:
Mit dieser Funktion wird der Names des Remixers oder des Mixes aus dem Frame "TPE4" ausgelesen.
Rückgabe
Bei Erfolg wird ein String mit dem Namen des Remixers oder Mixes zurückgegeben, im Fehlerfall ein leerer String.
String ppl7::ID3Tag::getTitle ( ) const
Beschreibung:
Mit dieser Funktion wird der Name des Titels aus dem Frame "TIT2" ausgelesen.
Rückgabe
Bei Erfolg wird ein String mit dem Titel des Songs zurückgegeben, im Fehlerfall ein leerer String.
String ppl7::ID3Tag::getTrack ( ) const
Beschreibung:
Mit dieser Funktion wird die Tracknummer aus dem Frame "TRCK" ausgelesen. Der String enthält eine Ziffer, die die Position des Tracks innerhalb des Datenträgers oder Sets angibt. Optional kann durch Slash getrennt noch die Gesamtzahl der Tracks folgen, also z.B. "4/9".
Rückgabe
Bei Erfolg wird ein String mit der Tracknummer zurückgegeben, im Fehlerfall ein leerer String.
String ppl7::ID3Tag::getYear ( ) const
Beschreibung:
Mit dieser Funktion wird das Erscheinungsjahr des Titels aus dem Frame "TYER" ausgelesen.
Rückgabe
Bei Erfolg wird ein String mit dem Erscheinungsjahr des Titels zurückgegeben, im Fehlerfall ein leerer String.
bool ppl7::ID3Tag::hasPicture ( int  type) const
Beschreibung:
Mit dieser Funktion kann geprüft werden, ob ein Bild vom Typ type in den Tags vorhanden ist.
Parameter
typeInteger mit dem gewünschten Bild-Typ
Rückgabe
true oder false
ID3Tag::AudioFormat ppl7::ID3Tag::identAudioFormat ( FileObject File)
private
void ppl7::ID3Tag::listFrames ( bool  hexdump = false) const
Beschreibung:
Mit dieser Funktion werden alle Frames auf STDOUT ausgegeben. Sie ist zu Debug-Zwecken gedacht.
void ppl7::ID3Tag::load ( const String filename)
Beschreibung:
Mit dieser Funktion werden die ID3-Tags aus der Audio-Datei file geladen.
Parameter
filenameDateiname
void ppl7::ID3Tag::load ( FileObject file)
Beschreibung:
Mit dieser Funktion werden die ID3-Tags einer bereits geöffneten Audio-Datei, die durch das FileObject file repräsentiert wird, in den Hauptspeicher geladen.
Parameter
[in]fileGeöffnete Datei
void ppl7::ID3Tag::removeFrame ( ID3Frame frame)
void ppl7::ID3Tag::removePicture ( int  type)
void ppl7::ID3Tag::save ( )
Beschreibung:
Bei Aufruf dieser Funktion wird der ID3-Tag in der zuvor mit CID3Tag::Load geladenen Datei gespeichert. Es wird sowohl ein ID3v2- als auch ain ID3v1-Tag geschrieben.
void ppl7::ID3Tag::saveAiff ( )
private
void ppl7::ID3Tag::saveMP3 ( )
private
void ppl7::ID3Tag::setAlbum ( const String album)
Beschreibung:
Mit dieser Funktion wird der Name des Albums festgelegt, aus dem der Titel stammt. Der Wert wird im Frame "TALB" gespeichert.
Parameter
[in]albumString mit dem Namen des Albums
void ppl7::ID3Tag::setArtist ( const String artist)
Beschreibung:
Mit dieser Funktion wird der Name des Interpreten (Artist) festgelegt. Der Wert wird im Frame "TPE1" gespeichert.
Parameter
[in]artistString mit dem Namen des Interpreten
void ppl7::ID3Tag::setBPM ( const String bpm)
void ppl7::ID3Tag::setComment ( const String comment)
Beschreibung:
Mit dieser Funktion wird ein Kommentar zum Titel festgelegt. Der Wert wird im Frame "COMM" gespeichert.
Parameter
[in]commentString mit dem Kommentar
void ppl7::ID3Tag::setComment ( const String description,
const String comment 
)
Beschreibung:
Mit dieser Funktion wird ein Kommentar zum Titel festgelegt. Der Wert wird im Frame "COMM" gespeichert.
Parameter
[in]commentString mit dem Kommentar
[in]shortcommentString mit dem Kommentar
void ppl7::ID3Tag::setEnergyLevel ( const String energy)
void ppl7::ID3Tag::setGenre ( const String genre)
Beschreibung:
Mit dieser Funktion wird das Musikgenre des Titels festgelegt. Falls das Genre eine offizielle ID hat, wird diese im Frame in Klammern vorangestellt (z.B. (13)Pop). Der Wert wird im Frame "TCON" gespeichert.
Parameter
[in]genreString mit dem Namen des Musikgenres
void ppl7::ID3Tag::setKey ( const String key)
void ppl7::ID3Tag::setLabel ( const String label)
Beschreibung:
Mit dieser Funktion wird der Name des Plattenlabels festgelegt, auf dem der Titel erschienen ist. Der Wert wird im Frame "TPUB" gespeichert.
Parameter
[in]labelString mit dem Namen des Plattenlabels
void ppl7::ID3Tag::setMaxPaddingSpace ( int  bytes)
void ppl7::ID3Tag::setPaddingSize ( int  bytes)
Beschreibung:
Default=1024
Parameter
bytesAnzahl Bytes
void ppl7::ID3Tag::setPaddingSpace ( int  bytes)
void ppl7::ID3Tag::setPicture ( int  type,
const ByteArrayPtr bin,
const String MimeType 
)
void ppl7::ID3Tag::setRemixer ( const String remixer)
Beschreibung:
Mit dieser Funktion wird der Name des Remixers oder des Mixes festgelegt. Der Wert wird im Frame "TPE4" gespeichert, sowie in einem benutzerdefinierten "TXXX"-Frame mit dem Namen "TraktorRemixer". Letzterer wird von Traktor von Native Instruments verwendet.
Parameter
[in]remixerString mit dem Namen des Remixers oder des Mixes.
void ppl7::ID3Tag::setTextFrame ( const String framename,
const String text,
TextEncoding  enc = ENC_UTF16 
)
void ppl7::ID3Tag::setTextFrameISO88591 ( const String framename,
const String text 
)
private
void ppl7::ID3Tag::setTextFrameUtf16 ( const String framename,
const String text 
)
private
void ppl7::ID3Tag::setTextFrameUtf8 ( const String framename,
const String text 
)
private
void ppl7::ID3Tag::setTitle ( const String title)
Beschreibung:
Mit dieser Funktion wird der Titel des Songs festgelegt. Der Wert wird im Frame "TIT2" gespeichert.
Parameter
[in]titleString mit dem Titel des Songs
void ppl7::ID3Tag::setTrack ( const String track)
Beschreibung:
Mit dieser Funktion wird die Tracknummer des Titels innerhalb des Datenträgers oder Sets gesetzt. Der String muss eine Ziffer enthalten, die die Position des Tracks innerhalb des Datenträgers oder Sets angibt. Optional kann durch Slash getrennt noch die Gesamtzahl der Tracks folgen, also z.B. "4/9".

Der Wert wird im Frame "TRCK" gespeichert.

Parameter
[in]trackString mit der Nummer des Tracks.
void ppl7::ID3Tag::setYear ( const String year)
Beschreibung:
Mit dieser Funktion wird das Erscheinungsjahr des Titel festgelegt. Der Wert wird im Frame "TYER" gespeichert.
Parameter
[in]yearString mit dem Erscheinungsjahr des Titels
bool ppl7::ID3Tag::trySaveAiffInExistingFile ( FileObject o,
ByteArrayPtr tagV2 
)
private

Dokumentation der Datenelemente

String ppl7::ID3Tag::Filename
private
ID3Frame* ppl7::ID3Tag::firstFrame
private
int ppl7::ID3Tag::Flags
private
ID3Frame * ppl7::ID3Tag::lastFrame
private
ppluint32 ppl7::ID3Tag::MaxPaddingSpace
private
AudioFormat ppl7::ID3Tag::myAudioFormat
private
size_t ppl7::ID3Tag::numFrames
private
ppluint32 ppl7::ID3Tag::PaddingSize
private
ppluint32 ppl7::ID3Tag::PaddingSpace
private
int ppl7::ID3Tag::Size
private

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: