123456789101112131415161718192021222324252627282930313233 |
- #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
|