arduino-audio-tools
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Enumerations | Variables
MetaDataID3.h File Reference
#include <string.h>
#include <stdint.h>
#include <ctype.h>
#include "AbstractMetaData.h"

Go to the source code of this file.

Classes

struct  ID3v1
 
struct  ID3v1Enhanced
 
struct  ID3v2
 
struct  ID3v2Frame
 
struct  ID3v2FrameString
 
class  MetaDataID3
 Simple ID3 Meta Data Parser which supports ID3 V1 and V2 and implements the Stream interface. You just need to set the callback(s) to receive the result and copy the audio data to this stream. More...
 
class  MetaDataID3Base
 ID3 Meta Data Common Functionality. More...
 
class  MetaDataID3V1
 Simple ID3 Meta Data API which supports ID3 V1. More...
 
class  MetaDataID3V2
 Simple ID3 Meta Data API which supports ID3 V2: We only support the "TALB", "TOPE", "TIT2", "TCON" tags. More...
 

Namespaces

namespace  audio_tools
 Generic Implementation of sound input and output for desktop environments using portaudio.
 

Macros

#define AUDIOTOOLS_ID3_TAG_ALLOW_NONASCII   false
 Parser for MP3 ID3 Meta Data: The goal is to implement a simple API which provides the title, artist, albmum and the Genre.
 
#define ExperimentalIndicatorFlag   0x10
 
#define ExtendedHeaderFlag   0x20
 
#define UnsynchronisationFlag   0x40
 

Enumerations

enum  ParseStatus {
  TagNotFound , PartialTagAtTail , TagFoundPartial , TagFoundComplete ,
  TagProcessed
}
 current status of the parsing More...
 

Variables

static const chargenres [] = { "Classic Rock", "Country", "Dance", "Disco", "Funk", "Grunge", "Hip-Hop", "Jazz", "Metal", "New Age", "Oldies", "Other", "Pop", "R&B", "Rap", "Reggae", "Rock", "Techno", "Industrial", "Alternative", "Ska", "Death Metal", "Pranks", "Soundtrack", "Euro-Techno", "Ambient", "Trip-Hop", "Vocal", "Jazz+Funk", "Fusion", "Trance", "Classical", "Instrumental", "Acid", "House", "Game", "Sound Clip", "Gospel", "Noise", "Alternative Rock", "Bass", "Soul", "Punk", "Space", "Meditative", "Instrumental Pop", "Instrumental Rock", "Ethnic", "Gothic", "Darkwave", "Techno-Insdustiral", "Electronic", "Pop-Folk", "Eurodance", "Dream", "Southern Rock", "Comedy", "Cult", "Gangsta", "Top 40", "Christian Rap", "Pop/Funk", "Jungle", "Native US", "Cabaret", "New Wave", "Psychadelic", "Rave", "Showtunes", "Trailer", "Lo-Fi", "Tribal", "Acid Punk", "Acid Jazz", "Polka", "Retro", "Musical", "Rock & Roll", "Hard Rock", "Folk", "Folk-Rock", "National Folk", "Swing", "Fast Fusion", "Bebob", "Latin", "Revival", "Celtic", "Bluegrass", "Avantgarde", "Gothic Rock", "Progressive Rock", "Psychedelic Rock", "Symphonic Rock", "Slow Rock", "Big Band", "Chorus", "Easy Listening", "Acoustic","Humour", "Speech", "Chanson", "Opera", "Chamber Music", "Sonata", "Symphony", "Booty Bass", "Primus", "Porn Groove", "Satire", "Slow Jam", "Club", "Tango", "Samba", "Folklore", "Ballad", "Power Ballad", "Rhytmic Soul", "Freestyle", "Duet", "Punk Rock", "Drum Solo", "Acapella", "Euro-House", "Dance Hall", "Goa", "Drum & Bass", "Club-House", "Hardcore", "Terror", "Indie", "BritPop", "Negerpunk", "Polsk Punk", "Beat", "Christian Gangsta", "Heavy Metal", "Black Metal", "Crossover", "Contemporary C", "Christian Rock", "Merengue", "Salsa", "Thrash Metal", "Anime", "JPop", "SynthPop" }
 
static const charid3_v2_tags [] = {"TALB", "TOPE", "TPE1", "TIT2", "TCON"}
 
static const int ID3FrameSize = 11
 

Macro Definition Documentation

◆ AUDIOTOOLS_ID3_TAG_ALLOW_NONASCII

#define AUDIOTOOLS_ID3_TAG_ALLOW_NONASCII   false

Parser for MP3 ID3 Meta Data: The goal is to implement a simple API which provides the title, artist, albmum and the Genre.

Author
Phil Schatzmann

◆ ExperimentalIndicatorFlag

#define ExperimentalIndicatorFlag   0x10

◆ ExtendedHeaderFlag

#define ExtendedHeaderFlag   0x20

◆ UnsynchronisationFlag

#define UnsynchronisationFlag   0x40