00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef _TP_C_H_
00028 #define _TP_C_H_
00029
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00035 #include "defs.h"
00036
00042 typedef void *tunepimp_t;
00043
00044
00049 typedef void *track_t;
00050
00051
00059 typedef void *result_t;
00060
00061
00074 typedef void (*tp_notify_callback)(tunepimp_t pimp, void *data, TPCallbackEnum
00075 type, int fileId);
00076
00077
00089 typedef void (*tp_status_callback)(tunepimp_t pimp, void *data, const char *status);
00090
00091
00114 typedef struct _metadata_t
00115 {
00116 char *artist;
00117 char *sortName;
00118 char *album;
00119 char *track;
00120 int trackNum;
00121 int variousArtist;
00122 char *artistId;
00123 char *albumId;
00124 char *trackId;
00125 char *fileTrm;
00126 char *albumArtistId;
00127 unsigned long duration;
00128 TPAlbumType albumType;
00129 TPAlbumStatus albumStatus;
00130 char *fileFormat;
00131 int releaseYear, releaseDay, releaseMonth;
00132 char releaseCountry[3];
00133
00134
00135 int numTRMIds;
00136 } metadata_t;
00137
00138
00145 typedef struct _artistresult_t
00146 {
00147 int relevance;
00148 char *name, *sortName;
00149 char *id;
00150 } artistresult_t;
00151
00152
00159 typedef struct _albumresult_t
00160 {
00161 int relevance;
00162 char *name;
00163 char *id;
00164 int numTracks, numCDIndexIds;
00165 int isVA;
00166 TPAlbumStatus status;
00167 TPAlbumType type;
00168 int releaseYear, releaseDay, releaseMonth;
00169 char releaseCountry[3];
00170 artistresult_t *artist;
00171 } albumresult_t;
00172
00173
00181 typedef struct _albumtrackresult_t
00182 {
00183 int relevance;
00184 char *name;
00185 char *id;
00186 int numTRMIds, trackNum;
00187 unsigned long duration;
00188 artistresult_t *artist;
00189 albumresult_t *album;
00190 } albumtrackresult_t;
00191
00192
00193
00194
00195
00196
00207 tunepimp_t tp_New (const char *appName, const char *appVersion);
00208
00222 tunepimp_t tp_NewWithArgs (const char *appName, const char *appVersion, int startThreads);
00223
00231 void tp_Delete (tunepimp_t o);
00232
00233
00242 void tp_GetVersion (tunepimp_t o, int *major, int *minor, int *rev);
00243
00244
00257 void tp_SetUserInfo (tunepimp_t o, const char *userName,
00258 const char *password);
00259
00260
00274 void tp_GetUserInfo (tunepimp_t o, char *userName, int maxUserNameLen,
00275 char *password, int maxPasswordLen);
00276
00277
00288 void tp_SetUseUTF8 (tunepimp_t o, int useUTF8);
00289
00290
00301 int tp_GetUseUTF8(tunepimp_t o);
00302
00303
00316 void tp_SetServer (tunepimp_t o, const char *serverAddr,
00317 short serverPort);
00318
00319
00334 void tp_GetServer(tunepimp_t o, char *serverAddr, int maxLen,
00335 short *serverPort);
00336
00337
00351 void tp_SetProxy (tunepimp_t o, const char *serverAddr, short serverPort);
00352
00353
00368 void tp_GetProxy(tunepimp_t o, char *serverAddr, int maxLen, short *serverPort);
00369
00370
00380 int tp_GetNumSupportedExtensions(tunepimp_t o);
00381
00382
00397 #define TP_EXTENSION_LEN 32
00398 void tp_GetSupportedExtensions(tunepimp_t o, char extensions[][TP_EXTENSION_LEN]);
00399
00409 void tp_SetAnalyzerPriority(tunepimp_t o, TPThreadPriorityEnum priority);
00410
00420 TPThreadPriorityEnum tp_GetAnalyzerPriority(tunepimp_t o);
00421
00443 void tp_SetAutoFileLookup(tunepimp_t o, int enable);
00444
00445
00456 int tp_GetAutoFileLookup(tunepimp_t o);
00457
00458
00476 void tp_SetNotifyCallback(tunepimp_t o, tp_notify_callback callback, void *data);
00477
00478
00489 tp_notify_callback tp_GetNotifyCallback(tunepimp_t o);
00490
00491
00509 int tp_GetNotification(tunepimp_t o, TPCallbackEnum *type, int *fileId);
00510
00511
00529 void tp_SetStatusCallback(tunepimp_t o, tp_status_callback callback, void *data);
00530
00531
00548 int tp_GetStatus(tunepimp_t o, char *status, int statusLen);
00549
00550
00561 tp_status_callback tp_GetStatusCallback(tunepimp_t o);
00562
00563
00574 void tp_GetError(tunepimp_t o, char *error, int maxLen);
00575
00576
00590 void tp_SetDebug (tunepimp_t o, int debug);
00591
00592
00602 int tp_GetDebug(tunepimp_t o);
00603
00604
00626 int tp_AddFile (tunepimp_t o, const char *fileName);
00627
00628
00642 int tp_AddDir (tunepimp_t o, const char *dirPath);
00643
00644
00654 void tp_Remove (tunepimp_t o, int fileId);
00655
00656
00665 int tp_GetNumFiles (tunepimp_t o);
00666
00667
00677 int tp_GetNumUnsubmitted (tunepimp_t o);
00678
00679
00687 int tp_GetNumUnsavedItems (tunepimp_t o);
00688
00699 int tp_GetTrackCounts(tunepimp_t o, int *counts, int maxCounts);
00700
00712 int tp_GetNumFileIds (tunepimp_t o);
00713
00714
00728 void tp_GetFileIds (tunepimp_t o, int *ids, int numIds);
00729
00730
00743 track_t tp_GetTrack (tunepimp_t o, int fileId);
00744
00745
00754 void tp_ReleaseTrack (tunepimp_t o, track_t track);
00755
00756
00771 void tp_Wake (tunepimp_t o, track_t track);
00772
00773
00787 TPError tp_SelectResult (tunepimp_t o, track_t track, int resultIndex);
00788
00789
00800 void tp_Misidentified (tunepimp_t o, int fileId);
00801
00814 void tp_IdentifyAgain (tunepimp_t o, int fileId);
00815
00853 int tp_WriteTags (tunepimp_t o, int *fileIds, int numFileIds);
00854
00855
00866 void tp_AddTRMSubmission(tunepimp_t o, const char *trackId, const char *trmId);
00867
00868
00881 TPError tp_SubmitTRMs (tunepimp_t o);
00882
00883
00897 void tp_SetRenameFiles (tunepimp_t o, int rename);
00898
00899
00910 int tp_GetRenameFiles(tunepimp_t o);
00911
00912
00926 void tp_SetMoveFiles (tunepimp_t o, int move);
00927
00928
00938 int tp_GetMoveFiles(tunepimp_t o);
00939
00940
00952 void tp_SetWriteID3v1 (tunepimp_t o, int writeID3v1);
00953
00954
00964 int tp_GetWriteID3v1(tunepimp_t o);
00965
00966
00980 void tp_SetClearTags (tunepimp_t o, int clearTags);
00981
00982
00993 int tp_GetClearTags(tunepimp_t o);
00994
00995
01032 void tp_SetFileMask (tunepimp_t o, const char *fileMask);
01033
01034
01047 void tp_GetFileMask (tunepimp_t o, char *fileMask, int maxLen);
01048
01049
01065 void tp_SetVariousFileMask (tunepimp_t o, const char *variousFileMask);
01066
01067
01080 void tp_GetVariousFileMask (tunepimp_t o, char *variousFileMask, int maxLen);
01081
01082
01100 void tp_SetAllowedFileCharacters(tunepimp_t o, const char *allowedFileCharacters);
01101
01102
01117 void tp_GetAllowedFileCharacters(tunepimp_t o, char *allowedFileCharacters, int maxLen);
01118
01119
01134 void tp_SetDestDir (tunepimp_t o, const char *destDir);
01135
01136
01150 void tp_GetDestDir(tunepimp_t o, char *destDir, int maxLen);
01151
01152
01178 void tp_SetTopSrcDir (tunepimp_t o, const char *topSrcDir);
01179
01180
01195 void tp_GetTopSrcDir(tunepimp_t o, char *topSrcDir, int maxLen);
01196
01197
01222 void tp_SetTRMCollisionThreshold(tunepimp_t o, int trmThreshold);
01223
01224
01235 int tp_GetTRMCollisionThreshold(tunepimp_t o);
01236
01254 void tp_SetMinTRMThreshold(tunepimp_t o, int minThreshold);
01255
01256
01267 int tp_GetMinTRMThreshold(tunepimp_t o);
01268
01290 void tp_SetAutoSaveThreshold (tunepimp_t o, int autoSaveThreshold);
01291
01292
01304 int tp_GetAutoSaveThreshold(tunepimp_t o);
01305
01314 void tp_SetMaxFileNameLen(tunepimp_t o, int maxFileNameLen);
01315
01316
01325 int tp_GetMaxFileNameLen(tunepimp_t o);
01326
01337 void tp_SetAutoRemovedSavedFiles(tunepimp_t o, int autoRemoveSavedFiles);
01338
01339
01350 int tp_GetAutoRemovedSavedFiles(tunepimp_t o);
01351
01352
01371 int tp_GetRecognizedFileList(tunepimp_t o, int threshold, int **fileIds, int *numIds);
01372
01373
01383 void tp_DeleteRecognizedFileList(tunepimp_t o, int *fileIds);
01384
01385
01386 #ifdef WIN32
01387
01399 void tp_WSAInit (tunepimp_t o);
01400
01401
01410 void tp_WSAStop (tunepimp_t o);
01411 #endif
01412
01413
01414
01415
01416
01417
01429 TPFileStatus tr_GetStatus (track_t t);
01430
01431
01443 void tr_SetStatus (track_t t, const TPFileStatus status);
01444
01445
01455 void tr_GetFileName (track_t t, char *fileName, int maxLen);
01456
01457
01469 void tr_GetTRM (track_t t, char *trm, int maxLen);
01470
01471
01484 void tr_GetLocalMetadata (track_t t, metadata_t *mdata);
01485
01486
01500 void tr_SetLocalMetadata (track_t t, const metadata_t *mdata);
01501
01502
01516 void tr_GetServerMetadata(track_t t, metadata_t *mdata);
01517
01518
01531 void tr_SetServerMetadata(track_t t, const metadata_t *mdata);
01532
01533
01548 void tr_GetError (track_t t, char *error, int maxLen);
01549
01550
01562 int tr_GetSimilarity (track_t t);
01563
01564
01573 int tr_HasChanged (track_t t);
01574
01575
01586 int tr_GetNumResults (track_t t);
01587
01588
01608 void tr_GetResults (track_t t, TPResultType *type,
01609 result_t *results, int *numResults);
01610
01611
01622 void tr_Lock (track_t t);
01623
01624
01633 void tr_Unlock (track_t t);
01634
01635
01636
01637
01638
01639
01640
01651 metadata_t *md_New (void);
01652
01653
01661 void md_Delete (metadata_t *mdata);
01662
01663
01674 void md_Clear (metadata_t *mdata);
01675
01676
01686 TPAlbumStatus md_ConvertToAlbumStatus (const char *albumStatus);
01687
01688
01699 TPAlbumType md_ConvertToAlbumType (const char *albumType);
01700
01701
01714 void md_ConvertFromAlbumStatus(TPAlbumStatus status, char *albumStatus, int maxLen);
01715
01716
01729 void md_ConvertFromAlbumType (TPAlbumType type, char *albumType, int maxLen);
01730
01731
01732
01733
01734
01735
01736
01746 void rs_Delete(TPResultType type, result_t *result, int numResults);
01747
01748 #ifdef __cplusplus
01749 }
01750 #endif
01751
01752 #endif