Fix decoration for static builds

This commit is contained in:
Martchus 2016-08-29 15:43:05 +02:00
parent 0541c08864
commit 0cf30edbff
69 changed files with 1402 additions and 1368 deletions

View File

@ -13,7 +13,7 @@ namespace Media {
class MediaFileInfo;
class LIB_EXPORT StreamDataBlock
class TAG_PARSER_EXPORT StreamDataBlock
{
public:
StreamDataBlock(const std::function<std::istream & ()> &stream,
@ -88,7 +88,7 @@ inline void StreamDataBlock::discardBuffer()
m_buffer.reset();
}
class LIB_EXPORT FileDataBlock : public StreamDataBlock
class TAG_PARSER_EXPORT FileDataBlock : public StreamDataBlock
{
public:
FileDataBlock(const std::string &path);
@ -103,7 +103,7 @@ inline const MediaFileInfo *FileDataBlock::fileInfo() const
return m_fileInfo.get();
}
class LIB_EXPORT AbstractAttachment : public StatusProvider
class TAG_PARSER_EXPORT AbstractAttachment : public StatusProvider
{
public:
const std::string &description() const;

View File

@ -11,7 +11,7 @@
namespace Media {
class LIB_EXPORT AbstractChapter : public StatusProvider
class TAG_PARSER_EXPORT AbstractChapter : public StatusProvider
{
public:
virtual ~AbstractChapter();

View File

@ -26,7 +26,7 @@ class AbstractTrack;
class AbstractChapter;
class AbstractAttachment;
class LIB_EXPORT AbstractContainer : public StatusProvider
class TAG_PARSER_EXPORT AbstractContainer : public StatusProvider
{
public:
virtual ~AbstractContainer();

View File

@ -37,7 +37,7 @@ enum class TrackType
FlacStream, /**< The track is a Media::FlacStream. */
};
class LIB_EXPORT AbstractTrack : public StatusProvider
class TAG_PARSER_EXPORT AbstractTrack : public StatusProvider
{
friend class MpegAudioFrameStream;
friend class WaveAudioStream;

View File

@ -1,8 +1,9 @@
#ifndef MEDIA_ADTSFRAME_H
#define MEDIA_ADTSFRAME_H
#include "../global.h"
#include <c++utilities/conversion/types.h>
#include <c++utilities/application/global.h>
namespace IoUtilities {
class BinaryReader;
@ -10,7 +11,7 @@ class BinaryReader;
namespace Media {
class LIB_EXPORT AdtsFrame
class TAG_PARSER_EXPORT AdtsFrame
{
public:
AdtsFrame();

View File

@ -7,7 +7,7 @@
namespace Media {
class LIB_EXPORT AdtsStream : public AbstractTrack
class TAG_PARSER_EXPORT AdtsStream : public AbstractTrack
{
public:
AdtsStream(std::iostream &stream, uint64 startOffset);

View File

@ -1,12 +1,13 @@
#ifndef MEDIA_ASPECTRATIO_H
#define MEDIA_ASPECTRATIO_H
#include <c++utilities/application/global.h>
#include "./global.h"
#include <c++utilities/conversion/types.h>
namespace Media {
struct LIB_EXPORT AspectRatio {
struct TAG_PARSER_EXPORT AspectRatio {
AspectRatio();
AspectRatio(byte aspectRatioType);
AspectRatio(uint16 numerator, uint16 denominator);

View File

@ -9,7 +9,7 @@ namespace Media {
class MediaFormat;
struct LIB_EXPORT AvcConfiguration
struct TAG_PARSER_EXPORT AvcConfiguration
{
AvcConfiguration();
byte profileIndication;

View File

@ -22,7 +22,7 @@ typedef uint32 ugolomb;
*/
typedef int32 sgolomb;
struct LIB_EXPORT TimingInfo {
struct TAG_PARSER_EXPORT TimingInfo {
TimingInfo();
uint32 unitsInTick;
uint32 timeScale;
@ -43,7 +43,7 @@ inline int64 TimingInfo::defaultDuration() const
return 1000000000ll * unitsInTick / timeScale;
}
struct LIB_EXPORT HrdParameters {
struct TAG_PARSER_EXPORT HrdParameters {
HrdParameters();
ugolomb cpbCount;
byte bitRateScale;
@ -66,7 +66,7 @@ inline HrdParameters::HrdParameters() :
timeOffsetLength(0)
{}
struct LIB_EXPORT SpsInfo {
struct TAG_PARSER_EXPORT SpsInfo {
SpsInfo();
ugolomb id;
byte profileIndication;
@ -115,7 +115,7 @@ inline SpsInfo::SpsInfo() :
size(0)
{}
struct LIB_EXPORT PpsInfo {
struct TAG_PARSER_EXPORT PpsInfo {
PpsInfo();
ugolomb id;
ugolomb spsId;
@ -132,7 +132,7 @@ inline PpsInfo::PpsInfo() :
size(0)
{}
struct LIB_EXPORT SliceInfo {
struct TAG_PARSER_EXPORT SliceInfo {
SliceInfo();
byte naluType;
byte naluRefIdc;
@ -167,7 +167,7 @@ inline SliceInfo::SliceInfo() :
pps(0)
{}
class LIB_EXPORT AvcFrame {
class TAG_PARSER_EXPORT AvcFrame {
AvcFrame();
private:

View File

@ -1,7 +1,8 @@
#ifndef MEDIA_BITMAPINFOHEADER_H
#define MEDIA_BITMAPINFOHEADER_H
#include <c++utilities/application/global.h>
#include "../global.h"
#include <c++utilities/conversion/types.h>
namespace IoUtilities {
@ -10,7 +11,7 @@ class BinaryReader;
namespace Media {
class LIB_EXPORT BitmapInfoHeader
class TAG_PARSER_EXPORT BitmapInfoHeader
{
public:
BitmapInfoHeader();

View File

@ -1,7 +1,7 @@
#ifndef BACKUPHELPER_H
#define BACKUPHELPER_H
#include <c++utilities/application/global.h>
#include "./global.h"
#include <string>
#include <fstream>
@ -12,10 +12,10 @@ class MediaFileInfo;
namespace BackupHelper {
LIB_EXPORT std::string &backupDirectory();
LIB_EXPORT void restoreOriginalFileFromBackupFile(const std::string &originalPath, const std::string &backupPath, std::fstream &originalStream, std::fstream &backupStream);
LIB_EXPORT void createBackupFile(const std::string &originalPath, std::string &backupPath, std::fstream &originalStream, std::fstream &backupStream);
LIB_EXPORT void handleFailureAfterFileModified(MediaFileInfo &mediaFileInfo, const std::string &backupPath, std::fstream &outputStream, std::fstream &backupStream, const std::string &context = "making file");
TAG_PARSER_EXPORT std::string &backupDirectory();
TAG_PARSER_EXPORT void restoreOriginalFileFromBackupFile(const std::string &originalPath, const std::string &backupPath, std::fstream &originalStream, std::fstream &backupStream);
TAG_PARSER_EXPORT void createBackupFile(const std::string &originalPath, std::string &backupPath, std::fstream &originalStream, std::fstream &backupStream);
TAG_PARSER_EXPORT void handleFailureAfterFileModified(MediaFileInfo &mediaFileInfo, const std::string &backupPath, std::fstream &outputStream, std::fstream &backupStream, const std::string &context = "making file");
}

View File

@ -1,7 +1,8 @@
#ifndef BASICFILEINFO_H
#define BASICFILEINFO_H
#include <c++utilities/application/global.h>
#include "./global.h"
#include <c++utilities/conversion/types.h>
#include <string>
@ -9,7 +10,7 @@
namespace Media {
class LIB_EXPORT BasicFileInfo
class TAG_PARSER_EXPORT BasicFileInfo
{
public:
// constructor, destructor

View File

@ -1,7 +1,7 @@
#ifndef CASEINSENSITIVECOMPARER
#define CASEINSENSITIVECOMPARER
#include <c++utilities/application/global.h>
#include "./global.h"
#include <string>
@ -12,7 +12,7 @@ namespace Media {
/*!
* \brief The CaseInsensitiveCharComparer struct defines a method for case-insensivive character comparsion (less).
*/
struct LIB_EXPORT CaseInsensitiveCharComparer
struct TAG_PARSER_EXPORT CaseInsensitiveCharComparer
{
static constexpr unsigned char toLower(const unsigned char c)
{
@ -28,7 +28,7 @@ struct LIB_EXPORT CaseInsensitiveCharComparer
/*!
* \brief The CaseInsensitiveStringComparer struct defines a method for case-insensivive string comparsion (less).
*/
struct LIB_EXPORT CaseInsensitiveStringComparer
struct TAG_PARSER_EXPORT CaseInsensitiveStringComparer
{
bool operator()(const std::string &lhs, const std::string &rhs) const
{

View File

@ -1,14 +1,14 @@
#ifndef MEDIA_EXCEPTIONS_H
#define MEDIA_EXCEPTIONS_H
#include <c++utilities/application/global.h>
#include "./global.h"
#include <stdexcept>
#include <string>
namespace Media {
class LIB_EXPORT Failure : public std::exception
class TAG_PARSER_EXPORT Failure : public std::exception
{
public:
Failure() USE_NOTHROW;
@ -16,7 +16,7 @@ public:
virtual const char *what() const USE_NOTHROW;
};
class LIB_EXPORT NoDataFoundException : public Failure
class TAG_PARSER_EXPORT NoDataFoundException : public Failure
{
public:
NoDataFoundException() USE_NOTHROW;
@ -24,7 +24,7 @@ public:
virtual const char *what() const USE_NOTHROW;
};
class LIB_EXPORT InvalidDataException : public Failure
class TAG_PARSER_EXPORT InvalidDataException : public Failure
{
public:
InvalidDataException() USE_NOTHROW;
@ -32,7 +32,7 @@ public:
virtual const char *what() const USE_NOTHROW;
};
class LIB_EXPORT TruncatedDataException : public InvalidDataException
class TAG_PARSER_EXPORT TruncatedDataException : public InvalidDataException
{
public:
TruncatedDataException() USE_NOTHROW;
@ -40,7 +40,7 @@ public:
virtual const char *what() const USE_NOTHROW;
};
class LIB_EXPORT OperationAbortedException : public Failure
class TAG_PARSER_EXPORT OperationAbortedException : public Failure
{
public:
OperationAbortedException() USE_NOTHROW;
@ -48,7 +48,7 @@ public:
virtual const char *what() const USE_NOTHROW;
};
class LIB_EXPORT VersionNotSupportedException : public Failure
class TAG_PARSER_EXPORT VersionNotSupportedException : public Failure
{
public:
VersionNotSupportedException() USE_NOTHROW;
@ -56,7 +56,7 @@ public:
virtual const char *what() const USE_NOTHROW;
};
class LIB_EXPORT NotImplementedException : public Failure
class TAG_PARSER_EXPORT NotImplementedException : public Failure
{
public:
NotImplementedException() USE_NOTHROW;

View File

@ -1,7 +1,8 @@
#ifndef MEDIA_FLACMETADATAHEADER_H
#define MEDIA_FLACMETADATAHEADER_H
#include <c++utilities/application/global.h>
#include "../global.h"
#include <c++utilities/conversion/types.h>
#include <iostream>
@ -34,7 +35,7 @@ constexpr bool operator !=(byte lhs, FlacMetaDataBlockType type)
return lhs != static_cast<byte>(type);
}
class LIB_EXPORT FlacMetaDataBlockHeader
class TAG_PARSER_EXPORT FlacMetaDataBlockHeader
{
public:
FlacMetaDataBlockHeader();
@ -115,7 +116,7 @@ inline void FlacMetaDataBlockHeader::setDataSize(uint32 dataSize)
m_dataSize = dataSize;
}
class LIB_EXPORT FlacMetaDataBlockStreamInfo
class TAG_PARSER_EXPORT FlacMetaDataBlockStreamInfo
{
public:
FlacMetaDataBlockStreamInfo();
@ -254,7 +255,7 @@ inline const char *FlacMetaDataBlockStreamInfo::md5Sum() const
return m_md5Sum;
}
class LIB_EXPORT FlacMetaDataBlockPicture
class TAG_PARSER_EXPORT FlacMetaDataBlockPicture
{
public:
FlacMetaDataBlockPicture(TagValue &tagValue);

View File

@ -12,7 +12,7 @@ namespace Media {
class MediaFileInfo;
class VorbisComment;
class LIB_EXPORT FlacStream : public AbstractTrack
class TAG_PARSER_EXPORT FlacStream : public AbstractTrack
{
public:
FlacStream(MediaFileInfo &mediaFileInfo, uint64 startOffset);

View File

@ -7,7 +7,7 @@ namespace Media {
class OggIterator;
class LIB_EXPORT FlacToOggMappingHeader
class TAG_PARSER_EXPORT FlacToOggMappingHeader
{
public:
FlacToOggMappingHeader();

View File

@ -22,7 +22,7 @@ namespace Media {
* \tparam ElementType Specifies the class which is used to deal with the elements the file consists of.
*/
template <class FileInfoType, class TagType, class TrackType, class ElementType>
class LIB_EXPORT GenericContainer : public AbstractContainer
class TAG_PARSER_EXPORT GenericContainer : public AbstractContainer
{
friend FileInfoType;

View File

@ -114,7 +114,7 @@ class FileElementTraits
* \tparam ImplementationType Specifies the type of the actual implementation.
*/
template <class ImplementationType>
class LIB_EXPORT GenericFileElement : public StatusProvider
class TAG_PARSER_EXPORT GenericFileElement : public StatusProvider
{
friend class FileElementTraits<ImplementationType>;

View File

@ -29,7 +29,7 @@ class TagFieldTraits
* with the "Curiously recurring template pattern".
*/
template <class ImplementationType>
class LIB_EXPORT TagField
class TAG_PARSER_EXPORT TagField
{
public:
friend class TagFieldTraits<ImplementationType>;

17
global.h Normal file
View File

@ -0,0 +1,17 @@
// Created via CMake from template global.h.in
// WARNING! Any changes to this file will be overwritten by the next CMake run!
#ifndef TAG_PARSER_GLOBAL
#define TAG_PARSER_GLOBAL
#include <c++utilities/application/global.h>
#ifdef TAG_PARSER_STATIC
# define TAG_PARSER_EXPORT
# define TAG_PARSER_IMPORT
#else
# define TAG_PARSER_EXPORT LIB_EXPORT
# define TAG_PARSER_IMPORT LIB_IMPORT
#endif
#endif // TAG_PARSER_GLOBAL

View File

@ -1,7 +1,8 @@
#ifndef ID3GENRES_H
#define ID3GENRES_H
#include <c++utilities/application/global.h>
#include "../global.h"
#include <c++utilities/conversion/types.h>
#include <string>
@ -9,7 +10,7 @@
namespace Media
{
class LIB_EXPORT Id3Genres
class TAG_PARSER_EXPORT Id3Genres
{
public:
static const char *stringFromIndex(int index);

View File

@ -6,7 +6,7 @@
namespace Media
{
class LIB_EXPORT Id3v1Tag : public Tag
class TAG_PARSER_EXPORT Id3v1Tag : public Tag
{
public:
Id3v1Tag();

View File

@ -20,7 +20,7 @@ namespace Media
class Id3v2Frame;
class LIB_EXPORT Id3v2FrameMaker
class TAG_PARSER_EXPORT Id3v2FrameMaker
{
friend class Id3v2Frame;
@ -78,7 +78,7 @@ inline uint32 Id3v2FrameMaker::requiredSize() const
* \brief Defines traits for the TagField implementation of the Id3v2Frame class.
*/
template <>
class LIB_EXPORT TagFieldTraits<Id3v2Frame>
class TAG_PARSER_EXPORT TagFieldTraits<Id3v2Frame>
{
public:
/*!
@ -97,7 +97,7 @@ public:
typedef Id3v2Frame implementationType;
};
class LIB_EXPORT Id3v2Frame : public TagField<Id3v2Frame>, public StatusProvider
class TAG_PARSER_EXPORT Id3v2Frame : public TagField<Id3v2Frame>, public StatusProvider
{
friend class TagField<Id3v2Frame>;

View File

@ -12,12 +12,12 @@ namespace Media
class Id3v2Tag;
struct LIB_EXPORT FrameComparer
struct TAG_PARSER_EXPORT FrameComparer
{
bool operator()(const uint32 &lhs, const uint32 &rhs) const;
};
class LIB_EXPORT Id3v2TagMaker
class TAG_PARSER_EXPORT Id3v2TagMaker
{
friend class Id3v2Tag;
@ -52,7 +52,7 @@ inline uint64 Id3v2TagMaker::requiredSize() const
return m_requiredSize;
}
class LIB_EXPORT Id3v2Tag : public FieldMapBasedTag<Id3v2Frame, FrameComparer>
class TAG_PARSER_EXPORT Id3v2Tag : public FieldMapBasedTag<Id3v2Frame, FrameComparer>
{
public:
Id3v2Tag();

View File

@ -1,7 +1,7 @@
#ifndef MEDIA_LOCALEAWARESTRING_H
#define MEDIA_LOCALEAWARESTRING_H
#include <c++utilities/application/global.h>
#include "./global.h"
#include <string>
#include <vector>
@ -11,7 +11,7 @@ namespace Media {
/*!
* \brief The LocaleAwareString class is a standard string with locale information (languages, countries).
*/
class LIB_EXPORT LocaleAwareString : public std::string
class TAG_PARSER_EXPORT LocaleAwareString : public std::string
{
public:
LocaleAwareString(const std::string &value = std::string());

View File

@ -1,7 +1,8 @@
#ifndef MARGIN_H
#define MARGIN_H
#include <c++utilities/application/global.h>
#include "./global.h"
#include <c++utilities/conversion/types.h>
#include <string>
@ -12,7 +13,7 @@ namespace Media {
/*!
* \brief The Margin class defines the four margins of a rectangle.
*/
class LIB_EXPORT Margin
class TAG_PARSER_EXPORT Margin
{
public:
constexpr Margin(uint32 top = 0, uint32 left = 0, uint32 bottom = 0, uint32 right = 0);

View File

@ -23,7 +23,7 @@ class MatroskaContainer;
* \brief Defines traits for the GenericFileElement implementation EbmlElement.
*/
template <>
class LIB_EXPORT FileElementTraits<EbmlElement>
class TAG_PARSER_EXPORT FileElementTraits<EbmlElement>
{
public:
/*!
@ -47,7 +47,7 @@ public:
typedef EbmlElement implementationType;
};
class LIB_EXPORT EbmlElement : public GenericFileElement<EbmlElement>
class TAG_PARSER_EXPORT EbmlElement : public GenericFileElement<EbmlElement>
{
friend class GenericFileElement<EbmlElement>;

View File

@ -8,7 +8,7 @@ namespace Media {
class EbmlElement;
class MatroskaAttachment;
class LIB_EXPORT MatroskaAttachmentMaker
class TAG_PARSER_EXPORT MatroskaAttachmentMaker
{
friend class MatroskaAttachment;
@ -42,7 +42,7 @@ inline uint64 MatroskaAttachmentMaker::requiredSize() const
return m_totalSize;
}
class LIB_EXPORT MatroskaAttachment : public AbstractAttachment
class TAG_PARSER_EXPORT MatroskaAttachment : public AbstractAttachment
{
public:
MatroskaAttachment();

View File

@ -9,7 +9,7 @@ namespace Media {
class EbmlElement;
class LIB_EXPORT MatroskaChapter : public AbstractChapter
class TAG_PARSER_EXPORT MatroskaChapter : public AbstractChapter
{
public:
MatroskaChapter(EbmlElement *chapterAtomElement);

View File

@ -22,7 +22,7 @@ class MatroskaEditionEntry;
class MediaFileInfo;
class LIB_EXPORT MatroskaContainer : public GenericContainer<MediaFileInfo, MatroskaTag, MatroskaTrack, EbmlElement>
class TAG_PARSER_EXPORT MatroskaContainer : public GenericContainer<MediaFileInfo, MatroskaTag, MatroskaTrack, EbmlElement>
{
public:
MatroskaContainer(MediaFileInfo &stream, uint64 startOffset);

View File

@ -8,7 +8,7 @@
namespace Media {
class LIB_EXPORT MatroskaOffsetStates
class TAG_PARSER_EXPORT MatroskaOffsetStates
{
public:
MatroskaOffsetStates(uint64 initialValue);
@ -40,7 +40,7 @@ inline uint64 MatroskaOffsetStates::initialValue() const
return m_initialValue;
}
class LIB_EXPORT MatroskaReferenceOffsetPair : public MatroskaOffsetStates
class TAG_PARSER_EXPORT MatroskaReferenceOffsetPair : public MatroskaOffsetStates
{
public:
MatroskaReferenceOffsetPair(uint64 referenceOffset, uint64 initialValue);
@ -59,7 +59,7 @@ inline uint64 MatroskaReferenceOffsetPair::referenceOffset() const
return m_referenceOffset;
}
class LIB_EXPORT MatroskaCuePositionUpdater : public StatusProvider
class TAG_PARSER_EXPORT MatroskaCuePositionUpdater : public StatusProvider
{
public:
MatroskaCuePositionUpdater();

View File

@ -7,7 +7,7 @@ namespace Media {
class EbmlElement;
class LIB_EXPORT MatroskaEditionEntry : public StatusProvider
class TAG_PARSER_EXPORT MatroskaEditionEntry : public StatusProvider
{
public:
MatroskaEditionEntry(EbmlElement *editionEntryElement);

View File

@ -1,7 +1,8 @@
#ifndef MATROSKAIDS_H
#define MATROSKAIDS_H
#include <c++utilities/application/global.h>
#include "../global.h"
#include <c++utilities/conversion/types.h>
namespace Media {
@ -488,7 +489,7 @@ enum KnownValues {
}
LIB_EXPORT const char *matroskaIdName(uint32 matroskaId);
TAG_PARSER_EXPORT const char *matroskaIdName(uint32 matroskaId);
}

View File

@ -9,7 +9,7 @@
namespace Media {
class LIB_EXPORT MatroskaSeekInfo : public StatusProvider
class TAG_PARSER_EXPORT MatroskaSeekInfo : public StatusProvider
{
public:
MatroskaSeekInfo();

View File

@ -11,7 +11,7 @@ namespace Media {
class EbmlElement;
class MatroskaTag;
class LIB_EXPORT MatroskaTagMaker
class TAG_PARSER_EXPORT MatroskaTagMaker
{
friend class MatroskaTag;
@ -47,7 +47,7 @@ inline uint64 MatroskaTagMaker::requiredSize() const
return m_totalSize;
}
class LIB_EXPORT MatroskaTag : public FieldMapBasedTag<MatroskaTagField>
class TAG_PARSER_EXPORT MatroskaTag : public FieldMapBasedTag<MatroskaTagField>
{
public:
MatroskaTag();

View File

@ -13,7 +13,7 @@ class MatroskaTagField;
* \brief Defines traits for the TagField implementation of the MatroskaTagField class.
*/
template <>
class LIB_EXPORT TagFieldTraits<MatroskaTagField>
class TAG_PARSER_EXPORT TagFieldTraits<MatroskaTagField>
{
public:
/*!
@ -42,7 +42,7 @@ inline bool TagFieldTraits<MatroskaTagField>::supportsNestedFields()
return true;
}
class LIB_EXPORT MatroskaTagFieldMaker
class TAG_PARSER_EXPORT MatroskaTagFieldMaker
{
friend class MatroskaTagField;
@ -80,7 +80,7 @@ inline uint64 MatroskaTagFieldMaker::requiredSize() const
class LIB_EXPORT MatroskaTagField : public TagField<MatroskaTagField>, public StatusProvider
class TAG_PARSER_EXPORT MatroskaTagField : public TagField<MatroskaTagField>, public StatusProvider
{
friend class TagField<MatroskaTagField>;

View File

@ -10,327 +10,327 @@ namespace Media {
*/
namespace MatroskaTagIds {
inline LIB_EXPORT const char *original() {
inline TAG_PARSER_EXPORT const char *original() {
return "ORIGINAL";
}
inline LIB_EXPORT const char *sample() {
inline TAG_PARSER_EXPORT const char *sample() {
return "SAMPLE";
}
inline LIB_EXPORT const char *country() {
inline TAG_PARSER_EXPORT const char *country() {
return "COUNTRY";
}
inline LIB_EXPORT const char *totalParts() {
inline TAG_PARSER_EXPORT const char *totalParts() {
return "TOTAL_PARTS";
}
inline LIB_EXPORT const char *partNumber() {
inline TAG_PARSER_EXPORT const char *partNumber() {
return "PART_NUMBER";
}
inline LIB_EXPORT const char *partOffset() {
inline TAG_PARSER_EXPORT const char *partOffset() {
return "PART_OFFSET";
}
inline LIB_EXPORT const char *title() {
inline TAG_PARSER_EXPORT const char *title() {
return "TITLE";
}
inline LIB_EXPORT const char *subtitle() {
inline TAG_PARSER_EXPORT const char *subtitle() {
return "SUBTITLE";
}
inline LIB_EXPORT const char *url() {
inline TAG_PARSER_EXPORT const char *url() {
return "URL";
}
inline LIB_EXPORT const char *sortWith() {
inline TAG_PARSER_EXPORT const char *sortWith() {
return "SORT_WITH";
}
inline LIB_EXPORT const char *instruments() {
inline TAG_PARSER_EXPORT const char *instruments() {
return "INSTRUMENTS";
}
inline LIB_EXPORT const char *email() {
inline TAG_PARSER_EXPORT const char *email() {
return "EMAIL";
}
inline LIB_EXPORT const char *address() {
inline TAG_PARSER_EXPORT const char *address() {
return "ADDRESS";
}
inline LIB_EXPORT const char *fax() {
inline TAG_PARSER_EXPORT const char *fax() {
return "FAX";
}
inline LIB_EXPORT const char *phone() {
inline TAG_PARSER_EXPORT const char *phone() {
return "PHONE";
}
inline LIB_EXPORT const char *artist() {
inline TAG_PARSER_EXPORT const char *artist() {
return "ARTIST";
}
inline LIB_EXPORT const char *album() {
inline TAG_PARSER_EXPORT const char *album() {
return "ALBUM";
}
inline LIB_EXPORT const char *leadPerformer() {
inline TAG_PARSER_EXPORT const char *leadPerformer() {
return "LEAD_PERFORMER";
}
inline LIB_EXPORT const char *accompaniment() {
inline TAG_PARSER_EXPORT const char *accompaniment() {
return "ACCOMPANIMENT";
}
inline LIB_EXPORT const char *composer() {
inline TAG_PARSER_EXPORT const char *composer() {
return "COMPOSER";
}
inline LIB_EXPORT const char *arranger() {
inline TAG_PARSER_EXPORT const char *arranger() {
return "ARRANGER";
}
inline LIB_EXPORT const char *lyrics() {
inline TAG_PARSER_EXPORT const char *lyrics() {
return "LYRICS";
}
inline LIB_EXPORT const char *lyricist() {
inline TAG_PARSER_EXPORT const char *lyricist() {
return "LYRICIST";
}
inline LIB_EXPORT const char *conductor() {
inline TAG_PARSER_EXPORT const char *conductor() {
return "CONDUCTOR";
}
inline LIB_EXPORT const char *director() {
inline TAG_PARSER_EXPORT const char *director() {
return "DIRECTOR";
}
inline LIB_EXPORT const char *assistantDirector() {
inline TAG_PARSER_EXPORT const char *assistantDirector() {
return "ASSISTANT_DIRECTOR";
}
inline LIB_EXPORT const char *directorOfPhotography() {
inline TAG_PARSER_EXPORT const char *directorOfPhotography() {
return "DIRECTOR_OF_PHOTOGRAPHY";
}
inline LIB_EXPORT const char *soundEngineer() {
inline TAG_PARSER_EXPORT const char *soundEngineer() {
return "SOUND_ENGINEER";
}
inline LIB_EXPORT const char *artDirector() {
inline TAG_PARSER_EXPORT const char *artDirector() {
return "ART_DIRECTOR";
}
inline LIB_EXPORT const char *productionDesigner() {
inline TAG_PARSER_EXPORT const char *productionDesigner() {
return "PRODUCTION_DESIGNER";
}
inline LIB_EXPORT const char *choregrapher() {
inline TAG_PARSER_EXPORT const char *choregrapher() {
return "CHOREGRAPHER";
}
inline LIB_EXPORT const char *costumeDesigner() {
inline TAG_PARSER_EXPORT const char *costumeDesigner() {
return "COSTUME_DESIGNER";
}
inline LIB_EXPORT const char *actor() {
inline TAG_PARSER_EXPORT const char *actor() {
return "ACTOR";
}
inline LIB_EXPORT const char *character() {
inline TAG_PARSER_EXPORT const char *character() {
return "CHARACTER";
}
inline LIB_EXPORT const char *writtenBy() {
inline TAG_PARSER_EXPORT const char *writtenBy() {
return "WRITTEN_BY";
}
inline LIB_EXPORT const char *screenplayBy() {
inline TAG_PARSER_EXPORT const char *screenplayBy() {
return "SCREENPLAY_BY";
}
inline LIB_EXPORT const char *editedBy() {
inline TAG_PARSER_EXPORT const char *editedBy() {
return "EDITED_BY";
}
inline LIB_EXPORT const char *producer() {
inline TAG_PARSER_EXPORT const char *producer() {
return "PRODUCER";
}
inline LIB_EXPORT const char *coproducer() {
inline TAG_PARSER_EXPORT const char *coproducer() {
return "COPRODUCER";
}
inline LIB_EXPORT const char *executiveProducer() {
inline TAG_PARSER_EXPORT const char *executiveProducer() {
return "EXECUTIVE_PRODUCER";
}
inline LIB_EXPORT const char *distributedBy() {
inline TAG_PARSER_EXPORT const char *distributedBy() {
return "DISTRIBUTED_BY";
}
inline LIB_EXPORT const char *masteredBy() {
inline TAG_PARSER_EXPORT const char *masteredBy() {
return "MASTERED_BY";
}
inline LIB_EXPORT const char *encodedBy() {
inline TAG_PARSER_EXPORT const char *encodedBy() {
return "ENCODED_BY";
}
inline LIB_EXPORT const char *mixedBy() {
inline TAG_PARSER_EXPORT const char *mixedBy() {
return "MIXED_BY";
}
inline LIB_EXPORT const char *remixedBy() {
inline TAG_PARSER_EXPORT const char *remixedBy() {
return "REMIXED_BY";
}
inline LIB_EXPORT const char *productionStudio() {
inline TAG_PARSER_EXPORT const char *productionStudio() {
return "PRODUCTION_STUDIO";
}
inline LIB_EXPORT const char *thanksTo() {
inline TAG_PARSER_EXPORT const char *thanksTo() {
return "THANKS_TO";
}
inline LIB_EXPORT const char *publisher() {
inline TAG_PARSER_EXPORT const char *publisher() {
return "PUBLISHER";
}
inline LIB_EXPORT const char *label() {
inline TAG_PARSER_EXPORT const char *label() {
return "LABEL";
}
inline LIB_EXPORT const char *genre() {
inline TAG_PARSER_EXPORT const char *genre() {
return "GENRE";
}
inline LIB_EXPORT const char *mood() {
inline TAG_PARSER_EXPORT const char *mood() {
return "MOOD";
}
inline LIB_EXPORT const char *originalMediaType() {
inline TAG_PARSER_EXPORT const char *originalMediaType() {
return "ORIGINAL_MEDIA_TYPE";
}
inline LIB_EXPORT const char *contentType() {
inline TAG_PARSER_EXPORT const char *contentType() {
return "CONTENT_TYPE";
}
inline LIB_EXPORT const char *subject() {
inline TAG_PARSER_EXPORT const char *subject() {
return "SUBJECT";
}
inline LIB_EXPORT const char *description() {
inline TAG_PARSER_EXPORT const char *description() {
return "DESCRIPTION";
}
inline LIB_EXPORT const char *keywords() {
inline TAG_PARSER_EXPORT const char *keywords() {
return "KEYWORDS";
}
inline LIB_EXPORT const char *summary() {
inline TAG_PARSER_EXPORT const char *summary() {
return "SUMMARY";
}
inline LIB_EXPORT const char *synopsis() {
inline TAG_PARSER_EXPORT const char *synopsis() {
return "SYNOPSIS";
}
inline LIB_EXPORT const char *initialKey() {
inline TAG_PARSER_EXPORT const char *initialKey() {
return "INITIAL_KEY";
}
inline LIB_EXPORT const char *period() {
inline TAG_PARSER_EXPORT const char *period() {
return "PERIOD";
}
inline LIB_EXPORT const char *lawRating() {
inline TAG_PARSER_EXPORT const char *lawRating() {
return "LAW_RATING";
}
inline LIB_EXPORT const char *icra() {
inline TAG_PARSER_EXPORT const char *icra() {
return "ICRA";
}
inline LIB_EXPORT const char *dateRelease() {
inline TAG_PARSER_EXPORT const char *dateRelease() {
return "DATE_RELEASED";
}
inline LIB_EXPORT const char *dateRecorded() {
inline TAG_PARSER_EXPORT const char *dateRecorded() {
return "DATE_RECORDED";
}
inline LIB_EXPORT const char *dateEncoded() {
inline TAG_PARSER_EXPORT const char *dateEncoded() {
return "DATE_ENCODED";
}
inline LIB_EXPORT const char *dateTagged() {
inline TAG_PARSER_EXPORT const char *dateTagged() {
return "DATE_TAGGED";
}
inline LIB_EXPORT const char *dateDigitized() {
inline TAG_PARSER_EXPORT const char *dateDigitized() {
return "DATE_DIGITIZED";
}
inline LIB_EXPORT const char *dateWritten() {
inline TAG_PARSER_EXPORT const char *dateWritten() {
return "DATE_WRITTEN";
}
inline LIB_EXPORT const char *datePurchased() {
inline TAG_PARSER_EXPORT const char *datePurchased() {
return "DATE_PURCHASED";
}
inline LIB_EXPORT const char *recordingLocation() {
inline TAG_PARSER_EXPORT const char *recordingLocation() {
return "RECORDING_LOCATION";
}
inline LIB_EXPORT const char *compositionLocation() {
inline TAG_PARSER_EXPORT const char *compositionLocation() {
return "COMPOSITION_LOCATION";
}
inline LIB_EXPORT const char *composerNationality() {
inline TAG_PARSER_EXPORT const char *composerNationality() {
return "COMPOSER_NATIONALITY";
}
inline LIB_EXPORT const char *comment() {
inline TAG_PARSER_EXPORT const char *comment() {
return "COMMENT";
}
inline LIB_EXPORT const char *playCounter() {
inline TAG_PARSER_EXPORT const char *playCounter() {
return "PLAY_COUNTER";
}
inline LIB_EXPORT const char *rating() {
inline TAG_PARSER_EXPORT const char *rating() {
return "RATING";
}
inline LIB_EXPORT const char *encoder() {
inline TAG_PARSER_EXPORT const char *encoder() {
return "ENCODER";
}
inline LIB_EXPORT const char *encoderSettings() {
inline TAG_PARSER_EXPORT const char *encoderSettings() {
return "ENCODER_SETTINGS";
}
inline LIB_EXPORT const char *bps() {
inline TAG_PARSER_EXPORT const char *bps() {
return "BPS";
}
inline LIB_EXPORT const char *fps() {
inline TAG_PARSER_EXPORT const char *fps() {
return "FPS";
}
inline LIB_EXPORT const char *bpm() {
inline TAG_PARSER_EXPORT const char *bpm() {
return "BPM";
}
inline LIB_EXPORT const char *duration() {
inline TAG_PARSER_EXPORT const char *duration() {
return "DURATION";
}
inline LIB_EXPORT const char *numberOfFrames() {
inline TAG_PARSER_EXPORT const char *numberOfFrames() {
return "NUMBER_OF_FRAMES";
}
inline LIB_EXPORT const char *numberOfBytes() {
inline TAG_PARSER_EXPORT const char *numberOfBytes() {
return "NUMBER_OF_BYTES";
}
inline LIB_EXPORT const char *measure() {
inline TAG_PARSER_EXPORT const char *measure() {
return "MEASURE";
}
inline LIB_EXPORT const char *tuning() {
inline TAG_PARSER_EXPORT const char *tuning() {
return "TUNING";
}
inline LIB_EXPORT const char *replaygainGain() {
inline TAG_PARSER_EXPORT const char *replaygainGain() {
return "REPLAYGAIN_GAIN";
}
inline LIB_EXPORT const char *replaygainPeak() {
inline TAG_PARSER_EXPORT const char *replaygainPeak() {
return "REPLAYGAIN_PEAK";
}
inline LIB_EXPORT const char *identifiers() {
inline TAG_PARSER_EXPORT const char *identifiers() {
return "Identifiers";
}
inline LIB_EXPORT const char *isrc() {
inline TAG_PARSER_EXPORT const char *isrc() {
return "ISRC";
}
inline LIB_EXPORT const char *mcdi() {
inline TAG_PARSER_EXPORT const char *mcdi() {
return "MCDI";
}
inline LIB_EXPORT const char *isbn() {
inline TAG_PARSER_EXPORT const char *isbn() {
return "ISBN";
}
inline LIB_EXPORT const char *barcode() {
inline TAG_PARSER_EXPORT const char *barcode() {
return "BARCODE";
}
inline LIB_EXPORT const char *catalogNumber() {
inline TAG_PARSER_EXPORT const char *catalogNumber() {
return "CATALOG_NUMBER";
}
inline LIB_EXPORT const char *labelCode() {
inline TAG_PARSER_EXPORT const char *labelCode() {
return "LABEL_CODE";
}
inline LIB_EXPORT const char *lccn() {
inline TAG_PARSER_EXPORT const char *lccn() {
return "LCCN";
}
inline LIB_EXPORT const char *purchaseItem() {
inline TAG_PARSER_EXPORT const char *purchaseItem() {
return "PURCHASE_ITEM";
}
inline LIB_EXPORT const char *purchaseInfo() {
inline TAG_PARSER_EXPORT const char *purchaseInfo() {
return "PURCHASE_INFO";
}
inline LIB_EXPORT const char *purchaseOwner() {
inline TAG_PARSER_EXPORT const char *purchaseOwner() {
return "PURCHASE_OWNER";
}
inline LIB_EXPORT const char *purchasePrice() {
inline TAG_PARSER_EXPORT const char *purchasePrice() {
return "PURCHASE_PRICE";
}
inline LIB_EXPORT const char *purchaseCurrency() {
inline TAG_PARSER_EXPORT const char *purchaseCurrency() {
return "PURCHASE_CURRENCY";
}
inline LIB_EXPORT const char *copyright() {
inline TAG_PARSER_EXPORT const char *copyright() {
return "COPYRIGHT";
}
inline LIB_EXPORT const char *productionCopyright() {
inline TAG_PARSER_EXPORT const char *productionCopyright() {
return "PRODUCTION_COPYRIGHT";
}
inline LIB_EXPORT const char *license() {
inline TAG_PARSER_EXPORT const char *license() {
return "LICENSE";
}
inline LIB_EXPORT const char *termsOfUse() {
inline TAG_PARSER_EXPORT const char *termsOfUse() {
return "TERMS_OF_USE";
}
@ -339,7 +339,7 @@ inline LIB_EXPORT const char *termsOfUse() {
/*!
* \brief Returns the general TagTargetLevel for the Matroska specific \a targetLevelValue.
*/
inline LIB_EXPORT TagTargetLevel matroskaTagTargetLevel(uint64 targetLevelValue)
inline TAG_PARSER_EXPORT TagTargetLevel matroskaTagTargetLevel(uint64 targetLevelValue)
{
return targetLevelValue > 70 ? TagTargetLevel::Collection : static_cast<TagTargetLevel>(targetLevelValue / 10);
}
@ -347,7 +347,7 @@ inline LIB_EXPORT TagTargetLevel matroskaTagTargetLevel(uint64 targetLevelValue)
/*!
* \brief Returns the Matroska specific target level value for the specified general \a targetLevel.
*/
inline LIB_EXPORT uint64 matroskaTagTargetLevelValue(TagTargetLevel targetLevel)
inline TAG_PARSER_EXPORT uint64 matroskaTagTargetLevelValue(TagTargetLevel targetLevel)
{
return static_cast<uint64>(targetLevel) * 10;
}

View File

@ -8,7 +8,7 @@ namespace Media {
class EbmlElement;
class MatroskaContainer;
class LIB_EXPORT MatroskaTrack : public AbstractTrack
class TAG_PARSER_EXPORT MatroskaTrack : public AbstractTrack
{
friend class MatroskaContainer;

View File

@ -56,7 +56,7 @@ enum class ParsingStatus : byte
CriticalFailure /**< tried to parse the part, but critical errors occured */
};
class LIB_EXPORT MediaFileInfo : public BasicFileInfo, public StatusProvider
class TAG_PARSER_EXPORT MediaFileInfo : public BasicFileInfo, public StatusProvider
{
public:
// constructor, destructor

View File

@ -1,7 +1,7 @@
#ifndef MEDIAFORMAT_H
#define MEDIAFORMAT_H
#include <c++utilities/application/global.h>
#include "./global.h"
#include <utility>
@ -21,7 +21,7 @@ enum class MediaType
Hint /**< hint */
};
extern const char *LIB_EXPORT mediaTypeName(MediaType mediaType);
extern const char *TAG_PARSER_EXPORT mediaTypeName(MediaType mediaType);
/*!
* \brief The GeneralMediaFormat enum specifies the general format of media data (PCM, MPEG-4, PNG, ...).
@ -253,7 +253,7 @@ enum AudioFormatExtensions : unsigned char {
};
}
class LIB_EXPORT MediaFormat
class TAG_PARSER_EXPORT MediaFormat
{
public:
MediaFormat(GeneralMediaFormat general = GeneralMediaFormat::Unknown, unsigned char sub = 0, unsigned char extension = 0);

View File

@ -22,7 +22,7 @@ class Mp4Container;
* \brief Defines traits for the GenericFileElement implementation Mp4Atom.
*/
template <>
class LIB_EXPORT FileElementTraits<Mp4Atom>
class TAG_PARSER_EXPORT FileElementTraits<Mp4Atom>
{
public:
/*!
@ -54,7 +54,7 @@ public:
}
};
class LIB_EXPORT Mp4Atom : public GenericFileElement<Mp4Atom>
class TAG_PARSER_EXPORT Mp4Atom : public GenericFileElement<Mp4Atom>
{
friend class GenericFileElement<Mp4Atom>;

View File

@ -16,7 +16,7 @@ namespace Media {
class MediaFileInfo;
class LIB_EXPORT Mp4Container : public GenericContainer<MediaFileInfo, Mp4Tag, Mp4Track, Mp4Atom>
class TAG_PARSER_EXPORT Mp4Container : public GenericContainer<MediaFileInfo, Mp4Tag, Mp4Track, Mp4Atom>
{
public:
Mp4Container(MediaFileInfo &fileInfo, uint64 startOffset);

View File

@ -241,7 +241,7 @@ const char *streamTypeName(byte streamTypeId)
*/
namespace Mpeg4AudioObjectIds {
LIB_EXPORT MediaFormat idToMediaFormat(byte mpeg4AudioObjectId, bool sbrPresent, bool psPresent)
TAG_PARSER_EXPORT MediaFormat idToMediaFormat(byte mpeg4AudioObjectId, bool sbrPresent, bool psPresent)
{
MediaFormat fmt;
switch(mpeg4AudioObjectId) {

View File

@ -1,7 +1,8 @@
#ifndef MP4TAGATOMNAMES_H
#define MP4TAGATOMNAMES_H
#include <c++utilities/application/global.h>
#include "../global.h"
#include <c++utilities/conversion/types.h>
namespace Media
@ -402,7 +403,7 @@ enum KnownValue : uint32 {
Zoom = 0x7A6F6F6D
};
LIB_EXPORT MediaFormat fourccToMediaFormat(uint32 fourccId);
TAG_PARSER_EXPORT MediaFormat fourccToMediaFormat(uint32 fourccId);
}
@ -469,7 +470,7 @@ enum KnownValue : byte {
PrivateQcelp = 0xE1 /**< QCELP */
};
LIB_EXPORT MediaFormat streamObjectTypeFormat(byte streamObjectTypeId);
TAG_PARSER_EXPORT MediaFormat streamObjectTypeFormat(byte streamObjectTypeId);
}
@ -490,7 +491,7 @@ enum KnownValue : byte {
StreamingText
};
LIB_EXPORT const char *streamTypeName(byte streamTypeId);
TAG_PARSER_EXPORT const char *streamTypeName(byte streamTypeId);
}
@ -587,7 +588,7 @@ enum KnownValue : byte {
Usac /**< unified speech and audio coding */
};
LIB_EXPORT MediaFormat idToMediaFormat(byte mpeg4AudioObjectId, bool sbrPresent = false, bool psPresent = false);
TAG_PARSER_EXPORT MediaFormat idToMediaFormat(byte mpeg4AudioObjectId, bool sbrPresent = false, bool psPresent = false);
}
@ -606,8 +607,8 @@ enum Mpeg4ChannelConfig : byte
FrontCenterFrontLeftFrontRightSideLeftSideRightBackLeftBackRightLFEChannel
};
LIB_EXPORT const char *channelConfigString(byte config);
LIB_EXPORT byte channelCount(byte config);
TAG_PARSER_EXPORT const char *channelConfigString(byte config);
TAG_PARSER_EXPORT byte channelCount(byte config);
}

View File

@ -11,7 +11,7 @@ namespace Media
class Mp4Atom;
class Mp4Tag;
class LIB_EXPORT Mp4TagMaker
class TAG_PARSER_EXPORT Mp4TagMaker
{
friend class Mp4Tag;
@ -46,7 +46,7 @@ inline uint64 Mp4TagMaker::requiredSize() const
return m_metaSize;
}
class LIB_EXPORT Mp4Tag : public FieldMapBasedTag<Mp4TagField>
class TAG_PARSER_EXPORT Mp4Tag : public FieldMapBasedTag<Mp4TagField>
{
public:
Mp4Tag();

View File

@ -53,7 +53,7 @@ class Mp4TagField;
* \brief Defines traits for the TagField implementation of the Mp4TagField class.
*/
template <>
class LIB_EXPORT TagFieldTraits<Mp4TagField>
class TAG_PARSER_EXPORT TagFieldTraits<Mp4TagField>
{
public:
/*!
@ -74,7 +74,7 @@ public:
class Mp4Atom;
class LIB_EXPORT Mp4TagFieldMaker
class TAG_PARSER_EXPORT Mp4TagFieldMaker
{
friend class Mp4TagField;
@ -110,7 +110,7 @@ inline uint64 Mp4TagFieldMaker::requiredSize() const
return m_totalSize;
}
class LIB_EXPORT Mp4TagField : public TagField<Mp4TagField>, public StatusProvider
class TAG_PARSER_EXPORT Mp4TagField : public TagField<Mp4TagField>, public StatusProvider
{
friend class TagField<Mp4TagField>;

View File

@ -13,7 +13,7 @@ class Mp4Atom;
class Mpeg4Descriptor;
class AvcConfiguration;
class LIB_EXPORT Mpeg4AudioSpecificConfig
class TAG_PARSER_EXPORT Mpeg4AudioSpecificConfig
{
public:
Mpeg4AudioSpecificConfig();
@ -39,7 +39,7 @@ public:
byte epConfig;
};
class LIB_EXPORT Mpeg4VideoSpecificConfig
class TAG_PARSER_EXPORT Mpeg4VideoSpecificConfig
{
public:
Mpeg4VideoSpecificConfig();
@ -48,7 +48,7 @@ public:
std::string userData;
};
class LIB_EXPORT Mpeg4ElementaryStreamInfo
class TAG_PARSER_EXPORT Mpeg4ElementaryStreamInfo
{
public:
Mpeg4ElementaryStreamInfo();
@ -116,7 +116,7 @@ inline bool Mpeg4ElementaryStreamInfo::upstream() const
return decCfgDescFlags & 0x02;
}
class LIB_EXPORT Mp4Track : public AbstractTrack
class TAG_PARSER_EXPORT Mp4Track : public AbstractTrack
{
public:
Mp4Track(Mp4Atom &trakAtom);

View File

@ -14,7 +14,7 @@ class Mpeg4Descriptor;
* \brief Defines traits for the GenericFileElement implementation Mpeg4Descriptor.
*/
template <>
class LIB_EXPORT FileElementTraits<Mpeg4Descriptor>
class TAG_PARSER_EXPORT FileElementTraits<Mpeg4Descriptor>
{
public:
/*!
@ -46,7 +46,7 @@ public:
}
};
class LIB_EXPORT Mpeg4Descriptor : public GenericFileElement<Mpeg4Descriptor>
class TAG_PARSER_EXPORT Mpeg4Descriptor : public GenericFileElement<Mpeg4Descriptor>
{
friend class GenericFileElement<Mpeg4Descriptor>;

View File

@ -1,8 +1,9 @@
#ifndef MP3FRAMEAUDIOSTREAM_H
#define MP3FRAMEAUDIOSTREAM_H
#include "../global.h"
#include <c++utilities/conversion/types.h>
#include <c++utilities/application/global.h>
#include <iostream>
@ -25,7 +26,7 @@ enum class MpegChannelMode
Unspecifed /**< used to indicate that the channel mode is unknown */
};
LIB_EXPORT const char *mpegChannelModeString(MpegChannelMode channelMode);
TAG_PARSER_EXPORT const char *mpegChannelModeString(MpegChannelMode channelMode);
enum class XingHeaderFlags
{
@ -36,7 +37,7 @@ enum class XingHeaderFlags
HasQualityIndicator = 0x8u /**< Xing quality indicator is present */
};
class LIB_EXPORT MpegAudioFrame
class TAG_PARSER_EXPORT MpegAudioFrame
{
public:
MpegAudioFrame();

View File

@ -10,7 +10,7 @@
namespace Media
{
class LIB_EXPORT MpegAudioFrameStream : public AbstractTrack
class TAG_PARSER_EXPORT MpegAudioFrameStream : public AbstractTrack
{
public:
MpegAudioFrameStream(std::iostream &stream, uint64 startOffset);

View File

@ -1,6 +1,8 @@
#ifndef NOTIFICATION_H
#define NOTIFICATION_H
#include "./global.h"
#include <c++utilities/chrono/datetime.h>
#include <string>
@ -38,7 +40,7 @@ class Notification;
typedef std::list<Notification> NotificationList;
class LIB_EXPORT Notification
class TAG_PARSER_EXPORT Notification
{
public:
Notification(NotificationType type, const std::string &message, const std::string &context);

View File

@ -25,7 +25,7 @@ class OggContainer;
/*!
* \brief The OggParameter struct holds the OGG parameter for a VorbisComment.
*/
struct LIB_EXPORT OggParameter
struct TAG_PARSER_EXPORT OggParameter
{
OggParameter();
void set(std::size_t pageIndex, std::size_t segmentIndex, bool lastMetaDataBlock, GeneralMediaFormat streamFormat = GeneralMediaFormat::Vorbis);
@ -65,7 +65,7 @@ inline void OggParameter::set(std::size_t pageIndex, std::size_t segmentIndex, b
this->streamFormat = streamFormat;
}
class LIB_EXPORT OggVorbisComment : public VorbisComment
class TAG_PARSER_EXPORT OggVorbisComment : public VorbisComment
{
friend class OggContainer;
@ -124,7 +124,7 @@ inline const OggParameter &OggVorbisComment::oggParams() const
return m_oggParams;
}
class LIB_EXPORT OggContainer : public GenericContainer<MediaFileInfo, OggVorbisComment, OggStream, OggPage>
class TAG_PARSER_EXPORT OggContainer : public GenericContainer<MediaFileInfo, OggVorbisComment, OggStream, OggPage>
{
friend class OggStream;

View File

@ -8,7 +8,7 @@
namespace Media {
class LIB_EXPORT OggIterator
class TAG_PARSER_EXPORT OggIterator
{
public:
OggIterator(std::istream &stream, uint64 startOffset, uint64 streamSize);

View File

@ -1,8 +1,9 @@
#ifndef OGGPAGE_H
#define OGGPAGE_H
#include "../global.h"
#include <c++utilities/conversion/types.h>
#include <c++utilities/application/global.h>
#include <vector>
#include <numeric>
@ -10,7 +11,7 @@
namespace Media {
class LIB_EXPORT OggPage
class TAG_PARSER_EXPORT OggPage
{
public:
OggPage();

View File

@ -10,7 +10,7 @@ namespace Media {
class OggContainer;
class OggIterator;
class LIB_EXPORT OggStream : public AbstractTrack
class TAG_PARSER_EXPORT OggStream : public AbstractTrack
{
friend class OggContainer;

View File

@ -1,14 +1,15 @@
#ifndef MEDIA_OPUSIDENTIFICATIONHEADER_H
#define MEDIA_OPUSIDENTIFICATIONHEADER_H
#include <c++utilities/application/global.h>
#include "../global.h"
#include <c++utilities/conversion/types.h>
namespace Media {
class OggIterator;
class LIB_EXPORT OpusIdentificationHeader
class TAG_PARSER_EXPORT OpusIdentificationHeader
{
public:
OpusIdentificationHeader();

View File

@ -1,7 +1,8 @@
#ifndef POSITIONINSET_H
#define POSITIONINSET_H
#include <c++utilities/application/global.h>
#include "./global.h"
#include <c++utilities/conversion/stringconversion.h>
#include <string>
@ -16,7 +17,7 @@ namespace Media {
* This class is used to parse and store values like "9/11" which are used
* by some tag formats to denote track positions.
*/
class LIB_EXPORT PositionInSet
class TAG_PARSER_EXPORT PositionInSet
{
public:
constexpr PositionInSet(int32 position = 0, int32 total = 0);

View File

@ -4,7 +4,6 @@
#include "./mediaformat.h"
#include <c++utilities/conversion/types.h>
#include <c++utilities/application/global.h>
namespace Media {
@ -62,13 +61,13 @@ enum class ContainerFormat
Zip /**< ZIP archive */
};
LIB_EXPORT ContainerFormat parseSignature(const char *buffer, int bufferSize);
LIB_EXPORT const char *containerFormatName(ContainerFormat containerFormat);
LIB_EXPORT const char *containerFormatAbbreviation(ContainerFormat containerFormat, MediaType mediaType = MediaType::Unknown, unsigned int version = 0);
LIB_EXPORT const char *containerFormatSubversion(ContainerFormat containerFormat);
LIB_EXPORT const char *containerMimeType(ContainerFormat containerFormat, MediaType mediaType = MediaType::Unknown);
LIB_EXPORT TagTargetLevel containerTargetLevel(ContainerFormat containerFormat, uint64 targetLevelValue);
LIB_EXPORT uint64 containerTargetLevelValue(ContainerFormat containerFormat, TagTargetLevel targetLevel);
TAG_PARSER_EXPORT ContainerFormat parseSignature(const char *buffer, int bufferSize);
TAG_PARSER_EXPORT const char *containerFormatName(ContainerFormat containerFormat);
TAG_PARSER_EXPORT const char *containerFormatAbbreviation(ContainerFormat containerFormat, MediaType mediaType = MediaType::Unknown, unsigned int version = 0);
TAG_PARSER_EXPORT const char *containerFormatSubversion(ContainerFormat containerFormat);
TAG_PARSER_EXPORT const char *containerMimeType(ContainerFormat containerFormat, MediaType mediaType = MediaType::Unknown);
TAG_PARSER_EXPORT TagTargetLevel containerTargetLevel(ContainerFormat containerFormat, uint64 targetLevelValue);
TAG_PARSER_EXPORT uint64 containerTargetLevelValue(ContainerFormat containerFormat, TagTargetLevel targetLevel);
}

5
size.h
View File

@ -1,7 +1,8 @@
#ifndef SIZE_H
#define SIZE_H
#include <c++utilities/application/global.h>
#include "./global.h"
#include <c++utilities/conversion/types.h>
#include <string>
@ -12,7 +13,7 @@ namespace Media {
/*!
* \brief The Size class defines the size of a two-dimensional object using integer point precision.
*/
class LIB_EXPORT Size
class TAG_PARSER_EXPORT Size
{
public:
constexpr Size();

View File

@ -8,7 +8,7 @@
namespace Media {
class LIB_EXPORT StatusProvider
class TAG_PARSER_EXPORT StatusProvider
{
public:
typedef std::function<void (StatusProvider &sender)> CallbackFunction;

2
tag.h
View File

@ -96,7 +96,7 @@ constexpr KnownField nextKnownField(KnownField field)
return field == lastKnownField ? KnownField::Invalid : static_cast<KnownField>(static_cast<int>(field) + 1);
}
class LIB_EXPORT Tag : public StatusProvider
class TAG_PARSER_EXPORT Tag : public StatusProvider
{
public:
virtual ~Tag();

View File

@ -1,7 +1,8 @@
#ifndef MEDIA_TAGTARGET_H
#define MEDIA_TAGTARGET_H
#include <c++utilities/application/global.h>
#include "./global.h"
#include <c++utilities/conversion/types.h>
#include <string>
@ -25,9 +26,9 @@ enum class TagTargetLevel : unsigned char
Collection
};
LIB_EXPORT const char *tagTargetLevelName(TagTargetLevel tagTargetLevel);
TAG_PARSER_EXPORT const char *tagTargetLevelName(TagTargetLevel tagTargetLevel);
class LIB_EXPORT TagTarget
class TAG_PARSER_EXPORT TagTarget
{
public:
typedef uint64 IdType;

View File

@ -61,7 +61,7 @@ enum class TagDataType : unsigned int
Undefined /**< undefined/invalid data type */
};
class LIB_EXPORT TagValue
class TAG_PARSER_EXPORT TagValue
{
public:
// constructor, destructor

View File

@ -12,7 +12,7 @@ namespace Media {
class OggIterator;
class VorbisComment;
class LIB_EXPORT VorbisComment : public FieldMapBasedTag<VorbisCommentField, CaseInsensitiveStringComparer>
class TAG_PARSER_EXPORT VorbisComment : public FieldMapBasedTag<VorbisCommentField, CaseInsensitiveStringComparer>
{
public:
VorbisComment();

View File

@ -38,7 +38,7 @@ class VorbisCommentField;
* \brief Defines traits for the TagField implementation of the VorbisCommentField class.
*/
template <>
class LIB_EXPORT TagFieldTraits<VorbisCommentField>
class TAG_PARSER_EXPORT TagFieldTraits<VorbisCommentField>
{
public:
/*!
@ -57,7 +57,7 @@ public:
class OggIterator;
class LIB_EXPORT VorbisCommentField : public TagField<VorbisCommentField>, public StatusProvider
class TAG_PARSER_EXPORT VorbisCommentField : public TagField<VorbisCommentField>, public StatusProvider
{
friend class TagField<VorbisCommentField>;

View File

@ -1,7 +1,7 @@
#ifndef MEDIA_VORBISCOMMENTIDS_H
#define MEDIA_VORBISCOMMENTIDS_H
#include <c++utilities/application/global.h>
#include "../global.h"
namespace Media {
@ -10,112 +10,112 @@ namespace Media {
*/
namespace VorbisCommentIds {
inline LIB_EXPORT const char *trackNumber() {
inline TAG_PARSER_EXPORT const char *trackNumber() {
return "TRACKNUMBER";
}
inline LIB_EXPORT const char *diskNumber() {
inline TAG_PARSER_EXPORT const char *diskNumber() {
return "DISCNUMBER";
}
inline LIB_EXPORT const char *part() {
inline TAG_PARSER_EXPORT const char *part() {
return "PART";
}
inline LIB_EXPORT const char *partNumber() {
inline TAG_PARSER_EXPORT const char *partNumber() {
return "PARTNUMBER";
}
inline LIB_EXPORT const char *title() {
inline TAG_PARSER_EXPORT const char *title() {
return "TITLE";
}
inline LIB_EXPORT const char *version() {
inline TAG_PARSER_EXPORT const char *version() {
return "VERSION";
}
inline LIB_EXPORT const char *artist() {
inline TAG_PARSER_EXPORT const char *artist() {
return "ARTIST";
}
inline LIB_EXPORT const char *album() {
inline TAG_PARSER_EXPORT const char *album() {
return "ALBUM";
}
inline LIB_EXPORT const char *label() {
inline TAG_PARSER_EXPORT const char *label() {
return "LABEL";
}
inline LIB_EXPORT const char *labelNo() {
inline TAG_PARSER_EXPORT const char *labelNo() {
return "LABELNO";
}
inline LIB_EXPORT const char *language() {
inline TAG_PARSER_EXPORT const char *language() {
return "LANGUAGE";
}
inline LIB_EXPORT const char *performer() {
inline TAG_PARSER_EXPORT const char *performer() {
return "PERFORMER";
}
inline LIB_EXPORT const char *composer() {
inline TAG_PARSER_EXPORT const char *composer() {
return "COMPOSER";
}
inline LIB_EXPORT const char *ensemble() {
inline TAG_PARSER_EXPORT const char *ensemble() {
return "ENSEMBLE";
}
inline LIB_EXPORT const char *arranger() {
inline TAG_PARSER_EXPORT const char *arranger() {
return "ARRANGER";
}
inline LIB_EXPORT const char *lyricist() {
inline TAG_PARSER_EXPORT const char *lyricist() {
return "LYRICIST";
}
inline LIB_EXPORT const char *author() {
inline TAG_PARSER_EXPORT const char *author() {
return "AUTHOR";
}
inline LIB_EXPORT const char *conductor() {
inline TAG_PARSER_EXPORT const char *conductor() {
return "CONDUCTOR";
}
inline LIB_EXPORT const char *encoder() {
inline TAG_PARSER_EXPORT const char *encoder() {
return "ENCODER";
}
inline LIB_EXPORT const char *publisher() {
inline TAG_PARSER_EXPORT const char *publisher() {
return "PUBLISHER";
}
inline LIB_EXPORT const char *genre() {
inline TAG_PARSER_EXPORT const char *genre() {
return "GENRE";
}
inline LIB_EXPORT const char *originalMediaType() {
inline TAG_PARSER_EXPORT const char *originalMediaType() {
return "ORIGINAL_MEDIA_TYPE";
}
inline LIB_EXPORT const char *contentType() {
inline TAG_PARSER_EXPORT const char *contentType() {
return "CONTENT_TYPE";
}
inline LIB_EXPORT const char *subject() {
inline TAG_PARSER_EXPORT const char *subject() {
return "SUBJECT";
}
inline LIB_EXPORT const char *description() {
inline TAG_PARSER_EXPORT const char *description() {
return "DESCRIPTION";
}
inline LIB_EXPORT const char *isrc() {
inline TAG_PARSER_EXPORT const char *isrc() {
return "ISRC";
}
inline LIB_EXPORT const char *eanupn() {
inline TAG_PARSER_EXPORT const char *eanupn() {
return "EAN/UPN";
}
inline LIB_EXPORT const char *comment() {
inline TAG_PARSER_EXPORT const char *comment() {
return "COMMENT";
}
inline LIB_EXPORT const char *encoderSettings() {
inline TAG_PARSER_EXPORT const char *encoderSettings() {
return "ENCODING";
}
inline LIB_EXPORT const char *date() {
inline TAG_PARSER_EXPORT const char *date() {
return "DATE";
}
inline LIB_EXPORT const char *location() {
inline TAG_PARSER_EXPORT const char *location() {
return "LOCATION";
}
inline LIB_EXPORT const char *license() {
inline TAG_PARSER_EXPORT const char *license() {
return "LICENSE";
}
inline LIB_EXPORT const char *copyright() {
inline TAG_PARSER_EXPORT const char *copyright() {
return "COPYRIGHT";
}
inline LIB_EXPORT const char *opus() {
inline TAG_PARSER_EXPORT const char *opus() {
return "OPUS";
}
inline LIB_EXPORT const char *sourceMedia() {
inline TAG_PARSER_EXPORT const char *sourceMedia() {
return "SOURCEMEDIA";
}
inline LIB_EXPORT const char *cover() {
inline TAG_PARSER_EXPORT const char *cover() {
return "METADATA_BLOCK_PICTURE";
}

View File

@ -1,14 +1,15 @@
#ifndef MEDIA_VORBISIDENTIFICATIONHEADER_H
#define MEDIA_VORBISIDENTIFICATIONHEADER_H
#include <c++utilities/application/global.h>
#include "../global.h"
#include <c++utilities/conversion/types.h>
namespace Media {
class OggIterator;
class LIB_EXPORT VorbisIdentificationHeader
class TAG_PARSER_EXPORT VorbisIdentificationHeader
{
public:
VorbisIdentificationHeader();

View File

@ -8,7 +8,7 @@
namespace Media
{
class LIB_EXPORT WaveFormatHeader
class TAG_PARSER_EXPORT WaveFormatHeader
{
public:
WaveFormatHeader();
@ -33,7 +33,7 @@ inline uint32 WaveFormatHeader::bitrate() const
return bitsPerSample * sampleRate * channelCount;
}
class LIB_EXPORT WaveAudioStream : public AbstractTrack
class TAG_PARSER_EXPORT WaveAudioStream : public AbstractTrack
{
public:
WaveAudioStream(std::iostream &stream, uint64 startOffset);