matroskachapters.h
Go to the documentation of this file.
/***************************************************************************
copyright : (C) 2025 by Urs Fleisch
email : ufleisch@users.sourceforge.net
***************************************************************************/
/***************************************************************************
* This library is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License version *
* 2.1 as published by the Free Software Foundation. *
* *
* This library is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
* 02110-1301 USA *
* *
* Alternatively, this file is available under the Mozilla Public *
* License Version 1.1. You may obtain a copy of the License at *
* http://www.mozilla.org/MPL/ *
***************************************************************************/
#ifndef TAGLIB_MATROSKACHAPTERS_H
#define TAGLIB_MATROSKACHAPTERS_H
#include <memory>
#include "taglib_export.h"
#include "tlist.h"
#include "matroskaelement.h"
namespace TagLib {
class File;
namespace EBML {
class MkChapters;
}
namespace Matroska {
class ChapterEdition;
class File;
class TAGLIB_EXPORT Chapters
#ifndef DO_NOT_DOCUMENT
: private Element
#endif
{
public:
using ChapterEditionList = List<ChapterEdition>;
Chapters();
virtual ~Chapters();
void addChapterEdition(const ChapterEdition &edition);
void removeChapterEdition(unsigned long long uid);
void clear();
const ChapterEditionList &chapterEditionList() const;
private:
friend class EBML::MkChapters;
friend class File;
class ChaptersPrivate;
// private Element implementation
ByteVector renderInternal() override;
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
std::unique_ptr<ChaptersPrivate> d;
};
}
}
#endif
TagLib::ByteVector
A byte vector.
Definition tbytevector.h:46
TagLib::File
A file class with some useful methods for tag manipulation.
Definition tfile.h:51
TagLib::List
A generic, implicitly shared list.
Definition tlist.h:54
TagLib::Matroska::ChapterEdition
Edition of chapters.
Definition matroskachapteredition.h:38
TagLib::Matroska::Chapters::removeChapterEdition
void removeChapterEdition(unsigned long long uid)
Remove a chapter edition.
TagLib::Matroska::Chapters::~Chapters
virtual ~Chapters()
Destroy chapters.
TagLib::Matroska::Chapters::chapterEditionList
const ChapterEditionList & chapterEditionList() const
Get list of all chapter editions.
TagLib::Matroska::Chapters::addChapterEdition
void addChapterEdition(const ChapterEdition &edition)
Add a chapter edition.
TagLib::Matroska::Chapters::File
friend class File
Definition matroskachapters.h:75
TagLib::Matroska::Chapters::ChapterEditionList
List< ChapterEdition > ChapterEditionList
List of chapter editions.
Definition matroskachapters.h:53
TagLib::Matroska::Chapters::clear
void clear()
Remove all chapter editions.
TagLib::Matroska::Chapters::Chapters
Chapters()
Construct chapters.
TagLib::Matroska::File
An implementation of TagLib::File with Matroska specific methods.
Definition matroskafile.h:41
matroskaelement.h
TagLib::EBML
Definition matroskaattachments.h:32
TagLib::Matroska
An implementation of Matroska metadata.
Definition matroskaattachedfile.h:32
TagLib
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
taglib_export.h
TAGLIB_EXPORT
#define TAGLIB_EXPORT
Definition taglib_export.h:40
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
#define TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
Definition taglib_export.h:55
tlist.h