From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Winamp/Metadata.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Src/Winamp/Metadata.h (limited to 'Src/Winamp/Metadata.h') diff --git a/Src/Winamp/Metadata.h b/Src/Winamp/Metadata.h new file mode 100644 index 00000000..5566a259 --- /dev/null +++ b/Src/Winamp/Metadata.h @@ -0,0 +1,33 @@ +#ifndef NULLSOFT_WINAMP_METADATA_H +#define NULLSOFT_WINAMP_METADATA_H +/** + ** Author: Ben Allison + ** original date: April 10, 2006 + */ +#include "../Agave/Metadata/api_metadata.h" +#include +#include "../nu/AutoLock.h" +class Metadata : public api_metadata +{ +public: + static const char *getServiceName() { return "Metadata API"; } + static const GUID getServiceGuid() { return api_metadataGUID; } +public: + ~Metadata(); + int GetExtendedFileInfo(const wchar_t *filename, const wchar_t *tag, wchar_t *data, size_t dataLength); + int SetExtendedFileInfo(const wchar_t *filename, const wchar_t *tag, const wchar_t *data); + int WriteExtendedFileInfo(const wchar_t *filename); + svc_metaTag *GetMetaTagObject(const wchar_t *filename, int flags, GUID *exclude, int numExcludes); + svc_metaTag *GetMetaTagObjectByGUID(const GUID metaTagGuid); + uint32_t GenerateKey(const wchar_t *field); +protected: + RECVS_DISPATCH; + +private: + // this is hella slow but it'll get the ball rolling on implementing this + std::vector keys; + Nullsoft::Utility::LockGuard keyGuard; +}; + +extern Metadata *metadata; +#endif \ No newline at end of file -- cgit