mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-19 15:55:52 +01:00
44 lines
1.5 KiB
C
44 lines
1.5 KiB
C
|
#pragma once
|
||
|
#include "foundation/dispatch.h"
|
||
|
#include "nx/nxstring.h"
|
||
|
#include "foundation/error.h"
|
||
|
#include "metadata/MetadataKeys.h"
|
||
|
#include "nx/nxdata.h"
|
||
|
#include "metadata/types.h"
|
||
|
class NOVTABLE ifc_metadata_editor : public Wasabi2::Dispatchable
|
||
|
{
|
||
|
protected:
|
||
|
ifc_metadata_editor() : Dispatchable(DISPATCHABLE_VERSION) {}
|
||
|
~ifc_metadata_editor() {}
|
||
|
public:
|
||
|
enum
|
||
|
{
|
||
|
INDEX_DEFAULT = -1,
|
||
|
};
|
||
|
|
||
|
int Save() { return MetadataEditor_Save(); }
|
||
|
|
||
|
/* Fields */
|
||
|
int SetField(int field, unsigned int index, nx_string_t value) { return MetadataEditor_SetField(field, index, value); }
|
||
|
int SetInteger(int field, unsigned int index, int64_t value) { return MetadataEditor_SetInteger(field, index, value); }
|
||
|
int SetReal(int field, unsigned int index, double value) { return MetadataEditor_SetReal(field, index, value); }
|
||
|
|
||
|
/* Art */
|
||
|
int SetArtwork(int field, unsigned int index, artwork_t *data, data_flags_t flags=DATA_FLAG_ALL) { return MetadataEditor_SetArtwork(field, index, data, flags); }
|
||
|
|
||
|
/* Binary Data */
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
DISPATCHABLE_VERSION,
|
||
|
};
|
||
|
protected:
|
||
|
virtual int WASABICALL MetadataEditor_Save()=0;
|
||
|
|
||
|
virtual int WASABICALL MetadataEditor_SetField(int field, unsigned int index, nx_string_t value)=0;
|
||
|
virtual int WASABICALL MetadataEditor_SetInteger(int field, unsigned int index, int64_t value)=0;
|
||
|
virtual int WASABICALL MetadataEditor_SetReal(int field, unsigned int index, double value)=0;
|
||
|
|
||
|
virtual int WASABICALL MetadataEditor_SetArtwork(int field, unsigned int index, artwork_t *data, data_flags_t flags)=0;
|
||
|
};
|