2023-03-06 14:42:04 +01:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
// Copyright The Music Player Daemon Project
|
2012-02-12 15:20:38 +01:00
|
|
|
|
2013-01-26 01:18:12 +01:00
|
|
|
#ifndef MPD_TAG_FILE_HXX
|
|
|
|
#define MPD_TAG_FILE_HXX
|
2012-02-12 15:20:38 +01:00
|
|
|
|
2018-07-06 22:46:03 +02:00
|
|
|
struct AudioFormat;
|
2013-10-26 15:14:54 +02:00
|
|
|
class Path;
|
2018-07-05 19:07:05 +02:00
|
|
|
class TagHandler;
|
2016-02-26 13:18:32 +01:00
|
|
|
class TagBuilder;
|
2012-02-12 15:20:38 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Scan the tags of a song file. Invokes matching decoder plugins,
|
2018-07-06 22:33:35 +02:00
|
|
|
* but does not fall back to generic scanners (APE and ID3) if no tags
|
|
|
|
* were found (but the file was recognized).
|
2013-12-10 19:32:26 +01:00
|
|
|
*
|
2019-05-21 23:24:44 +02:00
|
|
|
* Throws on error.
|
|
|
|
*
|
2013-12-10 19:32:26 +01:00
|
|
|
* @return true if the file was recognized (even if no metadata was
|
|
|
|
* found)
|
2012-02-12 15:20:38 +01:00
|
|
|
*/
|
|
|
|
bool
|
2019-05-21 23:24:44 +02:00
|
|
|
ScanFileTagsNoGeneric(Path path, TagHandler &handler);
|
2012-02-12 15:20:38 +01:00
|
|
|
|
2016-02-26 13:18:32 +01:00
|
|
|
/**
|
|
|
|
* Scan the tags of a song file. Invokes matching decoder plugins,
|
|
|
|
* and falls back to generic scanners (APE and ID3) if no tags were
|
|
|
|
* found (but the file was recognized).
|
|
|
|
*
|
2019-05-21 23:24:44 +02:00
|
|
|
* Throws on error.
|
|
|
|
*
|
2016-02-26 13:18:32 +01:00
|
|
|
* @return true if the file was recognized (even if no metadata was
|
|
|
|
* found)
|
|
|
|
*/
|
|
|
|
bool
|
2018-07-06 22:46:03 +02:00
|
|
|
ScanFileTagsWithGeneric(Path path, TagBuilder &builder,
|
2019-05-21 23:24:44 +02:00
|
|
|
AudioFormat *audio_format=nullptr);
|
2016-02-26 13:18:32 +01:00
|
|
|
|
2012-02-12 15:20:38 +01:00
|
|
|
#endif
|