Commit a5f8fd77 authored by Max Kellermann's avatar Max Kellermann

tag/handler: use CamelCase

parent cc5443c3
...@@ -78,7 +78,7 @@ Song::LoadFile(Storage &storage, const char *path_utf8, Directory &parent) ...@@ -78,7 +78,7 @@ Song::LoadFile(Storage &storage, const char *path_utf8, Directory &parent)
*/ */
static bool static bool
tag_scan_fallback(Path path, tag_scan_fallback(Path path,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
return tag_ape_scan2(path, handler, handler_ctx) || return tag_ape_scan2(path, handler, handler_ctx) ||
tag_id3_scan(path, handler, handler_ctx); tag_id3_scan(path, handler, handler_ctx);
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
#include <assert.h> #include <assert.h>
bool bool
tag_archive_scan(Path path, const tag_handler &handler, void *handler_ctx) tag_archive_scan(Path path, const TagHandler &handler, void *handler_ctx)
{ {
assert(!path.IsNull()); assert(!path.IsNull());
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include "check.h" #include "check.h"
class Path; class Path;
struct tag_handler; struct TagHandler;
/** /**
* Scan the tags of a song file inside an archive. Invokes matching * Scan the tags of a song file inside an archive. Invokes matching
...@@ -34,6 +34,6 @@ struct tag_handler; ...@@ -34,6 +34,6 @@ struct tag_handler;
* found) * found)
*/ */
bool bool
tag_archive_scan(Path path, const tag_handler &handler, void *handler_ctx); tag_archive_scan(Path path, const TagHandler &handler, void *handler_ctx);
#endif #endif
...@@ -34,7 +34,7 @@ class TagFileScan { ...@@ -34,7 +34,7 @@ class TagFileScan {
const Path path_fs; const Path path_fs;
const char *const suffix; const char *const suffix;
const tag_handler &handler; const TagHandler &handler;
void *handler_ctx; void *handler_ctx;
Mutex mutex; Mutex mutex;
...@@ -43,7 +43,7 @@ class TagFileScan { ...@@ -43,7 +43,7 @@ class TagFileScan {
public: public:
TagFileScan(Path _path_fs, const char *_suffix, TagFileScan(Path _path_fs, const char *_suffix,
const tag_handler &_handler, void *_handler_ctx) const TagHandler &_handler, void *_handler_ctx)
:path_fs(_path_fs), suffix(_suffix), :path_fs(_path_fs), suffix(_suffix),
handler(_handler), handler_ctx(_handler_ctx) , handler(_handler), handler_ctx(_handler_ctx) ,
is(nullptr) {} is(nullptr) {}
...@@ -77,7 +77,7 @@ public: ...@@ -77,7 +77,7 @@ public:
}; };
bool bool
tag_file_scan(Path path_fs, const tag_handler &handler, void *handler_ctx) tag_file_scan(Path path_fs, const TagHandler &handler, void *handler_ctx)
{ {
assert(!path_fs.IsNull()); assert(!path_fs.IsNull());
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include "check.h" #include "check.h"
class Path; class Path;
struct tag_handler; struct TagHandler;
/** /**
* Scan the tags of a song file. Invokes matching decoder plugins, * Scan the tags of a song file. Invokes matching decoder plugins,
...@@ -33,6 +33,6 @@ struct tag_handler; ...@@ -33,6 +33,6 @@ struct tag_handler;
* found) * found)
*/ */
bool bool
tag_file_scan(Path path, const tag_handler &handler, void *handler_ctx); tag_file_scan(Path path, const TagHandler &handler, void *handler_ctx);
#endif #endif
...@@ -42,7 +42,7 @@ CheckDecoderPlugin(const DecoderPlugin &plugin, ...@@ -42,7 +42,7 @@ CheckDecoderPlugin(const DecoderPlugin &plugin,
} }
bool bool
tag_stream_scan(InputStream &is, const tag_handler &handler, void *ctx) tag_stream_scan(InputStream &is, const TagHandler &handler, void *ctx)
{ {
assert(is.IsReady()); assert(is.IsReady());
...@@ -63,7 +63,7 @@ tag_stream_scan(InputStream &is, const tag_handler &handler, void *ctx) ...@@ -63,7 +63,7 @@ tag_stream_scan(InputStream &is, const tag_handler &handler, void *ctx)
} }
bool bool
tag_stream_scan(const char *uri, const tag_handler &handler, void *ctx) tag_stream_scan(const char *uri, const TagHandler &handler, void *ctx)
{ {
Mutex mutex; Mutex mutex;
Cond cond; Cond cond;
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include "check.h" #include "check.h"
class InputStream; class InputStream;
struct tag_handler; struct TagHandler;
/** /**
* Scan the tags of an #InputStream. Invokes matching decoder * Scan the tags of an #InputStream. Invokes matching decoder
...@@ -33,9 +33,9 @@ struct tag_handler; ...@@ -33,9 +33,9 @@ struct tag_handler;
* found) * found)
*/ */
bool bool
tag_stream_scan(InputStream &is, const tag_handler &handler, void *ctx); tag_stream_scan(InputStream &is, const TagHandler &handler, void *ctx);
bool bool
tag_stream_scan(const char *uri, const tag_handler &handler, void *ctx); tag_stream_scan(const char *uri, const TagHandler &handler, void *ctx);
#endif #endif
...@@ -148,7 +148,7 @@ print_pair(const char *key, const char *value, void *ctx) ...@@ -148,7 +148,7 @@ print_pair(const char *key, const char *value, void *ctx)
r.Format("%s: %s\n", key, value); r.Format("%s: %s\n", key, value);
} }
static constexpr tag_handler print_comment_handler = { static constexpr TagHandler print_comment_handler = {
nullptr, nullptr,
nullptr, nullptr,
print_pair, print_pair,
......
...@@ -168,7 +168,7 @@ handle_listfiles(Client &client, Request args, Response &r) ...@@ -168,7 +168,7 @@ handle_listfiles(Client &client, Request args, Response &r)
gcc_unreachable(); gcc_unreachable();
} }
static constexpr tag_handler print_tag_handler = { static constexpr TagHandler print_tag_handler = {
nullptr, nullptr,
print_tag, print_tag,
nullptr, nullptr,
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
struct ConfigBlock; struct ConfigBlock;
class InputStream; class InputStream;
struct tag_handler; struct TagHandler;
class Path; class Path;
/** /**
...@@ -74,7 +74,7 @@ struct DecoderPlugin { ...@@ -74,7 +74,7 @@ struct DecoderPlugin {
* @return false if the operation has failed * @return false if the operation has failed
*/ */
bool (*scan_file)(Path path_fs, bool (*scan_file)(Path path_fs,
const struct tag_handler *handler, const TagHandler *handler,
void *handler_ctx); void *handler_ctx);
/** /**
...@@ -83,7 +83,7 @@ struct DecoderPlugin { ...@@ -83,7 +83,7 @@ struct DecoderPlugin {
* @return false if the operation has failed * @return false if the operation has failed
*/ */
bool (*scan_stream)(InputStream &is, bool (*scan_stream)(InputStream &is,
const struct tag_handler *handler, const TagHandler *handler,
void *handler_ctx); void *handler_ctx);
/** /**
...@@ -145,7 +145,7 @@ struct DecoderPlugin { ...@@ -145,7 +145,7 @@ struct DecoderPlugin {
*/ */
template<typename P> template<typename P>
bool ScanFile(P path_fs, bool ScanFile(P path_fs,
const tag_handler &handler, void *handler_ctx) const { const TagHandler &handler, void *handler_ctx) const {
return scan_file != nullptr return scan_file != nullptr
? scan_file(path_fs, &handler, handler_ctx) ? scan_file(path_fs, &handler, handler_ctx)
: false; : false;
...@@ -155,7 +155,7 @@ struct DecoderPlugin { ...@@ -155,7 +155,7 @@ struct DecoderPlugin {
* Read the tag of a stream. * Read the tag of a stream.
*/ */
bool ScanStream(InputStream &is, bool ScanStream(InputStream &is,
const tag_handler &handler, void *handler_ctx) const { const TagHandler &handler, void *handler_ctx) const {
return scan_stream != nullptr return scan_stream != nullptr
? scan_stream(is, &handler, handler_ctx) ? scan_stream(is, &handler, handler_ctx)
: false; : false;
......
...@@ -89,7 +89,7 @@ adplug_file_decode(Decoder &decoder, Path path_fs) ...@@ -89,7 +89,7 @@ adplug_file_decode(Decoder &decoder, Path path_fs)
static void static void
adplug_scan_tag(TagType type, const std::string &value, adplug_scan_tag(TagType type, const std::string &value,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
if (!value.empty()) if (!value.empty())
tag_handler_invoke_tag(handler, handler_ctx, tag_handler_invoke_tag(handler, handler_ctx,
...@@ -98,7 +98,7 @@ adplug_scan_tag(TagType type, const std::string &value, ...@@ -98,7 +98,7 @@ adplug_scan_tag(TagType type, const std::string &value,
static bool static bool
adplug_scan_file(Path path_fs, adplug_scan_file(Path path_fs,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
CEmuopl opl(sample_rate, true, true); CEmuopl opl(sample_rate, true, true);
opl.init(); opl.init();
......
...@@ -263,7 +263,7 @@ audiofile_get_duration(InputStream &is) ...@@ -263,7 +263,7 @@ audiofile_get_duration(InputStream &is)
static bool static bool
audiofile_scan_stream(InputStream &is, audiofile_scan_stream(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
const auto duration = audiofile_get_duration(is); const auto duration = audiofile_get_duration(is);
if (duration.IsNegative()) if (duration.IsNegative())
......
...@@ -106,7 +106,7 @@ dsdlib_valid_freq(uint32_t samplefreq) ...@@ -106,7 +106,7 @@ dsdlib_valid_freq(uint32_t samplefreq)
#ifdef ENABLE_ID3TAG #ifdef ENABLE_ID3TAG
void void
dsdlib_tag_id3(InputStream &is, dsdlib_tag_id3(InputStream &is,
const struct tag_handler *handler, const TagHandler *handler,
void *handler_ctx, offset_type tagoffset) void *handler_ctx, offset_type tagoffset)
{ {
if (tagoffset == 0 || !is.KnownSize()) if (tagoffset == 0 || !is.KnownSize())
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include <stdint.h> #include <stdint.h>
struct Decoder; struct Decoder;
struct TagHandler;
class InputStream; class InputStream;
struct DsdId { struct DsdId {
...@@ -80,7 +81,7 @@ dsdlib_valid_freq(uint32_t samplefreq); ...@@ -80,7 +81,7 @@ dsdlib_valid_freq(uint32_t samplefreq);
*/ */
void void
dsdlib_tag_id3(InputStream &is, dsdlib_tag_id3(InputStream &is,
const struct tag_handler *handler, const TagHandler *handler,
void *handler_ctx, offset_type tagoffset); void *handler_ctx, offset_type tagoffset);
#endif #endif
...@@ -187,7 +187,7 @@ dsdiff_read_prop(Decoder *decoder, InputStream &is, ...@@ -187,7 +187,7 @@ dsdiff_read_prop(Decoder *decoder, InputStream &is,
static void static void
dsdiff_handle_native_tag(InputStream &is, dsdiff_handle_native_tag(InputStream &is,
const struct tag_handler *handler, const TagHandler *handler,
void *handler_ctx, offset_type tagoffset, void *handler_ctx, offset_type tagoffset,
TagType type) TagType type)
{ {
...@@ -229,7 +229,7 @@ static bool ...@@ -229,7 +229,7 @@ static bool
dsdiff_read_metadata_extra(Decoder *decoder, InputStream &is, dsdiff_read_metadata_extra(Decoder *decoder, InputStream &is,
DsdiffMetaData *metadata, DsdiffMetaData *metadata,
DsdiffChunkHeader *chunk_header, DsdiffChunkHeader *chunk_header,
const struct tag_handler *handler, const TagHandler *handler,
void *handler_ctx) void *handler_ctx)
{ {
...@@ -456,7 +456,7 @@ dsdiff_stream_decode(Decoder &decoder, InputStream &is) ...@@ -456,7 +456,7 @@ dsdiff_stream_decode(Decoder &decoder, InputStream &is)
static bool static bool
dsdiff_scan_stream(InputStream &is, dsdiff_scan_stream(InputStream &is,
gcc_unused const struct tag_handler *handler, gcc_unused const TagHandler *handler,
gcc_unused void *handler_ctx) gcc_unused void *handler_ctx)
{ {
DsdiffMetaData metadata; DsdiffMetaData metadata;
......
...@@ -331,7 +331,7 @@ dsf_stream_decode(Decoder &decoder, InputStream &is) ...@@ -331,7 +331,7 @@ dsf_stream_decode(Decoder &decoder, InputStream &is)
static bool static bool
dsf_scan_stream(InputStream &is, dsf_scan_stream(InputStream &is,
gcc_unused const struct tag_handler *handler, gcc_unused const TagHandler *handler,
gcc_unused void *handler_ctx) gcc_unused void *handler_ctx)
{ {
/* check DSF metadata */ /* check DSF metadata */
......
...@@ -419,7 +419,7 @@ faad_stream_decode(Decoder &mpd_decoder, InputStream &is) ...@@ -419,7 +419,7 @@ faad_stream_decode(Decoder &mpd_decoder, InputStream &is)
static bool static bool
faad_scan_stream(InputStream &is, faad_scan_stream(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
auto result = faad_get_file_time(is); auto result = faad_get_file_time(is);
if (!result.first) if (!result.first)
......
...@@ -390,14 +390,14 @@ FfmpegParseMetaData(Decoder &decoder, ...@@ -390,14 +390,14 @@ FfmpegParseMetaData(Decoder &decoder,
static void static void
FfmpegScanMetadata(const AVStream &stream, FfmpegScanMetadata(const AVStream &stream,
const tag_handler &handler, void *handler_ctx) const TagHandler &handler, void *handler_ctx)
{ {
FfmpegScanDictionary(stream.metadata, &handler, handler_ctx); FfmpegScanDictionary(stream.metadata, &handler, handler_ctx);
} }
static void static void
FfmpegScanMetadata(const AVFormatContext &format_context, int audio_stream, FfmpegScanMetadata(const AVFormatContext &format_context, int audio_stream,
const tag_handler &handler, void *handler_ctx) const TagHandler &handler, void *handler_ctx)
{ {
assert(audio_stream >= 0); assert(audio_stream >= 0);
...@@ -614,7 +614,7 @@ ffmpeg_decode(Decoder &decoder, InputStream &input) ...@@ -614,7 +614,7 @@ ffmpeg_decode(Decoder &decoder, InputStream &input)
static bool static bool
FfmpegScanStream(AVFormatContext &format_context, FfmpegScanStream(AVFormatContext &format_context,
const struct tag_handler &handler, void *handler_ctx) const TagHandler &handler, void *handler_ctx)
{ {
const int find_result = const int find_result =
avformat_find_stream_info(&format_context, nullptr); avformat_find_stream_info(&format_context, nullptr);
...@@ -638,7 +638,7 @@ FfmpegScanStream(AVFormatContext &format_context, ...@@ -638,7 +638,7 @@ FfmpegScanStream(AVFormatContext &format_context,
static bool static bool
ffmpeg_scan_stream(InputStream &is, ffmpeg_scan_stream(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
AVInputFormat *input_format = ffmpeg_probe(nullptr, is); AVInputFormat *input_format = ffmpeg_probe(nullptr, is);
if (input_format == nullptr) if (input_format == nullptr)
......
...@@ -42,7 +42,7 @@ static constexpr struct tag_table ffmpeg_tags[] = { ...@@ -42,7 +42,7 @@ static constexpr struct tag_table ffmpeg_tags[] = {
static void static void
FfmpegScanTag(TagType type, FfmpegScanTag(TagType type,
AVDictionary *m, const char *name, AVDictionary *m, const char *name,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
AVDictionaryEntry *mt = nullptr; AVDictionaryEntry *mt = nullptr;
...@@ -53,7 +53,7 @@ FfmpegScanTag(TagType type, ...@@ -53,7 +53,7 @@ FfmpegScanTag(TagType type,
static void static void
FfmpegScanPairs(AVDictionary *dict, FfmpegScanPairs(AVDictionary *dict,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
AVDictionaryEntry *i = nullptr; AVDictionaryEntry *i = nullptr;
...@@ -64,7 +64,7 @@ FfmpegScanPairs(AVDictionary *dict, ...@@ -64,7 +64,7 @@ FfmpegScanPairs(AVDictionary *dict,
void void
FfmpegScanDictionary(AVDictionary *dict, FfmpegScanDictionary(AVDictionary *dict,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
if (handler->tag != nullptr) { if (handler->tag != nullptr) {
for (unsigned i = 0; i < TAG_NUM_OF_ITEM_TYPES; ++i) for (unsigned i = 0; i < TAG_NUM_OF_ITEM_TYPES; ++i)
......
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
#define MPD_FFMPEG_METADATA_HXX #define MPD_FFMPEG_METADATA_HXX
struct AVDictionary; struct AVDictionary;
struct tag_handler; struct TagHandler;
void void
FfmpegScanDictionary(AVDictionary *dict, FfmpegScanDictionary(AVDictionary *dict,
const tag_handler *handler, void *handler_ctx); const TagHandler *handler, void *handler_ctx);
#endif #endif
...@@ -82,7 +82,7 @@ flac_write_cb(const FLAC__StreamDecoder *dec, const FLAC__Frame *frame, ...@@ -82,7 +82,7 @@ flac_write_cb(const FLAC__StreamDecoder *dec, const FLAC__Frame *frame,
static bool static bool
flac_scan_file(Path path_fs, flac_scan_file(Path path_fs,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
FlacMetadataChain chain; FlacMetadataChain chain;
if (!chain.Read(NarrowPath(path_fs))) { if (!chain.Read(NarrowPath(path_fs))) {
...@@ -98,7 +98,7 @@ flac_scan_file(Path path_fs, ...@@ -98,7 +98,7 @@ flac_scan_file(Path path_fs,
static bool static bool
flac_scan_stream(InputStream &is, flac_scan_stream(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
FlacMetadataChain chain; FlacMetadataChain chain;
if (!chain.Read(is)) { if (!chain.Read(is)) {
...@@ -299,7 +299,7 @@ oggflac_init(gcc_unused const ConfigBlock &block) ...@@ -299,7 +299,7 @@ oggflac_init(gcc_unused const ConfigBlock &block)
static bool static bool
oggflac_scan_file(Path path_fs, oggflac_scan_file(Path path_fs,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
FlacMetadataChain chain; FlacMetadataChain chain;
if (!chain.ReadOgg(NarrowPath(path_fs))) { if (!chain.ReadOgg(NarrowPath(path_fs))) {
...@@ -315,7 +315,7 @@ oggflac_scan_file(Path path_fs, ...@@ -315,7 +315,7 @@ oggflac_scan_file(Path path_fs,
static bool static bool
oggflac_scan_stream(InputStream &is, oggflac_scan_stream(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
FlacMetadataChain chain; FlacMetadataChain chain;
if (!chain.ReadOgg(is)) { if (!chain.ReadOgg(is)) {
......
...@@ -80,7 +80,7 @@ flac_comment_value(const FLAC__StreamMetadata_VorbisComment_Entry *entry, ...@@ -80,7 +80,7 @@ flac_comment_value(const FLAC__StreamMetadata_VorbisComment_Entry *entry,
static bool static bool
flac_copy_comment(const FLAC__StreamMetadata_VorbisComment_Entry *entry, flac_copy_comment(const FLAC__StreamMetadata_VorbisComment_Entry *entry,
const char *name, TagType tag_type, const char *name, TagType tag_type,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
const char *value = flac_comment_value(entry, name); const char *value = flac_comment_value(entry, name);
if (value != nullptr) { if (value != nullptr) {
...@@ -93,7 +93,7 @@ flac_copy_comment(const FLAC__StreamMetadata_VorbisComment_Entry *entry, ...@@ -93,7 +93,7 @@ flac_copy_comment(const FLAC__StreamMetadata_VorbisComment_Entry *entry,
static void static void
flac_scan_comment(const FLAC__StreamMetadata_VorbisComment_Entry *entry, flac_scan_comment(const FLAC__StreamMetadata_VorbisComment_Entry *entry,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
if (handler->pair != nullptr) { if (handler->pair != nullptr) {
const char *comment = (const char *)entry->entry; const char *comment = (const char *)entry->entry;
...@@ -118,7 +118,7 @@ flac_scan_comment(const FLAC__StreamMetadata_VorbisComment_Entry *entry, ...@@ -118,7 +118,7 @@ flac_scan_comment(const FLAC__StreamMetadata_VorbisComment_Entry *entry,
static void static void
flac_scan_comments(const FLAC__StreamMetadata_VorbisComment *comment, flac_scan_comments(const FLAC__StreamMetadata_VorbisComment *comment,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
for (unsigned i = 0; i < comment->num_comments; ++i) for (unsigned i = 0; i < comment->num_comments; ++i)
flac_scan_comment(&comment->comments[i], flac_scan_comment(&comment->comments[i],
...@@ -137,7 +137,7 @@ flac_duration(const FLAC__StreamMetadata_StreamInfo *stream_info) ...@@ -137,7 +137,7 @@ flac_duration(const FLAC__StreamMetadata_StreamInfo *stream_info)
void void
flac_scan_metadata(const FLAC__StreamMetadata *block, flac_scan_metadata(const FLAC__StreamMetadata *block,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
switch (block->type) { switch (block->type) {
case FLAC__METADATA_TYPE_VORBIS_COMMENT: case FLAC__METADATA_TYPE_VORBIS_COMMENT:
...@@ -165,7 +165,7 @@ flac_vorbis_comments_to_tag(const FLAC__StreamMetadata_VorbisComment *comment) ...@@ -165,7 +165,7 @@ flac_vorbis_comments_to_tag(const FLAC__StreamMetadata_VorbisComment *comment)
} }
void void
FlacMetadataChain::Scan(const struct tag_handler *handler, void *handler_ctx) FlacMetadataChain::Scan(const TagHandler *handler, void *handler_ctx)
{ {
FLACMetadataIterator iterator(*this); FLACMetadataIterator iterator(*this);
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
#include <assert.h> #include <assert.h>
struct tag_handler; struct TagHandler;
class MixRampInfo; class MixRampInfo;
class FlacMetadataChain { class FlacMetadataChain {
...@@ -82,7 +82,7 @@ public: ...@@ -82,7 +82,7 @@ public:
return FLAC__Metadata_ChainStatusString[GetStatus()]; return FLAC__Metadata_ChainStatusString[GetStatus()];
} }
void Scan(const tag_handler *handler, void *handler_ctx); void Scan(const TagHandler *handler, void *handler_ctx);
}; };
class FLACMetadataIterator { class FLACMetadataIterator {
...@@ -126,6 +126,6 @@ flac_vorbis_comments_to_tag(const FLAC__StreamMetadata_VorbisComment *comment); ...@@ -126,6 +126,6 @@ flac_vorbis_comments_to_tag(const FLAC__StreamMetadata_VorbisComment *comment);
void void
flac_scan_metadata(const FLAC__StreamMetadata *block, flac_scan_metadata(const FLAC__StreamMetadata *block,
const tag_handler *handler, void *handler_ctx); const TagHandler *handler, void *handler_ctx);
#endif #endif
...@@ -201,7 +201,7 @@ fluidsynth_file_decode(Decoder &decoder, Path path_fs) ...@@ -201,7 +201,7 @@ fluidsynth_file_decode(Decoder &decoder, Path path_fs)
static bool static bool
fluidsynth_scan_file(Path path_fs, fluidsynth_scan_file(Path path_fs,
gcc_unused const struct tag_handler *handler, gcc_unused const TagHandler *handler,
gcc_unused void *handler_ctx) gcc_unused void *handler_ctx)
{ {
return fluid_is_midifile(path_fs.c_str()); return fluid_is_midifile(path_fs.c_str());
......
...@@ -215,7 +215,7 @@ gme_file_decode(Decoder &decoder, Path path_fs) ...@@ -215,7 +215,7 @@ gme_file_decode(Decoder &decoder, Path path_fs)
static void static void
ScanGmeInfo(const gme_info_t &info, unsigned song_num, int track_count, ScanGmeInfo(const gme_info_t &info, unsigned song_num, int track_count,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
if (info.play_length > 0) if (info.play_length > 0)
tag_handler_invoke_duration(handler, handler_ctx, tag_handler_invoke_duration(handler, handler_ctx,
...@@ -255,7 +255,7 @@ ScanGmeInfo(const gme_info_t &info, unsigned song_num, int track_count, ...@@ -255,7 +255,7 @@ ScanGmeInfo(const gme_info_t &info, unsigned song_num, int track_count,
static bool static bool
ScanMusicEmu(Music_Emu *emu, unsigned song_num, ScanMusicEmu(Music_Emu *emu, unsigned song_num,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
gme_info_t *ti; gme_info_t *ti;
const char *gme_err = gme_track_info(emu, &ti, song_num); const char *gme_err = gme_track_info(emu, &ti, song_num);
...@@ -275,7 +275,7 @@ ScanMusicEmu(Music_Emu *emu, unsigned song_num, ...@@ -275,7 +275,7 @@ ScanMusicEmu(Music_Emu *emu, unsigned song_num,
static bool static bool
gme_scan_file(Path path_fs, gme_scan_file(Path path_fs,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
const auto container = ParseContainerPath(path_fs); const auto container = ParseContainerPath(path_fs);
......
...@@ -1083,7 +1083,7 @@ mp3_decode(Decoder &decoder, InputStream &input_stream) ...@@ -1083,7 +1083,7 @@ mp3_decode(Decoder &decoder, InputStream &input_stream)
static bool static bool
mad_decoder_scan_stream(InputStream &is, mad_decoder_scan_stream(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
const auto result = mad_decoder_total_file_time(is); const auto result = mad_decoder_total_file_time(is);
if (!result.first) if (!result.first)
......
...@@ -187,7 +187,7 @@ mikmod_decoder_file_decode(Decoder &decoder, Path path_fs) ...@@ -187,7 +187,7 @@ mikmod_decoder_file_decode(Decoder &decoder, Path path_fs)
static bool static bool
mikmod_decoder_scan_file(Path path_fs, mikmod_decoder_scan_file(Path path_fs,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
/* deconstify the path because libmikmod wants a non-const /* deconstify the path because libmikmod wants a non-const
string pointer */ string pointer */
......
...@@ -177,7 +177,7 @@ mod_decode(Decoder &decoder, InputStream &is) ...@@ -177,7 +177,7 @@ mod_decode(Decoder &decoder, InputStream &is)
static bool static bool
modplug_scan_stream(InputStream &is, modplug_scan_stream(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
ModPlugFile *f = LoadModPlugFile(nullptr, is); ModPlugFile *f = LoadModPlugFile(nullptr, is);
if (f == nullptr) if (f == nullptr)
......
...@@ -249,7 +249,7 @@ mpcdec_get_file_duration(InputStream &is) ...@@ -249,7 +249,7 @@ mpcdec_get_file_duration(InputStream &is)
static bool static bool
mpcdec_scan_stream(InputStream &is, mpcdec_scan_stream(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
const auto duration = mpcdec_get_file_duration(is); const auto duration = mpcdec_get_file_duration(is);
if (duration.IsNegative()) if (duration.IsNegative())
......
...@@ -287,7 +287,7 @@ mpd_mpg123_file_decode(Decoder &decoder, Path path_fs) ...@@ -287,7 +287,7 @@ mpd_mpg123_file_decode(Decoder &decoder, Path path_fs)
static bool static bool
mpd_mpg123_scan_file(Path path_fs, mpd_mpg123_scan_file(Path path_fs,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
int error; int error;
mpg123_handle *const handle = mpg123_new(nullptr, &error); mpg123_handle *const handle = mpg123_new(nullptr, &error);
......
...@@ -433,7 +433,7 @@ mpd_opus_stream_decode(Decoder &decoder, ...@@ -433,7 +433,7 @@ mpd_opus_stream_decode(Decoder &decoder,
static bool static bool
mpd_opus_scan_stream(InputStream &is, mpd_opus_scan_stream(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
OggSyncState oy(is); OggSyncState oy(is);
......
...@@ -43,7 +43,7 @@ ParseOpusTagName(const char *name) ...@@ -43,7 +43,7 @@ ParseOpusTagName(const char *name)
static void static void
ScanOneOpusTag(const char *name, const char *value, ScanOneOpusTag(const char *name, const char *value,
ReplayGainInfo *rgi, ReplayGainInfo *rgi,
const struct tag_handler *handler, void *ctx) const TagHandler *handler, void *ctx)
{ {
if (rgi != nullptr && strcmp(name, "R128_TRACK_GAIN") == 0) { if (rgi != nullptr && strcmp(name, "R128_TRACK_GAIN") == 0) {
/* R128_TRACK_GAIN is a Q7.8 fixed point number in /* R128_TRACK_GAIN is a Q7.8 fixed point number in
...@@ -67,7 +67,7 @@ ScanOneOpusTag(const char *name, const char *value, ...@@ -67,7 +67,7 @@ ScanOneOpusTag(const char *name, const char *value,
bool bool
ScanOpusTags(const void *data, size_t size, ScanOpusTags(const void *data, size_t size,
ReplayGainInfo *rgi, ReplayGainInfo *rgi,
const struct tag_handler *handler, void *ctx) const TagHandler *handler, void *ctx)
{ {
OpusReader r(data, size); OpusReader r(data, size);
if (!r.Expect("OpusTags", 8)) if (!r.Expect("OpusTags", 8))
......
...@@ -25,10 +25,11 @@ ...@@ -25,10 +25,11 @@
#include <stddef.h> #include <stddef.h>
struct ReplayGainInfo; struct ReplayGainInfo;
struct TagHandler;
bool bool
ScanOpusTags(const void *data, size_t size, ScanOpusTags(const void *data, size_t size,
ReplayGainInfo *rgi, ReplayGainInfo *rgi,
const struct tag_handler *handler, void *ctx); const TagHandler *handler, void *ctx);
#endif #endif
...@@ -286,7 +286,7 @@ sidplay_file_decode(Decoder &decoder, Path path_fs) ...@@ -286,7 +286,7 @@ sidplay_file_decode(Decoder &decoder, Path path_fs)
static bool static bool
sidplay_scan_file(Path path_fs, sidplay_scan_file(Path path_fs,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
const auto container = ParseContainerPath(path_fs); const auto container = ParseContainerPath(path_fs);
const unsigned song_num = container.track; const unsigned song_num = container.track;
......
...@@ -244,7 +244,7 @@ sndfile_stream_decode(Decoder &decoder, InputStream &is) ...@@ -244,7 +244,7 @@ sndfile_stream_decode(Decoder &decoder, InputStream &is)
static void static void
sndfile_handle_tag(SNDFILE *sf, int str, TagType tag, sndfile_handle_tag(SNDFILE *sf, int str, TagType tag,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
const char *value = sf_get_string(sf, str); const char *value = sf_get_string(sf, str);
if (value != nullptr) if (value != nullptr)
...@@ -266,7 +266,7 @@ static constexpr struct { ...@@ -266,7 +266,7 @@ static constexpr struct {
static bool static bool
sndfile_scan_stream(InputStream &is, sndfile_scan_stream(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
SF_INFO info; SF_INFO info;
......
...@@ -56,7 +56,7 @@ vorbis_comments_to_replay_gain(ReplayGainInfo &rgi, char **comments) ...@@ -56,7 +56,7 @@ vorbis_comments_to_replay_gain(ReplayGainInfo &rgi, char **comments)
static bool static bool
vorbis_copy_comment(const char *comment, vorbis_copy_comment(const char *comment,
const char *name, TagType tag_type, const char *name, TagType tag_type,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
const char *value; const char *value;
...@@ -71,7 +71,7 @@ vorbis_copy_comment(const char *comment, ...@@ -71,7 +71,7 @@ vorbis_copy_comment(const char *comment,
static void static void
vorbis_scan_comment(const char *comment, vorbis_scan_comment(const char *comment,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
if (handler->pair != nullptr) { if (handler->pair != nullptr) {
const DivideString split(comment, '='); const DivideString split(comment, '=');
...@@ -95,7 +95,7 @@ vorbis_scan_comment(const char *comment, ...@@ -95,7 +95,7 @@ vorbis_scan_comment(const char *comment,
void void
vorbis_comments_scan(char **comments, vorbis_comments_scan(char **comments,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
while (*comments) while (*comments)
vorbis_scan_comment(*comments++, vorbis_scan_comment(*comments++,
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include "check.h" #include "check.h"
struct ReplayGainInfo; struct ReplayGainInfo;
struct tag_handler; struct TagHandler;
struct Tag; struct Tag;
bool bool
...@@ -31,7 +31,7 @@ vorbis_comments_to_replay_gain(ReplayGainInfo &rgi, char **comments); ...@@ -31,7 +31,7 @@ vorbis_comments_to_replay_gain(ReplayGainInfo &rgi, char **comments);
void void
vorbis_comments_scan(char **comments, vorbis_comments_scan(char **comments,
const tag_handler *handler, void *handler_ctx); const TagHandler *handler, void *handler_ctx);
Tag * Tag *
vorbis_comments_to_tag(char **comments); vorbis_comments_to_tag(char **comments);
......
...@@ -335,7 +335,7 @@ vorbis_stream_decode(Decoder &decoder, ...@@ -335,7 +335,7 @@ vorbis_stream_decode(Decoder &decoder,
static bool static bool
vorbis_scan_stream(InputStream &is, vorbis_scan_stream(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
VorbisInputStream vis(nullptr, is); VorbisInputStream vis(nullptr, is);
OggVorbis_File vf; OggVorbis_File vf;
......
...@@ -243,7 +243,7 @@ wavpack_replaygain(ReplayGainInfo &rgi, ...@@ -243,7 +243,7 @@ wavpack_replaygain(ReplayGainInfo &rgi,
static void static void
wavpack_scan_tag_item(WavpackContext *wpc, const char *name, wavpack_scan_tag_item(WavpackContext *wpc, const char *name,
TagType type, TagType type,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
char buffer[1024]; char buffer[1024];
int len = WavpackGetTagItem(wpc, name, buffer, sizeof(buffer)); int len = WavpackGetTagItem(wpc, name, buffer, sizeof(buffer));
...@@ -256,7 +256,7 @@ wavpack_scan_tag_item(WavpackContext *wpc, const char *name, ...@@ -256,7 +256,7 @@ wavpack_scan_tag_item(WavpackContext *wpc, const char *name,
static void static void
wavpack_scan_pair(WavpackContext *wpc, const char *name, wavpack_scan_pair(WavpackContext *wpc, const char *name,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
char buffer[8192]; char buffer[8192];
int len = WavpackGetTagItem(wpc, name, buffer, sizeof(buffer)); int len = WavpackGetTagItem(wpc, name, buffer, sizeof(buffer));
...@@ -271,7 +271,7 @@ wavpack_scan_pair(WavpackContext *wpc, const char *name, ...@@ -271,7 +271,7 @@ wavpack_scan_pair(WavpackContext *wpc, const char *name,
*/ */
static bool static bool
wavpack_scan_file(Path path_fs, wavpack_scan_file(Path path_fs,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
char error[ERRORLEN]; char error[ERRORLEN];
WavpackContext *wpc = WavpackOpenFileInput(path_fs.c_str(), error, WavpackContext *wpc = WavpackOpenFileInput(path_fs.c_str(), error,
......
...@@ -123,7 +123,7 @@ wildmidi_file_decode(Decoder &decoder, Path path_fs) ...@@ -123,7 +123,7 @@ wildmidi_file_decode(Decoder &decoder, Path path_fs)
static bool static bool
wildmidi_scan_file(Path path_fs, wildmidi_scan_file(Path path_fs,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
midi *wm = WildMidi_Open(path_fs.c_str()); midi *wm = WildMidi_Open(path_fs.c_str());
if (wm == nullptr) if (wm == nullptr)
......
...@@ -82,7 +82,7 @@ embcue_tag_pair(const char *name, const char *value, void *ctx) ...@@ -82,7 +82,7 @@ embcue_tag_pair(const char *name, const char *value, void *ctx)
playlist->cuesheet = value; playlist->cuesheet = value;
} }
static const struct tag_handler embcue_tag_handler = { static constexpr TagHandler embcue_tag_handler = {
nullptr, nullptr,
nullptr, nullptr,
embcue_tag_pair, embcue_tag_pair,
......
...@@ -77,7 +77,7 @@ ForEachValue(const char *value, const char *end, C &&callback) ...@@ -77,7 +77,7 @@ ForEachValue(const char *value, const char *end, C &&callback)
static bool static bool
tag_ape_import_item(unsigned long flags, tag_ape_import_item(unsigned long flags,
const char *key, StringView value, const char *key, StringView value,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
/* we only care about utf-8 text tags */ /* we only care about utf-8 text tags */
if ((flags & (0x3 << 1)) != 0) if ((flags & (0x3 << 1)) != 0)
...@@ -107,7 +107,7 @@ tag_ape_import_item(unsigned long flags, ...@@ -107,7 +107,7 @@ tag_ape_import_item(unsigned long flags,
bool bool
tag_ape_scan2(InputStream &is, tag_ape_scan2(InputStream &is,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
bool recognized = false; bool recognized = false;
...@@ -124,7 +124,7 @@ tag_ape_scan2(InputStream &is, ...@@ -124,7 +124,7 @@ tag_ape_scan2(InputStream &is,
bool bool
tag_ape_scan2(Path path_fs, tag_ape_scan2(Path path_fs,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
bool recognized = false; bool recognized = false;
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
class Path; class Path;
class InputStream; class InputStream;
struct tag_handler; struct TagHandler;
extern const struct tag_table ape_tags[]; extern const struct tag_table ape_tags[];
...@@ -35,7 +35,7 @@ extern const struct tag_table ape_tags[]; ...@@ -35,7 +35,7 @@ extern const struct tag_table ape_tags[];
*/ */
bool bool
tag_ape_scan2(InputStream &is, tag_ape_scan2(InputStream &is,
const tag_handler *handler, void *handler_ctx); const TagHandler *handler, void *handler_ctx);
/** /**
* Scan the APE tags of a file. * Scan the APE tags of a file.
...@@ -44,6 +44,6 @@ tag_ape_scan2(InputStream &is, ...@@ -44,6 +44,6 @@ tag_ape_scan2(InputStream &is,
*/ */
bool bool
tag_ape_scan2(Path path_fs, tag_ape_scan2(Path path_fs,
const tag_handler *handler, void *handler_ctx); const TagHandler *handler, void *handler_ctx);
#endif #endif
...@@ -51,7 +51,7 @@ add_tag_tag(TagType type, const char *value, void *ctx) ...@@ -51,7 +51,7 @@ add_tag_tag(TagType type, const char *value, void *ctx)
tag.AddItem(type, value); tag.AddItem(type, value);
} }
const struct tag_handler add_tag_handler = { const TagHandler add_tag_handler = {
add_tag_duration, add_tag_duration,
add_tag_tag, add_tag_tag,
nullptr, nullptr,
...@@ -66,7 +66,7 @@ full_tag_pair(const char *name, gcc_unused const char *value, void *ctx) ...@@ -66,7 +66,7 @@ full_tag_pair(const char *name, gcc_unused const char *value, void *ctx)
tag.SetHasPlaylist(true); tag.SetHasPlaylist(true);
} }
const struct tag_handler full_tag_handler = { const TagHandler full_tag_handler = {
add_tag_duration, add_tag_duration,
add_tag_tag, add_tag_tag,
full_tag_pair, full_tag_pair,
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
/** /**
* A callback table for receiving metadata of a song. * A callback table for receiving metadata of a song.
*/ */
struct tag_handler { struct TagHandler {
/** /**
* Declare the duration of a song. Do not call * Declare the duration of a song. Do not call
* this when the duration could not be determined, because * this when the duration could not be determined, because
...@@ -53,7 +53,7 @@ struct tag_handler { ...@@ -53,7 +53,7 @@ struct tag_handler {
}; };
static inline void static inline void
tag_handler_invoke_duration(const struct tag_handler *handler, void *ctx, tag_handler_invoke_duration(const TagHandler *handler, void *ctx,
SongTime duration) SongTime duration)
{ {
assert(handler != nullptr); assert(handler != nullptr);
...@@ -63,7 +63,7 @@ tag_handler_invoke_duration(const struct tag_handler *handler, void *ctx, ...@@ -63,7 +63,7 @@ tag_handler_invoke_duration(const struct tag_handler *handler, void *ctx,
} }
static inline void static inline void
tag_handler_invoke_tag(const struct tag_handler *handler, void *ctx, tag_handler_invoke_tag(const TagHandler *handler, void *ctx,
TagType type, const char *value) TagType type, const char *value)
{ {
assert(handler != nullptr); assert(handler != nullptr);
...@@ -75,7 +75,7 @@ tag_handler_invoke_tag(const struct tag_handler *handler, void *ctx, ...@@ -75,7 +75,7 @@ tag_handler_invoke_tag(const struct tag_handler *handler, void *ctx,
} }
static inline void static inline void
tag_handler_invoke_pair(const struct tag_handler *handler, void *ctx, tag_handler_invoke_pair(const TagHandler *handler, void *ctx,
const char *name, const char *value) const char *name, const char *value)
{ {
assert(handler != nullptr); assert(handler != nullptr);
...@@ -87,16 +87,16 @@ tag_handler_invoke_pair(const struct tag_handler *handler, void *ctx, ...@@ -87,16 +87,16 @@ tag_handler_invoke_pair(const struct tag_handler *handler, void *ctx,
} }
/** /**
* This #tag_handler implementation adds tag values to a #TagBuilder object * This #TagHandler implementation adds tag values to a #TagBuilder object
* (casted from the context pointer). * (casted from the context pointer).
*/ */
extern const struct tag_handler add_tag_handler; extern const TagHandler add_tag_handler;
/** /**
* This #tag_handler implementation adds tag values to a #TagBuilder object * This #TagHandler implementation adds tag values to a #TagBuilder object
* (casted from the context pointer), and supports the has_playlist * (casted from the context pointer), and supports the has_playlist
* attribute. * attribute.
*/ */
extern const struct tag_handler full_tag_handler; extern const TagHandler full_tag_handler;
#endif #endif
...@@ -97,7 +97,7 @@ import_id3_string(const id3_ucs4_t *ucs4) ...@@ -97,7 +97,7 @@ import_id3_string(const id3_ucs4_t *ucs4)
static void static void
tag_id3_import_text_frame(const struct id3_frame *frame, tag_id3_import_text_frame(const struct id3_frame *frame,
TagType type, TagType type,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
if (frame->nfields != 2) if (frame->nfields != 2)
return; return;
...@@ -140,7 +140,7 @@ tag_id3_import_text_frame(const struct id3_frame *frame, ...@@ -140,7 +140,7 @@ tag_id3_import_text_frame(const struct id3_frame *frame,
*/ */
static void static void
tag_id3_import_text(struct id3_tag *tag, const char *id, TagType type, tag_id3_import_text(struct id3_tag *tag, const char *id, TagType type,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
const struct id3_frame *frame; const struct id3_frame *frame;
for (unsigned i = 0; for (unsigned i = 0;
...@@ -160,7 +160,7 @@ tag_id3_import_text(struct id3_tag *tag, const char *id, TagType type, ...@@ -160,7 +160,7 @@ tag_id3_import_text(struct id3_tag *tag, const char *id, TagType type,
*/ */
static void static void
tag_id3_import_comment_frame(const struct id3_frame *frame, TagType type, tag_id3_import_comment_frame(const struct id3_frame *frame, TagType type,
const struct tag_handler *handler, const TagHandler *handler,
void *handler_ctx) void *handler_ctx)
{ {
if (frame->nfields != 4) if (frame->nfields != 4)
...@@ -189,7 +189,7 @@ tag_id3_import_comment_frame(const struct id3_frame *frame, TagType type, ...@@ -189,7 +189,7 @@ tag_id3_import_comment_frame(const struct id3_frame *frame, TagType type,
*/ */
static void static void
tag_id3_import_comment(struct id3_tag *tag, const char *id, TagType type, tag_id3_import_comment(struct id3_tag *tag, const char *id, TagType type,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
const struct id3_frame *frame; const struct id3_frame *frame;
for (unsigned i = 0; for (unsigned i = 0;
...@@ -226,7 +226,7 @@ tag_id3_parse_txxx_name(const char *name) ...@@ -226,7 +226,7 @@ tag_id3_parse_txxx_name(const char *name)
*/ */
static void static void
tag_id3_import_musicbrainz(struct id3_tag *id3_tag, tag_id3_import_musicbrainz(struct id3_tag *id3_tag,
const struct tag_handler *handler, const TagHandler *handler,
void *handler_ctx) void *handler_ctx)
{ {
for (unsigned i = 0;; ++i) { for (unsigned i = 0;; ++i) {
...@@ -262,7 +262,7 @@ tag_id3_import_musicbrainz(struct id3_tag *id3_tag, ...@@ -262,7 +262,7 @@ tag_id3_import_musicbrainz(struct id3_tag *id3_tag,
*/ */
static void static void
tag_id3_import_ufid(struct id3_tag *id3_tag, tag_id3_import_ufid(struct id3_tag *id3_tag,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
for (unsigned i = 0;; ++i) { for (unsigned i = 0;; ++i) {
const id3_frame *frame = id3_tag_findframe(id3_tag, "UFID", i); const id3_frame *frame = id3_tag_findframe(id3_tag, "UFID", i);
...@@ -296,7 +296,7 @@ tag_id3_import_ufid(struct id3_tag *id3_tag, ...@@ -296,7 +296,7 @@ tag_id3_import_ufid(struct id3_tag *id3_tag,
void void
scan_id3_tag(struct id3_tag *tag, scan_id3_tag(struct id3_tag *tag,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
tag_id3_import_text(tag, ID3_FRAME_ARTIST, TAG_ARTIST, tag_id3_import_text(tag, ID3_FRAME_ARTIST, TAG_ARTIST,
handler, handler_ctx); handler, handler_ctx);
...@@ -345,7 +345,7 @@ tag_id3_import(struct id3_tag *tag) ...@@ -345,7 +345,7 @@ tag_id3_import(struct id3_tag *tag)
bool bool
tag_id3_scan(Path path_fs, tag_id3_scan(Path path_fs,
const struct tag_handler *handler, void *handler_ctx) const TagHandler *handler, void *handler_ctx)
{ {
UniqueId3Tag tag; UniqueId3Tag tag;
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#include "Compiler.h" #include "Compiler.h"
class Path; class Path;
struct tag_handler; struct TagHandler;
struct Tag; struct Tag;
struct id3_tag; struct id3_tag;
...@@ -32,7 +32,7 @@ struct id3_tag; ...@@ -32,7 +32,7 @@ struct id3_tag;
bool bool
tag_id3_scan(Path path_fs, tag_id3_scan(Path path_fs,
const tag_handler *handler, void *handler_ctx); const TagHandler *handler, void *handler_ctx);
Tag * Tag *
tag_id3_import(id3_tag *); tag_id3_import(id3_tag *);
...@@ -43,7 +43,7 @@ tag_id3_import(id3_tag *); ...@@ -43,7 +43,7 @@ tag_id3_import(id3_tag *);
*/ */
void void
scan_id3_tag(id3_tag *tag, scan_id3_tag(id3_tag *tag,
const tag_handler *handler, void *handler_ctx); const TagHandler *handler, void *handler_ctx);
#else #else
...@@ -51,7 +51,7 @@ scan_id3_tag(id3_tag *tag, ...@@ -51,7 +51,7 @@ scan_id3_tag(id3_tag *tag,
static inline bool static inline bool
tag_id3_scan(gcc_unused Path path_fs, tag_id3_scan(gcc_unused Path path_fs,
gcc_unused const tag_handler *handler, gcc_unused const TagHandler *handler,
gcc_unused void *handler_ctx) gcc_unused void *handler_ctx)
{ {
return false; return false;
......
...@@ -62,7 +62,7 @@ print_pair(const char *name, const char *value, gcc_unused void *ctx) ...@@ -62,7 +62,7 @@ print_pair(const char *name, const char *value, gcc_unused void *ctx)
printf("\"%s\"=%s\n", name, value); printf("\"%s\"=%s\n", name, value);
} }
static const struct tag_handler print_handler = { static constexpr TagHandler print_handler = {
print_duration, print_duration,
print_tag, print_tag,
print_pair, print_pair,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment