Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
48
Src/Plugins/Input/in_flac/Metadata.h
Normal file
48
Src/Plugins/Input/in_flac/Metadata.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
#ifndef NULLSOFT_IN_FLAC_METADATA_H
|
||||
#define NULLSOFT_IN_FLAC_METADATA_H
|
||||
|
||||
#include <FLAC/all.h>
|
||||
|
||||
class FLACMetadata
|
||||
{
|
||||
public:
|
||||
FLACMetadata();
|
||||
~FLACMetadata();
|
||||
bool Open(const wchar_t *filename, bool optimize=false);
|
||||
void Reset();
|
||||
const char *GetMetadata(const char *tag);
|
||||
void SetMetadata(const char *tag, const char *value);
|
||||
void RemoveMetadata(const char *tag);
|
||||
void RemoveMetadata(int n);
|
||||
bool Save(const wchar_t *filename);
|
||||
const FLAC__StreamMetadata_StreamInfo *GetStreamInfo();
|
||||
__int64 GetFileSize() { return filesize; }
|
||||
bool GetLengthMilliseconds(unsigned __int64 *length);
|
||||
int GetNumMetadataItems();
|
||||
const char* EnumMetadata(int n, char *tag, int len);
|
||||
void SetTag(int n, const char *tag);
|
||||
|
||||
bool GetPicture(FLAC__StreamMetadata_Picture_Type type, void **data, size_t *len, wchar_t **mimeType);
|
||||
bool GetIndexPicture(int index, FLAC__StreamMetadata_Picture_Type *type, void **data, size_t *len, wchar_t **mimeType);
|
||||
bool RemovePicture(FLAC__StreamMetadata_Picture_Type type);
|
||||
bool SetPicture(FLAC__StreamMetadata_Picture_Type type, void *data, size_t len, const wchar_t *mimeType, int width, int height);
|
||||
private:
|
||||
FLAC__Metadata_Chain *chain;
|
||||
FLAC__Metadata_Iterator *itr;
|
||||
FLAC__StreamMetadata *block;
|
||||
FLAC__StreamMetadata *streamInfo;
|
||||
__int64 filesize;
|
||||
};
|
||||
|
||||
class Info
|
||||
{
|
||||
public:
|
||||
FLACMetadata metadata;
|
||||
const wchar_t *filename;
|
||||
};
|
||||
|
||||
extern FLACMetadata *getMetadata;
|
||||
extern wchar_t *getFileInfoFn;
|
||||
extern Info *info;
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue