blob: b36ecf168cc99f26da815204b84fdfa8a00f876e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#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
|