28#ifndef TAGLIB_MP4ATOM_H
29#define TAGLIB_MP4ATOM_H
82#ifndef DO_NOT_DOCUMENT
100 Atom(
const Atom &) =
delete;
101 Atom &operator=(
const Atom &) =
delete;
102 Atom *find(
const char *name1,
const char *name2 =
nullptr,
const char *name3 =
nullptr,
const char *name4 =
nullptr);
103 bool path(AtomList &path,
const char *name1,
const char *name2 =
nullptr,
const char *name3 =
nullptr);
104 AtomList findall(
const char *name,
bool recursive =
false)
const;
105 void addToOffset(offset_t delta);
106 void prependChild(Atom *atom);
107 bool removeChild(Atom *meta);
110 const ByteVector &name()
const;
111 const AtomList &children()
const;
114 Atom(File *file,
int depth);
119 std::unique_ptr<AtomPrivate> d;
128 Atoms(
const Atoms &) =
delete;
129 Atoms &operator=(
const Atoms &) =
delete;
130 Atom *find(
const char *name1,
const char *name2 =
nullptr,
const char *name3 =
nullptr,
const char *name4 =
nullptr)
const;
131 AtomList path(
const char *name1,
const char *name2 =
nullptr,
const char *name3 =
nullptr,
const char *name4 =
nullptr)
const;
132 bool checkRootLevelAtoms();
133 const AtomList &atoms()
const;
138 std::unique_ptr<AtomsPrivate> d;
A byte vector.
Definition tbytevector.h:46
A generic, implicitly shared list.
Definition tlist.h:54
AtomDataType
Definition mp4atom.h:37
@ TypeGenred
A list of enumerated values.
Definition mp4atom.h:69
@ TypeUUID
Also known as GUID; stored as 16 bytes in binary (valid as an ID)
Definition mp4atom.h:51
@ TypeBMP
Windows bitmap image.
Definition mp4atom.h:77
@ TypeMI3P
Stored as UTF-8 text (valid as an ID)
Definition mp4atom.h:55
@ TypeImplicit
For use with tags for which no type needs to be indicated because only one type is allowed.
Definition mp4atom.h:39
@ TypeXML
The XML header must identify the DTD or schemas.
Definition mp4atom.h:49
@ TypeDuration
In milliseconds, 32-bit integer.
Definition mp4atom.h:65
@ TypeUndefined
Undefined.
Definition mp4atom.h:79
@ TypeISRC
Stored as UTF-8 text (valid as an ID)
Definition mp4atom.h:53
@ TypeURL
Absolute, in UTF-8 characters.
Definition mp4atom.h:63
@ TypeUPC
Universal Product Code, in text UTF-8 format (valid as an ID)
Definition mp4atom.h:75
@ TypeSJIS
Deprecated unless it is needed for special Japanese characters.
Definition mp4atom.h:45
@ TypeUTF16
Also known as UTF-16BE.
Definition mp4atom.h:43
@ TypeUTF8
Without any count or null terminator.
Definition mp4atom.h:41
@ TypeInteger
A signed big-endian integer with length one of { 1,2,3,4,8 } bytes.
Definition mp4atom.h:71
@ TypeRIAAPA
RIAA parental advisory; { -1=no, 1=yes, 0=unspecified }, 8-bit integer.
Definition mp4atom.h:73
@ TypePNG
A PNG image.
Definition mp4atom.h:61
@ TypeJPEG
A JPEG image.
Definition mp4atom.h:59
@ TypeHTML
The HTML file header specifies which HTML version.
Definition mp4atom.h:47
@ TypeGIF
(Deprecated) A GIF image
Definition mp4atom.h:57
@ TypeDateTime
In UTC, counting seconds since midnight, January 1, 1904; 32 or 64-bits.
Definition mp4atom.h:67
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
off_t offset_t
Definition taglib.h:64
#define TAGLIB_EXPORT
Definition taglib_export.h:40
#define TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
Definition taglib_export.h:55