tag/{Id3,Ape}: remove Path overloads
This commit is contained in:
parent
a1e680fec7
commit
cccbcf510a
@ -20,11 +20,7 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "ApeLoader.hxx"
|
#include "ApeLoader.hxx"
|
||||||
#include "system/ByteOrder.hxx"
|
#include "system/ByteOrder.hxx"
|
||||||
#include "fs/Path.hxx"
|
|
||||||
#include "thread/Mutex.hxx"
|
|
||||||
#include "thread/Cond.hxx"
|
|
||||||
#include "input/InputStream.hxx"
|
#include "input/InputStream.hxx"
|
||||||
#include "input/LocalOpen.hxx"
|
|
||||||
#include "util/StringView.hxx"
|
#include "util/StringView.hxx"
|
||||||
#include "util/Error.hxx"
|
#include "util/Error.hxx"
|
||||||
|
|
||||||
@ -108,17 +104,3 @@ tag_ape_scan(InputStream &is, ApeTagCallback callback)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
|
||||||
tag_ape_scan(Path path_fs, ApeTagCallback callback)
|
|
||||||
{
|
|
||||||
Mutex mutex;
|
|
||||||
Cond cond;
|
|
||||||
|
|
||||||
std::unique_ptr<InputStream> is(OpenLocalInputStream(path_fs, mutex,
|
|
||||||
cond, IgnoreError()));
|
|
||||||
if (!is)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return tag_ape_scan(*is, callback);
|
|
||||||
}
|
|
||||||
|
@ -42,14 +42,4 @@ typedef std::function<bool(unsigned long flags, const char *key,
|
|||||||
bool
|
bool
|
||||||
tag_ape_scan(InputStream &is, ApeTagCallback callback);
|
tag_ape_scan(InputStream &is, ApeTagCallback callback);
|
||||||
|
|
||||||
/**
|
|
||||||
* Scans the APE tag values from a file.
|
|
||||||
*
|
|
||||||
* @param path_fs the path of the file in filesystem encoding
|
|
||||||
* @return false if the file could not be opened or if no APE tag is
|
|
||||||
* present
|
|
||||||
*/
|
|
||||||
bool
|
|
||||||
tag_ape_scan(Path path_fs, ApeTagCallback callback);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -21,12 +21,9 @@
|
|||||||
#include "ApeReplayGain.hxx"
|
#include "ApeReplayGain.hxx"
|
||||||
#include "ApeLoader.hxx"
|
#include "ApeLoader.hxx"
|
||||||
#include "ReplayGain.hxx"
|
#include "ReplayGain.hxx"
|
||||||
#include "fs/Path.hxx"
|
|
||||||
#include "util/ASCII.hxx"
|
|
||||||
#include "util/StringView.hxx"
|
#include "util/StringView.hxx"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
replay_gain_ape_callback(unsigned long flags, const char *key,
|
replay_gain_ape_callback(unsigned long flags, const char *key,
|
||||||
@ -63,20 +60,3 @@ replay_gain_ape_read(InputStream &is, ReplayGainInfo &info)
|
|||||||
|
|
||||||
return tag_ape_scan(is, callback) && found;
|
return tag_ape_scan(is, callback) && found;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
|
||||||
replay_gain_ape_read(Path path_fs, ReplayGainInfo &info)
|
|
||||||
{
|
|
||||||
bool found = false;
|
|
||||||
|
|
||||||
auto callback = [&info, &found]
|
|
||||||
(unsigned long flags, const char *key,
|
|
||||||
StringView value) {
|
|
||||||
found |= replay_gain_ape_callback(flags, key,
|
|
||||||
value,
|
|
||||||
info);
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
||||||
return tag_ape_scan(path_fs, callback) && found;
|
|
||||||
}
|
|
||||||
|
@ -23,13 +23,9 @@
|
|||||||
#include "check.h"
|
#include "check.h"
|
||||||
|
|
||||||
class InputStream;
|
class InputStream;
|
||||||
class Path;
|
|
||||||
struct ReplayGainInfo;
|
struct ReplayGainInfo;
|
||||||
|
|
||||||
bool
|
bool
|
||||||
replay_gain_ape_read(InputStream &is, ReplayGainInfo &info);
|
replay_gain_ape_read(InputStream &is, ReplayGainInfo &info);
|
||||||
|
|
||||||
bool
|
|
||||||
replay_gain_ape_read(Path path_fs, ReplayGainInfo &info);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
#include "Tag.hxx"
|
#include "Tag.hxx"
|
||||||
#include "TagTable.hxx"
|
#include "TagTable.hxx"
|
||||||
#include "TagHandler.hxx"
|
#include "TagHandler.hxx"
|
||||||
#include "fs/Path.hxx"
|
|
||||||
#include "util/StringView.hxx"
|
#include "util/StringView.hxx"
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
@ -121,20 +120,3 @@ tag_ape_scan2(InputStream &is,
|
|||||||
|
|
||||||
return tag_ape_scan(is, callback) && recognized;
|
return tag_ape_scan(is, callback) && recognized;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
|
||||||
tag_ape_scan2(Path path_fs,
|
|
||||||
const TagHandler &handler, void *handler_ctx)
|
|
||||||
{
|
|
||||||
bool recognized = false;
|
|
||||||
|
|
||||||
auto callback = [handler, handler_ctx, &recognized]
|
|
||||||
(unsigned long flags, const char *key,
|
|
||||||
StringView value) {
|
|
||||||
recognized |= tag_ape_import_item(flags, key, value,
|
|
||||||
handler, handler_ctx);
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
||||||
return tag_ape_scan(path_fs, callback) && recognized;
|
|
||||||
}
|
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
#include "TagTable.hxx"
|
#include "TagTable.hxx"
|
||||||
|
|
||||||
class Path;
|
|
||||||
class InputStream;
|
class InputStream;
|
||||||
struct TagHandler;
|
struct TagHandler;
|
||||||
|
|
||||||
@ -37,13 +36,4 @@ bool
|
|||||||
tag_ape_scan2(InputStream &is,
|
tag_ape_scan2(InputStream &is,
|
||||||
const TagHandler &handler, void *handler_ctx);
|
const TagHandler &handler, void *handler_ctx);
|
||||||
|
|
||||||
/**
|
|
||||||
* Scan the APE tags of a file.
|
|
||||||
*
|
|
||||||
* @param path_fs the path of the file in filesystem encoding
|
|
||||||
*/
|
|
||||||
bool
|
|
||||||
tag_ape_scan2(Path path_fs,
|
|
||||||
const TagHandler &handler, void *handler_ctx);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -24,11 +24,7 @@
|
|||||||
#include "Log.hxx"
|
#include "Log.hxx"
|
||||||
#include "Riff.hxx"
|
#include "Riff.hxx"
|
||||||
#include "Aiff.hxx"
|
#include "Aiff.hxx"
|
||||||
#include "fs/Path.hxx"
|
|
||||||
#include "thread/Mutex.hxx"
|
|
||||||
#include "thread/Cond.hxx"
|
|
||||||
#include "input/InputStream.hxx"
|
#include "input/InputStream.hxx"
|
||||||
#include "input/LocalOpen.hxx"
|
|
||||||
|
|
||||||
#include <id3tag.h>
|
#include <id3tag.h>
|
||||||
|
|
||||||
@ -225,17 +221,3 @@ tag_id3_load(InputStream &is)
|
|||||||
|
|
||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
UniqueId3Tag
|
|
||||||
tag_id3_load(Path path_fs, Error &error)
|
|
||||||
{
|
|
||||||
Mutex mutex;
|
|
||||||
Cond cond;
|
|
||||||
|
|
||||||
std::unique_ptr<InputStream> is(OpenLocalInputStream(path_fs, mutex,
|
|
||||||
cond, error));
|
|
||||||
if (!is)
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
return tag_id3_load(*is);
|
|
||||||
}
|
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
#include "check.h"
|
#include "check.h"
|
||||||
#include "Id3Unique.hxx"
|
#include "Id3Unique.hxx"
|
||||||
|
|
||||||
class Path;
|
|
||||||
class Error;
|
class Error;
|
||||||
class InputStream;
|
class InputStream;
|
||||||
|
|
||||||
@ -36,13 +35,4 @@ class InputStream;
|
|||||||
UniqueId3Tag
|
UniqueId3Tag
|
||||||
tag_id3_load(InputStream &is);
|
tag_id3_load(InputStream &is);
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the ID3 tags from the file into a libid3tag object.
|
|
||||||
*
|
|
||||||
* @return nullptr on error or if no ID3 tag was found in the file (no
|
|
||||||
* Error will be set)
|
|
||||||
*/
|
|
||||||
UniqueId3Tag
|
|
||||||
tag_id3_load(Path path_fs, Error &error);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -359,27 +359,3 @@ tag_id3_scan(InputStream &is,
|
|||||||
scan_id3_tag(tag.get(), handler, handler_ctx);
|
scan_id3_tag(tag.get(), handler, handler_ctx);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
|
||||||
tag_id3_scan(Path path_fs,
|
|
||||||
const TagHandler &handler, void *handler_ctx)
|
|
||||||
{
|
|
||||||
UniqueId3Tag tag;
|
|
||||||
|
|
||||||
try {
|
|
||||||
Error error;
|
|
||||||
tag = tag_id3_load(path_fs, error);
|
|
||||||
if (tag == nullptr) {
|
|
||||||
if (error.IsDefined())
|
|
||||||
LogError(error);
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} catch (const std::runtime_error &e) {
|
|
||||||
LogError(e);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
scan_id3_tag(tag.get(), handler, handler_ctx);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
#include "Compiler.h"
|
#include "Compiler.h"
|
||||||
|
|
||||||
class InputStream;
|
class InputStream;
|
||||||
class Path;
|
|
||||||
struct TagHandler;
|
struct TagHandler;
|
||||||
struct Tag;
|
struct Tag;
|
||||||
struct id3_tag;
|
struct id3_tag;
|
||||||
@ -35,10 +34,6 @@ bool
|
|||||||
tag_id3_scan(InputStream &is,
|
tag_id3_scan(InputStream &is,
|
||||||
const TagHandler &handler, void *handler_ctx);
|
const TagHandler &handler, void *handler_ctx);
|
||||||
|
|
||||||
bool
|
|
||||||
tag_id3_scan(Path path_fs,
|
|
||||||
const TagHandler &handler, void *handler_ctx);
|
|
||||||
|
|
||||||
Tag *
|
Tag *
|
||||||
tag_id3_import(id3_tag *);
|
tag_id3_import(id3_tag *);
|
||||||
|
|
||||||
@ -52,8 +47,6 @@ scan_id3_tag(id3_tag *tag,
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#include "fs/Path.hxx"
|
|
||||||
|
|
||||||
static inline bool
|
static inline bool
|
||||||
tag_id3_scan(gcc_unused InputStream &is,
|
tag_id3_scan(gcc_unused InputStream &is,
|
||||||
gcc_unused const TagHandler &handler,
|
gcc_unused const TagHandler &handler,
|
||||||
@ -62,14 +55,6 @@ tag_id3_scan(gcc_unused InputStream &is,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool
|
|
||||||
tag_id3_scan(gcc_unused Path path_fs,
|
|
||||||
gcc_unused const TagHandler &handler,
|
|
||||||
gcc_unused void *handler_ctx)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -19,8 +19,14 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "tag/ApeLoader.hxx"
|
#include "tag/ApeLoader.hxx"
|
||||||
|
#include "thread/Mutex.hxx"
|
||||||
|
#include "thread/Cond.hxx"
|
||||||
#include "fs/Path.hxx"
|
#include "fs/Path.hxx"
|
||||||
|
#include "Log.hxx"
|
||||||
|
#include "input/InputStream.hxx"
|
||||||
|
#include "input/LocalOpen.hxx"
|
||||||
#include "util/StringView.hxx"
|
#include "util/StringView.hxx"
|
||||||
|
#include "util/Error.hxx"
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -55,7 +61,18 @@ main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
const Path path = Path::FromFS(argv[1]);
|
const Path path = Path::FromFS(argv[1]);
|
||||||
if (!tag_ape_scan(path, MyApeTagCallback)) {
|
|
||||||
|
Mutex mutex;
|
||||||
|
Cond cond;
|
||||||
|
|
||||||
|
Error error;
|
||||||
|
auto is = OpenLocalInputStream(path, mutex, cond, error);
|
||||||
|
if (!is) {
|
||||||
|
LogError(error);
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!tag_ape_scan(*is, MyApeTagCallback)) {
|
||||||
fprintf(stderr, "error\n");
|
fprintf(stderr, "error\n");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
@ -22,8 +22,12 @@
|
|||||||
#include "tag/TagRva2.hxx"
|
#include "tag/TagRva2.hxx"
|
||||||
#include "ReplayGainInfo.hxx"
|
#include "ReplayGainInfo.hxx"
|
||||||
#include "config/ConfigGlobal.hxx"
|
#include "config/ConfigGlobal.hxx"
|
||||||
|
#include "thread/Mutex.hxx"
|
||||||
|
#include "thread/Cond.hxx"
|
||||||
#include "util/Error.hxx"
|
#include "util/Error.hxx"
|
||||||
#include "fs/Path.hxx"
|
#include "fs/Path.hxx"
|
||||||
|
#include "input/InputStream.hxx"
|
||||||
|
#include "input/LocalOpen.hxx"
|
||||||
#include "Log.hxx"
|
#include "Log.hxx"
|
||||||
|
|
||||||
#include <id3tag.h>
|
#include <id3tag.h>
|
||||||
@ -54,16 +58,21 @@ int main(int argc, char **argv)
|
|||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *path = argv[1];
|
const Path path = Path::FromFS(argv[1]);
|
||||||
|
|
||||||
|
Mutex mutex;
|
||||||
|
Cond cond;
|
||||||
|
|
||||||
Error error;
|
Error error;
|
||||||
const auto tag = tag_id3_load(Path::FromFS(path), error);
|
auto is = OpenLocalInputStream(path, mutex, cond, error);
|
||||||
if (tag == NULL) {
|
if (!is) {
|
||||||
if (error.IsDefined())
|
|
||||||
LogError(error);
|
LogError(error);
|
||||||
else
|
return EXIT_FAILURE;
|
||||||
fprintf(stderr, "No ID3 tag found\n");
|
}
|
||||||
|
|
||||||
|
const auto tag = tag_id3_load(*is);
|
||||||
|
if (tag == NULL) {
|
||||||
|
fprintf(stderr, "No ID3 tag found\n");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user