33 lines
1.0 KiB
C++
33 lines
1.0 KiB
C++
#ifndef NULLSOFT_GRACENOTE_GRACENOTEAPI_H
|
|
#define NULLSOFT_GRACENOTE_GRACENOTEAPI_H
|
|
|
|
#include "api_gracenote.h"
|
|
#include "../nu/AutoLock.h"
|
|
|
|
class GracenoteApi : public api_gracenote
|
|
{
|
|
public:
|
|
GracenoteApi();
|
|
~GracenoteApi();
|
|
ICDDBControl2 *GetCDDB();
|
|
ICDDBMusicIDManager3 *GetMusicID(); // TODO: might need to instantiate separate objects because each manager can only have 1 event handler
|
|
//ICddbPlaylist25Mgr *GetPlaylistManager();
|
|
//int GetPlaylistManagerWithMLDBManager(ICddbPlaylist25Mgr **playlistMg, ICddbMLDBManager **mldbMgr);
|
|
int GetPlaylistManager(ICddbPlaylist25Mgr **playlistMg, ICddbMLDBManager **mldbMgr);
|
|
ICddbMLDBManager *GetMLDBManager();
|
|
void Close();
|
|
|
|
/* Some utility functions */
|
|
HRESULT CreateFingerprint(ICDDBMusicIDManager *musicID, api_decodefile *decodeApi, ICddbFileInfo *info, const wchar_t *filename, long *killswitch);
|
|
private:
|
|
bool cddbInitialized, playlistInitialized;
|
|
|
|
ICDDBControl2 *pCDDBControl;
|
|
|
|
Nullsoft::Utility::LockGuard cddbGuard;
|
|
protected:
|
|
RECVS_DISPATCH;
|
|
};
|
|
|
|
extern GracenoteApi gracenoteApi;
|
|
#endif |