mirror of
https://github.com/taglib/taglib.git
synced 2025-05-27 21:20:26 -04:00
More TAGLIB_EXPORTs from Lukas.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@727755 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
parent
5b03541038
commit
1bdb67fafa
@ -29,6 +29,8 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "taglib_export.h"
|
||||
|
||||
#ifndef BOOL
|
||||
#define BOOL int
|
||||
#endif
|
||||
@ -57,7 +59,7 @@ typedef struct { int dummy; } TagLib_AudioProperties;
|
||||
* However, it may be desirable for TagLib to operate on Latin1 (ISO-8859-1)
|
||||
* strings in which case this should be set to FALSE.
|
||||
*/
|
||||
void taglib_set_strings_unicode(BOOL unicode);
|
||||
TAGLIB_EXPORT void taglib_set_strings_unicode(BOOL unicode);
|
||||
|
||||
/*!
|
||||
* TagLib can keep track of strings that are created when outputting tag values
|
||||
@ -65,7 +67,7 @@ void taglib_set_strings_unicode(BOOL unicode);
|
||||
* However if you wish to do more fine grained management of strings, you can do
|
||||
* so by setting \a management to FALSE.
|
||||
*/
|
||||
void taglib_set_string_management_enabled(BOOL management);
|
||||
TAGLIB_EXPORT void taglib_set_string_management_enabled(BOOL management);
|
||||
|
||||
/*******************************************************************************
|
||||
* File API
|
||||
@ -86,35 +88,35 @@ typedef enum {
|
||||
* \returns NULL if the file type cannot be determined or the file cannot
|
||||
* be opened.
|
||||
*/
|
||||
TagLib_File *taglib_file_new(const char *filename);
|
||||
TAGLIB_EXPORT TagLib_File *taglib_file_new(const char *filename);
|
||||
|
||||
/*!
|
||||
* Creates a TagLib file based on \a filename. Rather than attempting to guess
|
||||
* the type, it will use the one specified by \a type.
|
||||
*/
|
||||
TagLib_File *taglib_file_new_type(const char *filename, TagLib_File_Type type);
|
||||
TAGLIB_EXPORT TagLib_File *taglib_file_new_type(const char *filename, TagLib_File_Type type);
|
||||
|
||||
/*!
|
||||
* Frees and closes the file.
|
||||
*/
|
||||
void taglib_file_free(TagLib_File *file);
|
||||
TAGLIB_EXPORT void taglib_file_free(TagLib_File *file);
|
||||
|
||||
/*!
|
||||
* Returns a pointer to the tag associated with this file. This will be freed
|
||||
* automatically when the file is freed.
|
||||
*/
|
||||
TagLib_Tag *taglib_file_tag(const TagLib_File *file);
|
||||
TAGLIB_EXPORT TagLib_Tag *taglib_file_tag(const TagLib_File *file);
|
||||
|
||||
/*!
|
||||
* Returns a pointer to the the audio properties associated with this file. This
|
||||
* will be freed automatically when the file is freed.
|
||||
*/
|
||||
const TagLib_AudioProperties *taglib_file_audioproperties(const TagLib_File *file);
|
||||
TAGLIB_EXPORT const TagLib_AudioProperties *taglib_file_audioproperties(const TagLib_File *file);
|
||||
|
||||
/*!
|
||||
* Saves the \a file to disk.
|
||||
*/
|
||||
BOOL taglib_file_save(TagLib_File *file);
|
||||
TAGLIB_EXPORT BOOL taglib_file_save(TagLib_File *file);
|
||||
|
||||
/******************************************************************************
|
||||
* Tag API
|
||||
@ -126,7 +128,7 @@ BOOL taglib_file_save(TagLib_File *file);
|
||||
* \note By default this string should be UTF8 encoded and its memory should be
|
||||
* freed using taglib_tag_free_strings().
|
||||
*/
|
||||
char *taglib_tag_title(const TagLib_Tag *tag);
|
||||
TAGLIB_EXPORT char *taglib_tag_title(const TagLib_Tag *tag);
|
||||
|
||||
/*!
|
||||
* Returns a string with this tag's artist.
|
||||
@ -134,7 +136,7 @@ char *taglib_tag_title(const TagLib_Tag *tag);
|
||||
* \note By default this string should be UTF8 encoded and its memory should be
|
||||
* freed using taglib_tag_free_strings().
|
||||
*/
|
||||
char *taglib_tag_artist(const TagLib_Tag *tag);
|
||||
TAGLIB_EXPORT char *taglib_tag_artist(const TagLib_Tag *tag);
|
||||
|
||||
/*!
|
||||
* Returns a string with this tag's album name.
|
||||
@ -142,7 +144,7 @@ char *taglib_tag_artist(const TagLib_Tag *tag);
|
||||
* \note By default this string should be UTF8 encoded and its memory should be
|
||||
* freed using taglib_tag_free_strings().
|
||||
*/
|
||||
char *taglib_tag_album(const TagLib_Tag *tag);
|
||||
TAGLIB_EXPORT char *taglib_tag_album(const TagLib_Tag *tag);
|
||||
|
||||
/*!
|
||||
* Returns a string with this tag's comment.
|
||||
@ -150,7 +152,7 @@ char *taglib_tag_album(const TagLib_Tag *tag);
|
||||
* \note By default this string should be UTF8 encoded and its memory should be
|
||||
* freed using taglib_tag_free_strings().
|
||||
*/
|
||||
char *taglib_tag_comment(const TagLib_Tag *tag);
|
||||
TAGLIB_EXPORT char *taglib_tag_comment(const TagLib_Tag *tag);
|
||||
|
||||
/*!
|
||||
* Returns a string with this tag's genre.
|
||||
@ -158,67 +160,67 @@ char *taglib_tag_comment(const TagLib_Tag *tag);
|
||||
* \note By default this string should be UTF8 encoded and its memory should be
|
||||
* freed using taglib_tag_free_strings().
|
||||
*/
|
||||
char *taglib_tag_genre(const TagLib_Tag *tag);
|
||||
TAGLIB_EXPORT char *taglib_tag_genre(const TagLib_Tag *tag);
|
||||
|
||||
/*!
|
||||
* Returns the tag's year or 0 if year is not set.
|
||||
*/
|
||||
unsigned int taglib_tag_year(const TagLib_Tag *tag);
|
||||
TAGLIB_EXPORT unsigned int taglib_tag_year(const TagLib_Tag *tag);
|
||||
|
||||
/*!
|
||||
* Returns the tag's track number or 0 if track number is not set.
|
||||
*/
|
||||
unsigned int taglib_tag_track(const TagLib_Tag *tag);
|
||||
TAGLIB_EXPORT unsigned int taglib_tag_track(const TagLib_Tag *tag);
|
||||
|
||||
/*!
|
||||
* Sets the tag's title.
|
||||
*
|
||||
* \note By default this string should be UTF8 encoded.
|
||||
*/
|
||||
void taglib_tag_set_title(TagLib_Tag *tag, const char *title);
|
||||
TAGLIB_EXPORT void taglib_tag_set_title(TagLib_Tag *tag, const char *title);
|
||||
|
||||
/*!
|
||||
* Sets the tag's artist.
|
||||
*
|
||||
* \note By default this string should be UTF8 encoded.
|
||||
*/
|
||||
void taglib_tag_set_artist(TagLib_Tag *tag, const char *artist);
|
||||
TAGLIB_EXPORT void taglib_tag_set_artist(TagLib_Tag *tag, const char *artist);
|
||||
|
||||
/*!
|
||||
* Sets the tag's album.
|
||||
*
|
||||
* \note By default this string should be UTF8 encoded.
|
||||
*/
|
||||
void taglib_tag_set_album(TagLib_Tag *tag, const char *album);
|
||||
TAGLIB_EXPORT void taglib_tag_set_album(TagLib_Tag *tag, const char *album);
|
||||
|
||||
/*!
|
||||
* Sets the tag's comment.
|
||||
*
|
||||
* \note By default this string should be UTF8 encoded.
|
||||
*/
|
||||
void taglib_tag_set_comment(TagLib_Tag *tag, const char *comment);
|
||||
TAGLIB_EXPORT void taglib_tag_set_comment(TagLib_Tag *tag, const char *comment);
|
||||
|
||||
/*!
|
||||
* Sets the tag's genre.
|
||||
*
|
||||
* \note By default this string should be UTF8 encoded.
|
||||
*/
|
||||
void taglib_tag_set_genre(TagLib_Tag *tag, const char *genre);
|
||||
TAGLIB_EXPORT void taglib_tag_set_genre(TagLib_Tag *tag, const char *genre);
|
||||
|
||||
/*!
|
||||
* Sets the tag's year. 0 indicates that this field should be cleared.
|
||||
*/
|
||||
void taglib_tag_set_year(TagLib_Tag *tag, unsigned int year);
|
||||
TAGLIB_EXPORT void taglib_tag_set_year(TagLib_Tag *tag, unsigned int year);
|
||||
|
||||
/*!
|
||||
* Sets the tag's track number. 0 indicates that this field should be cleared.
|
||||
*/
|
||||
void taglib_tag_set_track(TagLib_Tag *tag, unsigned int track);
|
||||
TAGLIB_EXPORT void taglib_tag_set_track(TagLib_Tag *tag, unsigned int track);
|
||||
|
||||
/*!
|
||||
* Frees all of the strings that have been created by the tag.
|
||||
*/
|
||||
void taglib_tag_free_strings(void);
|
||||
TAGLIB_EXPORT void taglib_tag_free_strings(void);
|
||||
|
||||
/******************************************************************************
|
||||
* Audio Properties API
|
||||
@ -227,22 +229,22 @@ void taglib_tag_free_strings(void);
|
||||
/*!
|
||||
* Returns the length of the file in seconds.
|
||||
*/
|
||||
int taglib_audioproperties_length(const TagLib_AudioProperties *audioProperties);
|
||||
TAGLIB_EXPORT int taglib_audioproperties_length(const TagLib_AudioProperties *audioProperties);
|
||||
|
||||
/*!
|
||||
* Returns the bitrate of the file in kb/s.
|
||||
*/
|
||||
int taglib_audioproperties_bitrate(const TagLib_AudioProperties *audioProperties);
|
||||
TAGLIB_EXPORT int taglib_audioproperties_bitrate(const TagLib_AudioProperties *audioProperties);
|
||||
|
||||
/*!
|
||||
* Returns the sample rate of the file in Hz.
|
||||
*/
|
||||
int taglib_audioproperties_samplerate(const TagLib_AudioProperties *audioProperties);
|
||||
TAGLIB_EXPORT int taglib_audioproperties_samplerate(const TagLib_AudioProperties *audioProperties);
|
||||
|
||||
/*!
|
||||
* Returns the number of channels in the audio stream.
|
||||
*/
|
||||
int taglib_audioproperties_channels(const TagLib_AudioProperties *audioProperties);
|
||||
TAGLIB_EXPORT int taglib_audioproperties_channels(const TagLib_AudioProperties *audioProperties);
|
||||
|
||||
/*******************************************************************************
|
||||
* Special convenience ID3v2 functions
|
||||
@ -259,7 +261,7 @@ typedef enum {
|
||||
* This sets the default encoding for ID3v2 frames that are written to tags.
|
||||
*/
|
||||
|
||||
void taglib_id3v2_set_default_text_encoding(TagLib_ID3v2_Encoding encoding);
|
||||
TAGLIB_EXPORT void taglib_id3v2_set_default_text_encoding(TagLib_ID3v2_Encoding encoding);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -1,9 +1,10 @@
|
||||
bin_PROGRAMS = tagreader tagreader_c tagwriter framelist strip-id3v1
|
||||
bin_PROGRAMS = tagreader tagreader_c tagwriter framelist strip-id3v1 taglib-image
|
||||
tagreader_SOURCES = tagreader.cpp
|
||||
tagreader_c_SOURCES = tagreader_c.c
|
||||
tagwriter_SOURCES = tagwriter.cpp
|
||||
framelist_SOURCES = framelist.cpp
|
||||
strip_id3v1_SOURCES = strip-id3v1.cpp
|
||||
taglib_image_SOURCES = taglib-image.cpp
|
||||
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
@ -11,6 +12,7 @@ INCLUDES = \
|
||||
-I$(top_srcdir)/taglib/mpeg \
|
||||
-I$(top_srcdir)/taglib/mpeg/id3v1 \
|
||||
-I$(top_srcdir)/taglib/mpeg/id3v2 \
|
||||
-I$(top_srcdir)/taglib/mpeg/id3v2/frames \
|
||||
-I$(top_srcdir)/bindings/c
|
||||
|
||||
LDADD = ../taglib/libtag.la
|
||||
|
@ -26,6 +26,7 @@
|
||||
#ifndef TAGLIB_FLACPROPERTIES_H
|
||||
#define TAGLIB_FLACPROPERTIES_H
|
||||
|
||||
#include "taglib_export.h"
|
||||
#include "audioproperties.h"
|
||||
|
||||
namespace TagLib {
|
||||
@ -41,7 +42,7 @@ namespace TagLib {
|
||||
* API.
|
||||
*/
|
||||
|
||||
class Properties : public AudioProperties
|
||||
class TAGLIB_EXPORT Properties : public AudioProperties
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
|
@ -26,6 +26,7 @@
|
||||
#ifndef TAGLIB_MPCPROPERTIES_H
|
||||
#define TAGLIB_MPCPROPERTIES_H
|
||||
|
||||
#include "taglib_export.h"
|
||||
#include "audioproperties.h"
|
||||
|
||||
namespace TagLib {
|
||||
@ -43,7 +44,7 @@ namespace TagLib {
|
||||
* API.
|
||||
*/
|
||||
|
||||
class Properties : public AudioProperties
|
||||
class TAGLIB_EXPORT Properties : public AudioProperties
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
|
@ -57,7 +57,7 @@ namespace TagLib {
|
||||
* \see ID3v1::Tag::setStringHandler()
|
||||
*/
|
||||
|
||||
class StringHandler
|
||||
class TAGLIB_EXPORT StringHandler
|
||||
{
|
||||
public:
|
||||
// do not fix compiler warning about missing virtual destructor
|
||||
|
@ -27,6 +27,7 @@
|
||||
#define TAGLIB_COMMENTSFRAME_H
|
||||
|
||||
#include <id3v2frame.h>
|
||||
#include "taglib_export.h"
|
||||
|
||||
namespace TagLib {
|
||||
|
||||
@ -39,7 +40,7 @@ namespace TagLib {
|
||||
* a language encoding, a description and a single text field.
|
||||
*/
|
||||
|
||||
class CommentsFrame : public Frame
|
||||
class TAGLIB_EXPORT CommentsFrame : public Frame
|
||||
{
|
||||
friend class FrameFactory;
|
||||
|
||||
|
@ -30,6 +30,7 @@
|
||||
|
||||
#include <id3v2frame.h>
|
||||
#include <id3v2header.h>
|
||||
#include "taglib_export.h"
|
||||
|
||||
namespace TagLib {
|
||||
|
||||
@ -46,7 +47,7 @@ namespace TagLib {
|
||||
* uniquely identifies the GEOB frame in the tag.
|
||||
*/
|
||||
|
||||
class GeneralEncapsulatedObjectFrame : public Frame
|
||||
class TAGLIB_EXPORT GeneralEncapsulatedObjectFrame : public Frame
|
||||
{
|
||||
friend class FrameFactory;
|
||||
|
||||
|
@ -28,6 +28,7 @@
|
||||
|
||||
#include <tlist.h>
|
||||
#include <id3v2frame.h>
|
||||
#include "taglib_export.h"
|
||||
|
||||
namespace TagLib {
|
||||
|
||||
@ -45,7 +46,7 @@ namespace TagLib {
|
||||
* different channel types.
|
||||
*/
|
||||
|
||||
class RelativeVolumeFrame : public Frame
|
||||
class TAGLIB_EXPORT RelativeVolumeFrame : public Frame
|
||||
{
|
||||
friend class FrameFactory;
|
||||
|
||||
|
@ -192,7 +192,7 @@ namespace TagLib {
|
||||
|
||||
//! An ID3v2 custom text identification frame implementationx
|
||||
|
||||
class UserTextIdentificationFrame : public TextIdentificationFrame
|
||||
class TAGLIB_EXPORT UserTextIdentificationFrame : public TextIdentificationFrame
|
||||
{
|
||||
friend class FrameFactory;
|
||||
|
||||
|
@ -40,7 +40,7 @@ namespace TagLib {
|
||||
|
||||
//! An implementation of ID3v2 unique identifier frames
|
||||
|
||||
class UniqueFileIdentifierFrame : public ID3v2::Frame
|
||||
class TAGLIB_EXPORT UniqueFileIdentifierFrame : public ID3v2::Frame
|
||||
{
|
||||
friend class FrameFactory;
|
||||
|
||||
|
@ -27,6 +27,7 @@
|
||||
#define TAGLIB_UNKNOWNFRAME_H
|
||||
|
||||
#include <id3v2frame.h>
|
||||
#include "taglib_export.h"
|
||||
|
||||
namespace TagLib {
|
||||
|
||||
@ -45,7 +46,7 @@ namespace TagLib {
|
||||
* to have your frame type supported through the standard ID3v2 mechanism.
|
||||
*/
|
||||
|
||||
class UnknownFrame : public Frame
|
||||
class TAGLIB_EXPORT UnknownFrame : public Frame
|
||||
{
|
||||
friend class FrameFactory;
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#ifndef TAGLIB_ID3V2EXTENDEDHEADER_H
|
||||
#define TAGLIB_ID3V2EXTENDEDHEADER_H
|
||||
|
||||
#include "taglib_export.h"
|
||||
#include "tbytevector.h"
|
||||
#include "taglib.h"
|
||||
|
||||
@ -44,7 +45,7 @@ namespace TagLib {
|
||||
* (Structure, <a href="id3v2-structure.html#3.2">3.2</a>)
|
||||
*/
|
||||
|
||||
class ExtendedHeader
|
||||
class TAGLIB_EXPORT ExtendedHeader
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
|
@ -26,6 +26,7 @@
|
||||
#ifndef TAGLIB_ID3V2FOOTER_H
|
||||
#define TAGLIB_ID3V2FOOTER_H
|
||||
|
||||
#include "taglib_export.h"
|
||||
#include "tbytevector.h"
|
||||
|
||||
namespace TagLib {
|
||||
@ -46,7 +47,7 @@ namespace TagLib {
|
||||
* has been set in the ID3v2::Tag, TagLib will render a footer.
|
||||
*/
|
||||
|
||||
class Footer
|
||||
class TAGLIB_EXPORT Footer
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include "taglib_export.h"
|
||||
#include "tbytevector.h"
|
||||
#include "id3v2frame.h"
|
||||
#include "taglib_export.h"
|
||||
|
||||
namespace TagLib {
|
||||
|
||||
|
@ -26,6 +26,8 @@
|
||||
#ifndef TAGLIB_MPEGHEADER_H
|
||||
#define TAGLIB_MPEGHEADER_H
|
||||
|
||||
#include "taglib_export.h"
|
||||
|
||||
namespace TagLib {
|
||||
|
||||
class ByteVector;
|
||||
@ -41,7 +43,7 @@ namespace TagLib {
|
||||
* document as a reference.
|
||||
*/
|
||||
|
||||
class Header
|
||||
class TAGLIB_EXPORT Header
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
|
@ -26,6 +26,7 @@
|
||||
#ifndef TAGLIB_MPEGPROPERTIES_H
|
||||
#define TAGLIB_MPEGPROPERTIES_H
|
||||
|
||||
#include "taglib_export.h"
|
||||
#include "audioproperties.h"
|
||||
|
||||
#include "mpegheader.h"
|
||||
@ -44,7 +45,7 @@ namespace TagLib {
|
||||
* AudioProperties API.
|
||||
*/
|
||||
|
||||
class Properties : public AudioProperties
|
||||
class TAGLIB_EXPORT Properties : public AudioProperties
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
|
@ -27,6 +27,7 @@
|
||||
#define TAGLIB_XINGHEADER_H
|
||||
|
||||
#include "mpegheader.h"
|
||||
#include "taglib_export.h"
|
||||
|
||||
namespace TagLib {
|
||||
|
||||
@ -46,7 +47,7 @@ namespace TagLib {
|
||||
* and the XMMS sources as references.
|
||||
*/
|
||||
|
||||
class XingHeader
|
||||
class TAGLIB_EXPORT XingHeader
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
|
@ -26,6 +26,7 @@
|
||||
#ifndef TAGLIB_OGGPAGE_H
|
||||
#define TAGLIB_OGGPAGE_H
|
||||
|
||||
#include "taglib_export.h"
|
||||
#include "tbytevectorlist.h"
|
||||
|
||||
namespace TagLib {
|
||||
@ -48,7 +49,7 @@ namespace TagLib {
|
||||
* could potentially be useful for non-meta data purposes.
|
||||
*/
|
||||
|
||||
class Page
|
||||
class TAGLIB_EXPORT Page
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
|
@ -26,6 +26,7 @@
|
||||
#ifndef TAGLIB_VORBISPROPERTIES_H
|
||||
#define TAGLIB_VORBISPROPERTIES_H
|
||||
|
||||
#include "taglib_export.h"
|
||||
#include "audioproperties.h"
|
||||
|
||||
namespace TagLib {
|
||||
@ -52,7 +53,7 @@ namespace TagLib {
|
||||
* API.
|
||||
*/
|
||||
|
||||
class Properties : public AudioProperties
|
||||
class TAGLIB_EXPORT Properties : public AudioProperties
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
|
@ -398,6 +398,6 @@ namespace TagLib {
|
||||
* \relates TagLib::ByteVector
|
||||
* Streams the ByteVector \a v to the output stream \a s.
|
||||
*/
|
||||
std::ostream &operator<<(std::ostream &s, const TagLib::ByteVector &v);
|
||||
TAGLIB_EXPORT std::ostream &operator<<(std::ostream &s, const TagLib::ByteVector &v);
|
||||
|
||||
#endif
|
||||
|
@ -26,6 +26,7 @@
|
||||
#ifndef TAGLIB_BYTEVECTORLIST_H
|
||||
#define TAGLIB_BYTEVECTORLIST_H
|
||||
|
||||
#include "taglib_export.h"
|
||||
#include "tbytevector.h"
|
||||
#include "tlist.h"
|
||||
|
||||
@ -37,7 +38,7 @@ namespace TagLib {
|
||||
* A List specialization with some handy features useful for ByteVectors.
|
||||
*/
|
||||
|
||||
class ByteVectorList : public List<ByteVector>
|
||||
class TAGLIB_EXPORT ByteVectorList : public List<ByteVector>
|
||||
{
|
||||
public:
|
||||
|
||||
|
@ -419,21 +419,21 @@ namespace TagLib {
|
||||
*
|
||||
* Concatenates \a s1 and \a s2 and returns the result as a string.
|
||||
*/
|
||||
const TagLib::String operator+(const TagLib::String &s1, const TagLib::String &s2);
|
||||
TAGLIB_EXPORT const TagLib::String operator+(const TagLib::String &s1, const TagLib::String &s2);
|
||||
|
||||
/*!
|
||||
* \relates TagLib::String
|
||||
*
|
||||
* Concatenates \a s1 and \a s2 and returns the result as a string.
|
||||
*/
|
||||
const TagLib::String operator+(const char *s1, const TagLib::String &s2);
|
||||
TAGLIB_EXPORT const TagLib::String operator+(const char *s1, const TagLib::String &s2);
|
||||
|
||||
/*!
|
||||
* \relates TagLib::String
|
||||
*
|
||||
* Concatenates \a s1 and \a s2 and returns the result as a string.
|
||||
*/
|
||||
const TagLib::String operator+(const TagLib::String &s1, const char *s2);
|
||||
TAGLIB_EXPORT const TagLib::String operator+(const TagLib::String &s1, const char *s2);
|
||||
|
||||
|
||||
/*!
|
||||
|
Loading…
Reference in New Issue
Block a user