| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | 
							- #ifndef NULLSOFT_GRACENOTE_API_GRACENOTE_H
 
- #define NULLSOFT_GRACENOTE_API_GRACENOTE_H
 
- /* benski>
 
-  * This API is facilitate initialization of Gracenote objects
 
-  * as well as a few common functions
 
-  *
 
-  * It is _NOT_ meant to be a wrapper around the Gracenote API
 
-  * It simply ensure that all plugins create objects with the same
 
-  * configuration, which improves code maintainability and reduces
 
-  * compiled file sizes.
 
-  */
 
- #include <bfc/dispatch.h>
 
- #include "gracenote.h"
 
- class api_decodefile;
 
- class api_gracenote : public Dispatchable
 
- {
 
- protected:
 
- 	api_gracenote() {}
 
- 	~api_gracenote() {}
 
- public:
 
- 	/* These return Gracenote COM objects.  Since COM handles referencing counting,
 
- 	 * you can simply call their Release() method when you are done.
 
- 	 */
 
- 	ICDDBControl2 *GetCDDB();
 
- 	ICDDBMusicIDManager3 *GetMusicID(); // makes a new instance, always
 
- 	//ICddbPlaylist25Mgr *GetPlaylistManager(); // makes a new instance, always
 
- 	//int GetPlaylistManagerWithMLDBManager(ICddbPlaylist25Mgr **playlistMgr, ICddbMLDBManager **mldbMgr); // makes a new instance, always
 
- 	int GetPlaylistManager(ICddbPlaylist25Mgr **playlistMgr, ICddbMLDBManager **mldbMgr); // makes a new instance, always
 
- 	ICddbMLDBManager *GetMLDBManager();
 
- 	void ReleasePlaylistManager();
 
- 	/* Some utility functions */
 
- 	HRESULT CreateFingerprint(ICDDBMusicIDManager *musicID, api_decodefile *decodeApi, ICddbFileInfo *info, const wchar_t *filename, long *killswitch);
 
- 	DISPATCH_CODES
 
- 	{
 
- 		API_GRACENOTE_GETCDDB = 10,
 
- 		API_GRACENOTE_GETMUSICID=20,
 
- 		//API_GRACENOTE_GETPLAYLISTMGR=30,				// Older codes can be removed
 
- 		//API_GRACENOTE_GETPLAYLISTMGRWITHMLDBMGR=40,	// ""
 
- 		API_GRACENOTE_GETPLAYLISTMGR=40,
 
- 		API_GRACENOTE_GETMLDBMGR=50,
 
- 		API_GRACENOTE_CREATEFINGERPRINT=1000,
 
- 	};
 
- };
 
- inline ICDDBControl2 *api_gracenote::GetCDDB()
 
- {
 
- 	return _call(API_GRACENOTE_GETCDDB, (ICDDBControl2 *)0);
 
- }
 
- inline ICDDBMusicIDManager3 *api_gracenote::GetMusicID()
 
- {
 
- 	return _call(API_GRACENOTE_GETMUSICID, (ICDDBMusicIDManager3 *)0);
 
- }
 
- /*inline ICddbPlaylist25Mgr *api_gracenote::GetPlaylistManager()
 
- {
 
- 	return _call(API_GRACENOTE_GETPLAYLISTMGR, (ICddbPlaylist25Mgr *)0);
 
- }
 
- inline int api_gracenote::GetPlaylistManagerWithMLDBManager(ICddbPlaylist25Mgr **playlistMgr, ICddbMLDBManager **mldbMgr)
 
- {
 
- 	return _call(API_GRACENOTE_GETPLAYLISTMGRWITHMLDBMGR, 0, playlistMgr, mldbMgr);
 
- }*/
 
- inline int api_gracenote::GetPlaylistManager(ICddbPlaylist25Mgr **playlistMgr, ICddbMLDBManager **mldbMgr)
 
- {
 
- 	return _call(API_GRACENOTE_GETPLAYLISTMGR, 0, playlistMgr, mldbMgr);
 
- }
 
- inline ICddbMLDBManager *api_gracenote::GetMLDBManager()
 
- {
 
- 	return _call(API_GRACENOTE_GETMLDBMGR, (ICddbMLDBManager *)0);
 
- }
 
- inline HRESULT api_gracenote::CreateFingerprint(ICDDBMusicIDManager *musicID, api_decodefile *decodeApi, ICddbFileInfo *info, const wchar_t *filename, long *killswitch)
 
- {
 
- 	return _call(API_GRACENOTE_CREATEFINGERPRINT, E_FAIL, musicID, decodeApi, info, filename, killswitch);
 
- }
 
- // {877D90AB-FAC1-4366-B3B0-EB177F42CFCE}
 
- static const GUID gracenoteApiGUID =
 
-   { 0x877d90ab, 0xfac1, 0x4366, { 0xb3, 0xb0, 0xeb, 0x17, 0x7f, 0x42, 0xcf, 0xce } };
 
- #endif
 
 
  |