cddbmusicidwinamp.tlh 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633
  1. // Created by Microsoft (R) C/C++ Compiler Version 15.00.30729.01 (dfa22718).
  2. //
  3. // f:\sandbox\20131028_225933\winamp\release\cddbmusicidwinamp.tlh
  4. //
  5. // C++ source equivalent of Win32 type library ../gracenote/CddbMusicIDWinamp.dll
  6. // compiler-generated file created 10/28/13 at 23:18:29 - DO NOT EDIT!
  7. //
  8. // Cross-referenced type libraries:
  9. //
  10. //
  11. #pragma once
  12. #pragma pack(push, 8)
  13. #include <comdef.h>
  14. //
  15. // Forward references and typedefs
  16. //
  17. struct __declspec(uuid("05d652c1-7997-40f9-982d-347b8e29f8fb"))
  18. /* LIBID */ __CDDBMUSICIDLibNSWinamp;
  19. enum CddbMusicIDOptions;
  20. enum CddbMusicIDMatchCode;
  21. enum FileInfoListMatchCode;
  22. enum CddbMusicIDStatus;
  23. enum CDDBMusicID_LookupMode;
  24. enum MusicIDThreadPriority;
  25. enum CDDBMusicID_Results;
  26. enum MusicIDMatchType;
  27. struct __declspec(uuid("46ac5819-1fa8-44a1-9954-270ea2cf0dca"))
  28. /* dispinterface */ _ICDDBMusicIDManagerEvents;
  29. struct __declspec(uuid("0aa9fdfb-80d5-41bf-b383-7aab869e6b0e"))
  30. /* dual interface */ ICddbFileInfo;
  31. struct __declspec(uuid("cca2a70a-bcbc-49e9-8ef4-04dabcd68b81"))
  32. /* dual interface */ ICddbMusicIDFingerprint;
  33. struct __declspec(uuid("db104e47-62bb-4933-8f37-8984228e6938"))
  34. /* dual interface */ IFingerprintImpl;
  35. struct __declspec(uuid("099a10ed-517b-4387-a12e-af3fe90b5856"))
  36. /* dual interface */ ICddbFileInfoList;
  37. struct __declspec(uuid("5000f09e-8483-4deb-8345-4e778a9fe804"))
  38. /* dual interface */ ICddbFileInfoLists;
  39. struct __declspec(uuid("6131c03d-97d0-49ca-8eb1-5fa0d10ec072"))
  40. /* dual interface */ ICDDBMusicIDManager;
  41. struct __declspec(uuid("ec0e5dd3-8bab-4671-85a1-68bf93cb35e4"))
  42. /* dual interface */ ICddbMusicIDFingerprinter;
  43. struct __declspec(uuid("26b263b3-57cd-42fd-aa48-e505b4780055"))
  44. /* dual interface */ ICddbMusicIDFingerprinter2;
  45. struct __declspec(uuid("dc6da11f-ca85-4658-9216-2ad353cfc33b"))
  46. /* dual interface */ ICddbFileInfo2;
  47. struct __declspec(uuid("3b4a2b07-aafe-4931-a7f9-4c37729633ca"))
  48. /* dual interface */ ICddbFileInfo2_6;
  49. struct __declspec(uuid("18d6bc7c-4cbc-4b6a-9550-2b176438b87c"))
  50. /* dual interface */ ICddbFileInfoList2_6;
  51. struct __declspec(uuid("281bfe03-1503-4c60-9678-173c8b4138cc"))
  52. /* dual interface */ ICDDBMusicIDManager2;
  53. struct __declspec(uuid("5797bf13-a4e7-4170-ae22-5f06b2823e04"))
  54. /* dual interface */ ICDDBMusicIDManager3;
  55. struct __declspec(uuid("43b1b346-2394-46e7-b1ac-ea8d93124f68"))
  56. /* dual interface */ ICddbMusicIDSettings;
  57. struct /* coclass */ CDDBNSWinampMusicIDManager;
  58. struct /* coclass */ CddbMusicIDFingerprinter;
  59. struct /* coclass */ CddbMusicIDFingerprint;
  60. struct /* coclass */ CddbFileInfo;
  61. struct /* coclass */ CddbFileInfoList;
  62. struct /* coclass */ CddbFileInfoLists;
  63. struct /* coclass */ CddbMusicIDSettings;
  64. //
  65. // Smart pointer typedef declarations
  66. //
  67. _COM_SMARTPTR_TYPEDEF(_ICDDBMusicIDManagerEvents, __uuidof(_ICDDBMusicIDManagerEvents));
  68. _COM_SMARTPTR_TYPEDEF(IFingerprintImpl, __uuidof(IFingerprintImpl));
  69. _COM_SMARTPTR_TYPEDEF(ICddbMusicIDFingerprint, __uuidof(ICddbMusicIDFingerprint));
  70. _COM_SMARTPTR_TYPEDEF(ICddbFileInfo, __uuidof(ICddbFileInfo));
  71. _COM_SMARTPTR_TYPEDEF(ICddbFileInfoList, __uuidof(ICddbFileInfoList));
  72. _COM_SMARTPTR_TYPEDEF(ICddbFileInfoLists, __uuidof(ICddbFileInfoLists));
  73. _COM_SMARTPTR_TYPEDEF(ICddbMusicIDFingerprinter, __uuidof(ICddbMusicIDFingerprinter));
  74. _COM_SMARTPTR_TYPEDEF(ICDDBMusicIDManager, __uuidof(ICDDBMusicIDManager));
  75. _COM_SMARTPTR_TYPEDEF(ICddbMusicIDFingerprinter2, __uuidof(ICddbMusicIDFingerprinter2));
  76. _COM_SMARTPTR_TYPEDEF(ICddbFileInfo2, __uuidof(ICddbFileInfo2));
  77. _COM_SMARTPTR_TYPEDEF(ICddbFileInfo2_6, __uuidof(ICddbFileInfo2_6));
  78. _COM_SMARTPTR_TYPEDEF(ICddbFileInfoList2_6, __uuidof(ICddbFileInfoList2_6));
  79. _COM_SMARTPTR_TYPEDEF(ICDDBMusicIDManager2, __uuidof(ICDDBMusicIDManager2));
  80. _COM_SMARTPTR_TYPEDEF(ICddbMusicIDSettings, __uuidof(ICddbMusicIDSettings));
  81. _COM_SMARTPTR_TYPEDEF(ICDDBMusicIDManager3, __uuidof(ICDDBMusicIDManager3));
  82. //
  83. // Type library items
  84. //
  85. enum CddbMusicIDOptions
  86. {
  87. MUSICID_DEFAULT = 0,
  88. MUSICID_LOOKUP_ASYNC = 1,
  89. MUSICID_RETURN_SINGLE = 16,
  90. MUSICID_RETURN_EXACT_ONLY = 16,
  91. MUSICID_RETURN_ALL = 32,
  92. MUSICID_GET_FP_FROM_APP = 256,
  93. MUSICID_GET_FP_INTERNAL = 512,
  94. MUSICID_GET_TAG_FROM_APP = 4096,
  95. MUSICID_GET_TAG_INTERNAL = 8192,
  96. MUSICID_PREFER_WF_MATCHES = 16384,
  97. MUSICID_DISABLE_TEXT_LOOKUPS = 32768,
  98. MUSICID_DISABLE_WF_QUERIES = 65536,
  99. MUSICID_DISABLE_TEXT_QUERIES = 131072,
  100. MUSICID_PREFER_WF_QUERIES = 262144,
  101. MUSICID_EXTRA_TEXT_QUERIES = 524288,
  102. MUSICID_DISABLE_FILENAME_PARSING = 1048576,
  103. MUSICID_HIGH_CONFIDENCE_RESULTS = 2097152
  104. };
  105. enum CddbMusicIDMatchCode
  106. {
  107. MUSICID_MATCH_NONE = 0,
  108. MUSICID_MATCH_EXACT = 1,
  109. MUSICID_MATCH_FUZZY = 2,
  110. MUSICID_MATCH_ALL = 3,
  111. MUSICID_MATCH_USER = 4,
  112. MUSICID_MATCH_ERROR = 5,
  113. MUSICID_MATCH_ALBUM_ASSOCIATED = 6
  114. };
  115. enum FileInfoListMatchCode
  116. {
  117. LIST_MATCH_ERROR = 1,
  118. LIST_MATCH_NONE = 2,
  119. LIST_MATCH_ALBUM_SINGLE = 3,
  120. LIST_MATCH_ALBUM_EXACT = 3,
  121. LIST_MATCH_ALBUM_MULTIPLE = 4,
  122. LIST_MATCH_TRACK_SINGLE = 5,
  123. LIST_MATCH_TRACK_EXACT = 5,
  124. LIST_MATCH_TRACK_MULTIPLE = 6,
  125. LIST_MATCH_LIBRARY_SINGLE = 7,
  126. LIST_MATCH_ALBUM_SINGLE_ASSOCIATED = 8
  127. };
  128. enum CddbMusicIDStatus
  129. {
  130. STATUS_MUSICID_Error = 1,
  131. STATUS_MUSICID_ProcessingFile = 2,
  132. STATUS_MUSICID_LookingUpWaveForm = 3,
  133. STATUS_MUSICID_LookingUpText = 4,
  134. STATUS_MUSICID_CheckForAbort = 5,
  135. STATUS_ALBUMID_Querying = 6,
  136. STATUS_ALBUMID_Queried = 7,
  137. STATUS_ALBUMID_Processing = 8,
  138. STATUS_ALBUMID_Processed = 9,
  139. STATUS_MUSICID_AnalyzingWaveForm = 10,
  140. STATUS_ALBUMID_QueryingWF = 11
  141. };
  142. enum CDDBMusicID_LookupMode
  143. {
  144. WAVEFORM_LOOKUP = 1,
  145. TEXT_LOOKUP = 2,
  146. TEXT_LOCAL = 4,
  147. TEXT_HINT_MULTI_EXACT = 16,
  148. TEXT_HINT_MULTI_FUZZY = 32,
  149. TEXT_HINT_FUZZY = 64,
  150. TEXT_HINT_ALL = 240
  151. };
  152. enum MusicIDThreadPriority
  153. {
  154. MUSICID_THREAD_PRIORITY_HIGHEST = 1,
  155. MUSICID_THREAD_PRIORITY_ABOVE_NORMAL = 2,
  156. MUSICID_THREAD_PRIORITY_NORMAL = 3,
  157. MUSICID_THREAD_PRIORITY_BELOW_NORMAL = 4,
  158. MUSICID_THREAD_PRIORITY_LOWEST = 5,
  159. MUSICID_THREAD_PRIORITY_IDLE = 6
  160. };
  161. enum CDDBMusicID_Results
  162. {
  163. ERR_DomainMusicID = 766,
  164. CDDBMusicID_FPAcquired = 1,
  165. CDDBMusicID_FPNotAcquired = 2,
  166. CDDBMusicID_UnsupportedFileFormat = -1023541247,
  167. CDDBMusicID_UnsupportedAudioFormat = -1023541246,
  168. CDDBMusicID_UnknownAlgorithm = -1023541245,
  169. CDDBMusicID_UnknownSetting = -1023541244,
  170. CDDBMusicID_CDDBControlVersion = -1023541243,
  171. CDDBMusicID_TextHintsFailed = -1023541242,
  172. CDDBMusicID_NoTextAvailable = -1023541241
  173. };
  174. enum MusicIDMatchType
  175. {
  176. MATCH_TYPE_TAGID = 1,
  177. MATCH_TYPE_ITUNESID = 2,
  178. MATCH_TYPE_ALBUM_ASSOCIATED = 3,
  179. MATCH_TYPE_WF_HINT = 4,
  180. MATCH_TYPE_WF = 5,
  181. MATCH_TYPE_TXT_ON_WF = 6,
  182. MATCH_TYPE_TXT_HINT = 7,
  183. MATCH_TYPE_TXT = 8,
  184. MATCH_TYPE_WF_TXT_HINT = 9,
  185. MATCH_TYPE_WF_TXT = 10,
  186. MATCH_TYPE_ALBUM_AND_TITLE = 11,
  187. MATCH_TYPE_TXT_ALBUM_LEVEL = 12,
  188. MATCH_TYPE_UNKNOWN = 13,
  189. MATCH_TYPE_NONE = 14
  190. };
  191. struct __declspec(uuid("46ac5819-1fa8-44a1-9954-270ea2cf0dca"))
  192. _ICDDBMusicIDManagerEvents : IDispatch
  193. {};
  194. struct __declspec(uuid("db104e47-62bb-4933-8f37-8984228e6938"))
  195. IFingerprintImpl : IDispatch
  196. {
  197. //
  198. // Raw methods provided by interface
  199. //
  200. virtual HRESULT __stdcall SetFPData (
  201. /*[in]*/ char * data,
  202. /*[in]*/ long length ) = 0;
  203. virtual HRESULT __stdcall get_Type (
  204. /*[out,retval]*/ BSTR * pVal ) = 0;
  205. virtual HRESULT __stdcall get_Version (
  206. /*[out,retval]*/ BSTR * pVal ) = 0;
  207. virtual HRESULT __stdcall get_Signature (
  208. /*[out,retval]*/ BSTR * pVal ) = 0;
  209. virtual HRESULT __stdcall get_Channels (
  210. /*[out,retval]*/ BSTR * pVal ) = 0;
  211. virtual HRESULT __stdcall get_SampleRate (
  212. /*[out,retval]*/ BSTR * pVal ) = 0;
  213. virtual HRESULT __stdcall get_SampleSize (
  214. /*[out,retval]*/ BSTR * pVal ) = 0;
  215. virtual HRESULT __stdcall get_Offset (
  216. /*[out,retval]*/ BSTR * pVal ) = 0;
  217. virtual HRESULT __stdcall get_Duration (
  218. /*[out,retval]*/ BSTR * pVal ) = 0;
  219. virtual HRESULT __stdcall get_Units (
  220. /*[out,retval]*/ BSTR * pVal ) = 0;
  221. };
  222. struct __declspec(uuid("cca2a70a-bcbc-49e9-8ef4-04dabcd68b81"))
  223. ICddbMusicIDFingerprint : IFingerprintImpl
  224. {};
  225. struct __declspec(uuid("0aa9fdfb-80d5-41bf-b383-7aab869e6b0e"))
  226. ICddbFileInfo : IDispatch
  227. {
  228. //
  229. // Raw methods provided by interface
  230. //
  231. virtual HRESULT __stdcall get_Filename (
  232. /*[out,retval]*/ BSTR * pVal ) = 0;
  233. virtual HRESULT __stdcall put_Filename (
  234. /*[in]*/ BSTR pVal ) = 0;
  235. virtual HRESULT __stdcall get_Fingerprint (
  236. /*[out,retval]*/ struct ICddbMusicIDFingerprint * * pVal ) = 0;
  237. virtual HRESULT __stdcall put_Fingerprint (
  238. /*[in]*/ struct ICddbMusicIDFingerprint * pVal ) = 0;
  239. virtual HRESULT __stdcall get_TrackNum (
  240. /*[out,retval]*/ long * pVal ) = 0;
  241. virtual HRESULT __stdcall put_TrackNum (
  242. /*[in]*/ long pVal ) = 0;
  243. virtual HRESULT __stdcall get_TrackCount (
  244. /*[out,retval]*/ long * pVal ) = 0;
  245. virtual HRESULT __stdcall put_TrackCount (
  246. /*[in]*/ long pVal ) = 0;
  247. virtual HRESULT __stdcall get_Tag (
  248. /*[out,retval]*/ struct ICddbFileTag * * pVal ) = 0;
  249. virtual HRESULT __stdcall put_Tag (
  250. /*[in]*/ struct ICddbFileTag * pVal ) = 0;
  251. virtual HRESULT __stdcall get_Disc (
  252. /*[out,retval]*/ struct ICddbDisc2 * * pVal ) = 0;
  253. virtual HRESULT __stdcall put_Disc (
  254. /*[in]*/ struct ICddbDisc2 * pVal ) = 0;
  255. virtual HRESULT __stdcall get_MusicIDMatchCode (
  256. /*[out,retval]*/ enum CddbMusicIDMatchCode * pVal ) = 0;
  257. virtual HRESULT __stdcall put_MusicIDMatchCode (
  258. /*[in]*/ enum CddbMusicIDMatchCode pVal ) = 0;
  259. };
  260. struct __declspec(uuid("099a10ed-517b-4387-a12e-af3fe90b5856"))
  261. ICddbFileInfoList : IDispatch
  262. {
  263. //
  264. // Raw methods provided by interface
  265. //
  266. virtual HRESULT __stdcall GetFileInfo (
  267. /*[in]*/ long Index,
  268. /*[out,retval]*/ struct ICddbFileInfo * * pVal ) = 0;
  269. virtual HRESULT __stdcall AddFileInfo (
  270. /*[in]*/ struct ICddbFileInfo * pFileInfo ) = 0;
  271. virtual HRESULT __stdcall get_Count (
  272. /*[out,retval]*/ long * pVal ) = 0;
  273. virtual HRESULT __stdcall AddFileInfoFields (
  274. /*[in]*/ BSTR Filename,
  275. /*[in]*/ struct ICddbMusicIDFingerprint * pFingerprint,
  276. /*[in]*/ long TrackCount,
  277. /*[in]*/ long TrackNum,
  278. /*[in]*/ struct ICddbFileTag * pTag,
  279. /*[in]*/ struct ICddbDisc2 * pDisc,
  280. /*[in]*/ long matchCode ) = 0;
  281. virtual HRESULT __stdcall GetFileInfoFields (
  282. /*[in]*/ long Index,
  283. /*[out]*/ BSTR * Filename,
  284. /*[out]*/ struct ICddbMusicIDFingerprint * * ppFingerprint,
  285. /*[out]*/ long * pTrackCount,
  286. /*[out]*/ long * pTrackNum,
  287. /*[out]*/ struct ICddbFileTag * * ppTag,
  288. /*[out]*/ struct ICddbDisc2 * * ppDisc,
  289. /*[out]*/ long * pMatchCode ) = 0;
  290. virtual HRESULT __stdcall GetListMatchCode (
  291. /*[out]*/ long * listMatchCode ) = 0;
  292. virtual HRESULT __stdcall SetListMatchCode (
  293. /*[in]*/ long match_code ) = 0;
  294. virtual HRESULT __stdcall RemoveFileInfo (
  295. /*[in]*/ struct ICddbFileInfo * pInfo ) = 0;
  296. virtual HRESULT __stdcall RemoveFile (
  297. /*[in]*/ BSTR Filename ) = 0;
  298. };
  299. struct __declspec(uuid("5000f09e-8483-4deb-8345-4e778a9fe804"))
  300. ICddbFileInfoLists : IDispatch
  301. {
  302. //
  303. // Raw methods provided by interface
  304. //
  305. virtual HRESULT __stdcall GetFileInfoList (
  306. /*[in]*/ long Index,
  307. /*[out,retval]*/ struct ICddbFileInfoList * * ppFileInfoListOut ) = 0;
  308. virtual HRESULT __stdcall get_Count (
  309. /*[out,retval]*/ long * pVal ) = 0;
  310. virtual HRESULT __stdcall RemoveMatchAndFiles (
  311. /*[in]*/ long Index ) = 0;
  312. virtual HRESULT __stdcall RemoveFileInfoList (
  313. /*[in]*/ struct ICddbFileInfoList * pList ) = 0;
  314. virtual HRESULT __stdcall AddFileInfoList (
  315. /*[in]*/ struct ICddbFileInfoList * pFileInfoList ) = 0;
  316. };
  317. struct __declspec(uuid("ec0e5dd3-8bab-4671-85a1-68bf93cb35e4"))
  318. ICddbMusicIDFingerprinter : IDispatch
  319. {
  320. //
  321. // Raw methods provided by interface
  322. //
  323. virtual HRESULT __stdcall GetSetting (
  324. /*[in]*/ BSTR name,
  325. /*[out,retval]*/ BSTR * pVal ) = 0;
  326. virtual HRESULT __stdcall SetSetting (
  327. /*[in]*/ BSTR name,
  328. /*[in]*/ BSTR value ) = 0;
  329. virtual HRESULT __stdcall GetFileFingerprint (
  330. /*[in]*/ BSTR Filename,
  331. /*[out,retval]*/ struct ICddbMusicIDFingerprint * * pVal ) = 0;
  332. virtual HRESULT __stdcall BeginAudioStream (
  333. /*[in]*/ long sample_rate,
  334. /*[in]*/ long sample_bits,
  335. /*[in]*/ long channel_count ) = 0;
  336. virtual HRESULT __stdcall WriteAudioData (
  337. /*[in]*/ void * buffer,
  338. /*[in]*/ long length ) = 0;
  339. virtual HRESULT __stdcall EndAudioStream (
  340. /*[out,retval]*/ struct ICddbMusicIDFingerprint * * pVal ) = 0;
  341. };
  342. struct __declspec(uuid("6131c03d-97d0-49ca-8eb1-5fa0d10ec072"))
  343. ICDDBMusicIDManager : IDispatch
  344. {
  345. //
  346. // Raw methods provided by interface
  347. //
  348. virtual HRESULT __stdcall get_Version (
  349. /*[out,retval]*/ BSTR * pVal ) = 0;
  350. virtual HRESULT __stdcall Initialize (
  351. /*[in]*/ struct ICDDBControl2 * control ) = 0;
  352. virtual HRESULT __stdcall Shutdown ( ) = 0;
  353. virtual HRESULT __stdcall CreateFingerprinter (
  354. /*[in]*/ BSTR alg_name,
  355. /*[out,retval]*/ struct ICddbMusicIDFingerprinter * * pVal ) = 0;
  356. virtual HRESULT __stdcall LookupFile (
  357. /*[in]*/ struct ICddbMusicIDFingerprint * fp,
  358. /*[in]*/ BSTR Filename,
  359. /*[in]*/ struct ICddbFileTag * Tag,
  360. /*[in]*/ long lookup_mode,
  361. /*[in]*/ long event_on_completion,
  362. /*[out,retval]*/ long * match_code ) = 0;
  363. virtual HRESULT __stdcall ResolveLookup (
  364. /*[in]*/ struct ICddbDiscs * discs,
  365. /*[in]*/ long track_count,
  366. /*[in]*/ long missing_files,
  367. /*[in]*/ long extra_files,
  368. /*[in]*/ long lookup_mode,
  369. /*[in]*/ BSTR Filename,
  370. /*[in]*/ struct ICddbFileTag * Tag,
  371. /*[in]*/ long match_code,
  372. /*[out,retval]*/ struct ICddbDisc * * pVal ) = 0;
  373. virtual HRESULT __stdcall CompareTrackToFile (
  374. /*[in]*/ BSTR Filename,
  375. /*[in]*/ struct ICddbFileTag * Tag,
  376. /*[in]*/ struct ICddbDisc * Disc,
  377. /*[in]*/ long TrackNum,
  378. /*[out,retval]*/ long * pVal ) = 0;
  379. };
  380. struct __declspec(uuid("26b263b3-57cd-42fd-aa48-e505b4780055"))
  381. ICddbMusicIDFingerprinter2 : ICddbMusicIDFingerprinter
  382. {
  383. //
  384. // Raw methods provided by interface
  385. //
  386. virtual HRESULT __stdcall WriteAudioData2 (
  387. /*[in]*/ void * buffer,
  388. /*[in]*/ long length,
  389. /*[out]*/ long * b_complete ) = 0;
  390. virtual HRESULT __stdcall FingerprintSerialize (
  391. /*[in]*/ struct ICddbMusicIDFingerprint * pFingerprint,
  392. /*[out,retval]*/ BSTR * pSerialized ) = 0;
  393. virtual HRESULT __stdcall FingerprintDeserialize (
  394. /*[in]*/ BSTR serialized,
  395. /*[out,retval]*/ struct ICddbMusicIDFingerprint * * ppFingerprint ) = 0;
  396. };
  397. struct __declspec(uuid("dc6da11f-ca85-4658-9216-2ad353cfc33b"))
  398. ICddbFileInfo2 : ICddbFileInfo
  399. {
  400. //
  401. // Raw methods provided by interface
  402. //
  403. virtual HRESULT __stdcall GetExtData (
  404. /*[out,retval]*/ struct ICddbExtData * * pVal ) = 0;
  405. virtual HRESULT __stdcall PutExtData (
  406. /*[in]*/ struct ICddbExtData * newVal ) = 0;
  407. virtual HRESULT __stdcall GetDataListElement (
  408. /*[in]*/ long ListId,
  409. /*[in]*/ long Level,
  410. /*[out,retval]*/ struct ICddbDataListElement * * pVal ) = 0;
  411. virtual HRESULT __stdcall GetExtDataSerialized (
  412. /*[out,retval]*/ BSTR * pVal ) = 0;
  413. virtual HRESULT __stdcall PutExtDataSerialized (
  414. /*[in]*/ BSTR newVal ) = 0;
  415. };
  416. struct __declspec(uuid("3b4a2b07-aafe-4931-a7f9-4c37729633ca"))
  417. ICddbFileInfo2_6 : ICddbFileInfo2
  418. {
  419. //
  420. // Raw methods provided by interface
  421. //
  422. virtual HRESULT __stdcall get_MatchType (
  423. /*[out,retval]*/ enum MusicIDMatchType * pVal ) = 0;
  424. virtual HRESULT __stdcall RetrieveData (
  425. /*[in]*/ long cddbDataOptions ) = 0;
  426. };
  427. struct __declspec(uuid("18d6bc7c-4cbc-4b6a-9550-2b176438b87c"))
  428. ICddbFileInfoList2_6 : ICddbFileInfoList
  429. {
  430. //
  431. // Raw methods provided by interface
  432. //
  433. virtual HRESULT __stdcall RetrieveData (
  434. /*[in]*/ long cddbDataOptions ) = 0;
  435. };
  436. struct __declspec(uuid("281bfe03-1503-4c60-9678-173c8b4138cc"))
  437. ICDDBMusicIDManager2 : ICDDBMusicIDManager
  438. {
  439. //
  440. // Raw methods provided by interface
  441. //
  442. virtual HRESULT __stdcall TrackID (
  443. /*[in]*/ struct ICddbFileInfo * pInfoIn,
  444. /*[in]*/ long options,
  445. long * match_code,
  446. /*[out]*/ struct ICddbFileInfoList * * pListOut ) = 0;
  447. virtual HRESULT __stdcall AlbumID (
  448. /*[in]*/ struct ICddbFileInfoList * pListIn,
  449. /*[in]*/ long options,
  450. long * match_code,
  451. /*[out]*/ struct ICddbFileInfoLists * * pListsOut ) = 0;
  452. virtual HRESULT __stdcall GetTagInternal (
  453. /*[in]*/ BSTR Filename,
  454. /*[out]*/ struct ICddbFileTag * * Tag ) = 0;
  455. virtual HRESULT __stdcall GetFingerprintInternal (
  456. /*[in]*/ BSTR Filename,
  457. /*[out]*/ struct ICddbMusicIDFingerprint * * Fingerprint ) = 0;
  458. };
  459. struct __declspec(uuid("43b1b346-2394-46e7-b1ac-ea8d93124f68"))
  460. ICddbMusicIDSettings : IDispatch
  461. {
  462. //
  463. // Raw methods provided by interface
  464. //
  465. virtual HRESULT __stdcall get_ThreadPriority (
  466. /*[out,retval]*/ long * pVal ) = 0;
  467. virtual HRESULT __stdcall put_ThreadPriority (
  468. /*[in]*/ long pVal ) = 0;
  469. virtual HRESULT __stdcall get_LibraryIDBatchSize (
  470. /*[out,retval]*/ long * pVal ) = 0;
  471. virtual HRESULT __stdcall put_LibraryIDBatchSize (
  472. /*[in]*/ long pVal ) = 0;
  473. };
  474. struct __declspec(uuid("5797bf13-a4e7-4170-ae22-5f06b2823e04"))
  475. ICDDBMusicIDManager3 : ICDDBMusicIDManager2
  476. {
  477. //
  478. // Raw methods provided by interface
  479. //
  480. virtual HRESULT __stdcall LibraryID (
  481. /*[in]*/ struct ICddbFileInfoList * pListIn,
  482. /*[in]*/ long options ) = 0;
  483. virtual HRESULT __stdcall LibraryIDAdd (
  484. /*[in]*/ BSTR bstrFilename ) = 0;
  485. virtual HRESULT __stdcall LibraryIDAddFileInfo (
  486. /*[in]*/ struct ICddbFileInfo * pInfo ) = 0;
  487. virtual HRESULT __stdcall LibraryIDRemove (
  488. /*[in]*/ BSTR bstrFilename ) = 0;
  489. virtual HRESULT __stdcall LibraryIDStart (
  490. /*[in]*/ long options ) = 0;
  491. virtual HRESULT __stdcall LibraryIDStop (
  492. /*[in]*/ long bWait ) = 0;
  493. virtual HRESULT __stdcall LibraryIDClear ( ) = 0;
  494. virtual HRESULT __stdcall LibraryIDStatus (
  495. /*[out]*/ long * bIsRunning,
  496. /*[out]*/ long * lFilesInQueue ) = 0;
  497. virtual HRESULT __stdcall GetFullDisc (
  498. /*[in]*/ struct ICddbDisc2 * pDisc,
  499. /*[out]*/ struct ICddbDisc2 * * ppFullDisc ) = 0;
  500. virtual HRESULT __stdcall GetSettings (
  501. /*[out]*/ struct ICddbMusicIDSettings * * ppSettings ) = 0;
  502. virtual HRESULT __stdcall PutSettings (
  503. /*[in]*/ struct ICddbMusicIDSettings * pSettings ) = 0;
  504. };
  505. struct __declspec(uuid("28041299-f00d-4156-88c7-4c663cd47b00"))
  506. CDDBNSWinampMusicIDManager;
  507. // [ default ] interface ICDDBMusicIDManager
  508. // interface ICDDBMusicIDManager2
  509. // interface ICDDBMusicIDManager3
  510. // [ default, source ] dispinterface _ICDDBMusicIDManagerEvents
  511. struct __declspec(uuid("b6d10e75-e02c-4f26-98c3-72450019942b"))
  512. CddbMusicIDFingerprinter;
  513. // [ default ] interface ICddbMusicIDFingerprinter
  514. struct __declspec(uuid("e0ff4f0f-b53b-41d5-b1c9-3890ac403fe5"))
  515. CddbMusicIDFingerprint;
  516. // interface IFingerprintImpl
  517. // [ default ] interface ICddbMusicIDFingerprint
  518. struct __declspec(uuid("80a8f856-eda2-44db-a9ae-fafaaa2f5798"))
  519. CddbFileInfo;
  520. // [ default ] interface ICddbFileInfo
  521. struct __declspec(uuid("93c676b4-2ded-461c-abd6-33736f951840"))
  522. CddbFileInfoList;
  523. // [ default ] interface ICddbFileInfoList
  524. struct __declspec(uuid("d00f2f00-f910-43af-99d6-591ac5f1b560"))
  525. CddbFileInfoLists;
  526. // [ default ] interface ICddbFileInfoLists
  527. struct __declspec(uuid("c7538f11-8d14-439b-ad2d-30c2cd8d0e68"))
  528. CddbMusicIDSettings;
  529. // [ default ] interface ICddbMusicIDSettings
  530. //
  531. // Named GUID constants initializations
  532. //
  533. extern "C" const GUID __declspec(selectany) LIBID_CDDBMUSICIDLibNSWinamp =
  534. {0x05d652c1,0x7997,0x40f9,{0x98,0x2d,0x34,0x7b,0x8e,0x29,0xf8,0xfb}};
  535. extern "C" const GUID __declspec(selectany) DIID__ICDDBMusicIDManagerEvents =
  536. {0x46ac5819,0x1fa8,0x44a1,{0x99,0x54,0x27,0x0e,0xa2,0xcf,0x0d,0xca}};
  537. extern "C" const GUID __declspec(selectany) IID_IFingerprintImpl =
  538. {0xdb104e47,0x62bb,0x4933,{0x8f,0x37,0x89,0x84,0x22,0x8e,0x69,0x38}};
  539. extern "C" const GUID __declspec(selectany) IID_ICddbMusicIDFingerprint =
  540. {0xcca2a70a,0xbcbc,0x49e9,{0x8e,0xf4,0x04,0xda,0xbc,0xd6,0x8b,0x81}};
  541. extern "C" const GUID __declspec(selectany) IID_ICddbFileInfo =
  542. {0x0aa9fdfb,0x80d5,0x41bf,{0xb3,0x83,0x7a,0xab,0x86,0x9e,0x6b,0x0e}};
  543. extern "C" const GUID __declspec(selectany) IID_ICddbFileInfoList =
  544. {0x099a10ed,0x517b,0x4387,{0xa1,0x2e,0xaf,0x3f,0xe9,0x0b,0x58,0x56}};
  545. extern "C" const GUID __declspec(selectany) IID_ICddbFileInfoLists =
  546. {0x5000f09e,0x8483,0x4deb,{0x83,0x45,0x4e,0x77,0x8a,0x9f,0xe8,0x04}};
  547. extern "C" const GUID __declspec(selectany) IID_ICddbMusicIDFingerprinter =
  548. {0xec0e5dd3,0x8bab,0x4671,{0x85,0xa1,0x68,0xbf,0x93,0xcb,0x35,0xe4}};
  549. extern "C" const GUID __declspec(selectany) IID_ICDDBMusicIDManager =
  550. {0x6131c03d,0x97d0,0x49ca,{0x8e,0xb1,0x5f,0xa0,0xd1,0x0e,0xc0,0x72}};
  551. extern "C" const GUID __declspec(selectany) IID_ICddbMusicIDFingerprinter2 =
  552. {0x26b263b3,0x57cd,0x42fd,{0xaa,0x48,0xe5,0x05,0xb4,0x78,0x00,0x55}};
  553. extern "C" const GUID __declspec(selectany) IID_ICddbFileInfo2 =
  554. {0xdc6da11f,0xca85,0x4658,{0x92,0x16,0x2a,0xd3,0x53,0xcf,0xc3,0x3b}};
  555. extern "C" const GUID __declspec(selectany) IID_ICddbFileInfo2_6 =
  556. {0x3b4a2b07,0xaafe,0x4931,{0xa7,0xf9,0x4c,0x37,0x72,0x96,0x33,0xca}};
  557. extern "C" const GUID __declspec(selectany) IID_ICddbFileInfoList2_6 =
  558. {0x18d6bc7c,0x4cbc,0x4b6a,{0x95,0x50,0x2b,0x17,0x64,0x38,0xb8,0x7c}};
  559. extern "C" const GUID __declspec(selectany) IID_ICDDBMusicIDManager2 =
  560. {0x281bfe03,0x1503,0x4c60,{0x96,0x78,0x17,0x3c,0x8b,0x41,0x38,0xcc}};
  561. extern "C" const GUID __declspec(selectany) IID_ICddbMusicIDSettings =
  562. {0x43b1b346,0x2394,0x46e7,{0xb1,0xac,0xea,0x8d,0x93,0x12,0x4f,0x68}};
  563. extern "C" const GUID __declspec(selectany) IID_ICDDBMusicIDManager3 =
  564. {0x5797bf13,0xa4e7,0x4170,{0xae,0x22,0x5f,0x06,0xb2,0x82,0x3e,0x04}};
  565. extern "C" const GUID __declspec(selectany) CLSID_CDDBNSWinampMusicIDManager =
  566. {0x28041299,0xf00d,0x4156,{0x88,0xc7,0x4c,0x66,0x3c,0xd4,0x7b,0x00}};
  567. extern "C" const GUID __declspec(selectany) CLSID_CddbMusicIDFingerprinter =
  568. {0xb6d10e75,0xe02c,0x4f26,{0x98,0xc3,0x72,0x45,0x00,0x19,0x94,0x2b}};
  569. extern "C" const GUID __declspec(selectany) CLSID_CddbMusicIDFingerprint =
  570. {0xe0ff4f0f,0xb53b,0x41d5,{0xb1,0xc9,0x38,0x90,0xac,0x40,0x3f,0xe5}};
  571. extern "C" const GUID __declspec(selectany) CLSID_CddbFileInfo =
  572. {0x80a8f856,0xeda2,0x44db,{0xa9,0xae,0xfa,0xfa,0xaa,0x2f,0x57,0x98}};
  573. extern "C" const GUID __declspec(selectany) CLSID_CddbFileInfoList =
  574. {0x93c676b4,0x2ded,0x461c,{0xab,0xd6,0x33,0x73,0x6f,0x95,0x18,0x40}};
  575. extern "C" const GUID __declspec(selectany) CLSID_CddbFileInfoLists =
  576. {0xd00f2f00,0xf910,0x43af,{0x99,0xd6,0x59,0x1a,0xc5,0xf1,0xb5,0x60}};
  577. extern "C" const GUID __declspec(selectany) CLSID_CddbMusicIDSettings =
  578. {0xc7538f11,0x8d14,0x439b,{0xad,0x2d,0x30,0xc2,0xcd,0x8d,0x0e,0x68}};
  579. #pragma pack(pop)