Tag Parser
9.2.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
|
Go to the documentation of this file.
17 AbstractContainer::AbstractContainer(iostream &stream, std::uint64_t startOffset)
21 , m_doctypeReadVersion(0)
23 , m_headerParsed(false)
25 , m_tracksParsed(false)
26 , m_tracksAltered(false)
27 , m_chaptersParsed(false)
28 , m_attachmentsParsed(false)
29 , m_startOffset(startOffset)
31 , m_reader(BinaryReader(m_stream))
32 , m_writer(BinaryWriter(m_stream))
185 CPP_UTILITIES_UNUSED(diag);
199 CPP_UTILITIES_UNUSED(diag);
213 CPP_UTILITIES_UNUSED(diag);
227 CPP_UTILITIES_UNUSED(diag);
241 CPP_UTILITIES_UNUSED(diag);
255 CPP_UTILITIES_UNUSED(diag);
269 CPP_UTILITIES_UNUSED(diag);
270 CPP_UTILITIES_UNUSED(progress);
296 CPP_UTILITIES_UNUSED(index);
325 CPP_UTILITIES_UNUSED(
tag);
354 CPP_UTILITIES_UNUSED(diag);
365 CPP_UTILITIES_UNUSED(index);
393 CPP_UTILITIES_UNUSED(
track);
421 CPP_UTILITIES_UNUSED(index);
450 CPP_UTILITIES_UNUSED(index);
The AbstractChapter class parses chapter information.
The AbstractAttachment class parses and stores attachment information.
virtual bool removeTag(Tag *tag)
Removes the specified tag from the container.
virtual ElementPosition determineTagPosition(Diagnostics &diag) const
Determines the position of the tags inside the file.
void parseTags(Diagnostics &diag)
Parses the tag information if not parsed yet.
void parseTracks(Diagnostics &diag)
Parses the tracks of the file if not parsed yet.
The AbortableProgressFeedback class provides feedback about an ongoing operation via callbacks....
std::uint64_t m_doctypeReadVersion
virtual AbstractChapter * chapter(std::size_t index)
Returns the chapter with the specified index.
virtual std::size_t tagCount() const
Returns the number of tags attached to the container.
bool areTracksParsed() const
Returns an indication whether the tracks have been parsed yet.
bool isHeaderParsed() const
Returns an indication whether the header has been parsed yet.
The Tag class is used to store, read and write tag information.
The Diagnostics class is a container for DiagMessage.
virtual std::size_t chapterCount() const
Returns the number of chapters the container holds.
Contains all classes and functions of the TagInfo library.
virtual AbstractTrack * track(std::size_t index)
Returns the track with the specified index.
std::uint64_t m_doctypeVersion
virtual void internalParseHeader(Diagnostics &diag)
Internally called to parse the header.
virtual void removeAllTags()
Removes all tags attached to the container.
virtual std::size_t trackCount() const
Returns the number of tracks the container holds.
virtual void internalParseTracks(Diagnostics &diag)
Internally called to parse the tracks.
virtual void internalParseAttachments(Diagnostics &diag)
Internally called to parse the attachments.
void makeFile(Diagnostics &diag, AbortableProgressFeedback &progress)
Rewrites the file to apply changed tag information.
virtual AbstractAttachment * createAttachment()
Creates and returns a new attachment.
void parseChapters(Diagnostics &diag)
Parses the chapters of the file if not parsed yet.
The AbstractTrack class parses and stores technical information about video, audio and other kinds of...
bool areTagsParsed() const
Returns an indication whether the tags have been parsed yet.
virtual std::size_t attachmentCount() const
Returns the number of attachments the container holds.
virtual ~AbstractContainer()
Destroys the container.
virtual Tag * tag(std::size_t index)
Returns the tag with the specified index.
bool areAttachmentsParsed() const
Returns an indication whether the attachments have been parsed yet.
virtual bool supportsTitle() const
Returns whether the title property is supported.
virtual void internalParseChapters(Diagnostics &diag)
Internally called to parse the chapters.
virtual std::size_t segmentCount() const
Returns the number of segments.
bool areChaptersParsed() const
Returns an indication whether the chapters have been parsed yet.
virtual bool supportsTrackModifications() const
Returns whether the implementation supports adding or removing of tracks.
virtual void internalParseTags(Diagnostics &diag)
Internally called to parse the tags.
The TagTarget class specifies the target of a tag.
virtual void removeAllTracks()
Removes all tracks from the container.
std::uint32_t m_timeScale
virtual void internalMakeFile(Diagnostics &diag, AbortableProgressFeedback &progress)
Internally called to make the file.
virtual bool removeTrack(AbstractTrack *track)
Removes the specified track to the container.
virtual void reset()
Discards all parsing results.
virtual Tag * createTag(const TagTarget &target=TagTarget())
Creates and returns a tag for the specified target.
std::vector< std::string > m_titles
virtual AbstractAttachment * attachment(std::size_t index)
Returns the attachment with the specified index.
void parseAttachments(Diagnostics &diag)
Parses the attachments of the file if not parsed yet.
std::uint64_t m_readVersion
virtual ElementPosition determineIndexPosition(Diagnostics &diag) const
Determines the position of the index.
This exception is thrown when the an operation is invoked that has not been implemented yet.
void parseHeader(Diagnostics &diag)
Parses the header if not parsed yet.