#include "defs.h"Go to the source code of this file.
Classes | |
| struct | _metadata_t |
Defines | |
| #define | TP_ARTIST_NAME_LEN 255 |
| #define | TP_ALBUM_NAME_LEN 255 |
| #define | TP_TRACK_NAME_LEN 255 |
| #define | TP_ID_LEN 40 |
| #define | TP_FORMAT_LEN 32 |
| #define | TP_COUNTRY_LEN 3 |
| #define | TP_EXTENSION_LEN 32 |
Typedefs | |
| typedef void * | tunepimp_t |
| typedef void * | track_t |
| typedef void(* | tp_notify_callback )(tunepimp_t pimp, void *data, TPCallbackEnum type, int fileId, TPFileStatus status) |
| typedef void(* | tp_status_callback )(tunepimp_t pimp, void *data, const char *status) |
| typedef _metadata_t | metadata_t |
Functions | |
| tunepimp_t | tp_New (const char *appName, const char *appVersion) |
| tunepimp_t | tp_NewWithArgs (const char *appName, const char *appVersion, int startThreads, const char *pluginDir) |
| void | tp_Delete (tunepimp_t o) |
| void | tp_GetVersion (tunepimp_t o, int *major, int *minor, int *rev) |
| void | tp_SetMusicDNSClientId (tunepimp_t o, const char *clientId) |
| void | tp_GetMusicDNSClientId (tunepimp_t o, char *clientId, int maxClientIdLen) |
| void | tp_SetFileNameEncoding (tunepimp_t o, const char *encoding) |
| void | tp_GetFileNameEncoding (tunepimp_t o, char *encoding, int maxEncodingLen) |
| void | tp_SetServer (tunepimp_t o, const char *serverAddr, short serverPort) |
| void | tp_GetServer (tunepimp_t o, char *serverAddr, int maxLen, short *serverPort) |
| void | tp_SetProxy (tunepimp_t o, const char *serverAddr, short serverPort) |
| void | tp_GetProxy (tunepimp_t o, char *serverAddr, int maxLen, short *serverPort) |
| int | tp_GetNumSupportedExtensions (tunepimp_t o) |
| void | tp_GetSupportedExtensions (tunepimp_t o, char extensions[][TP_EXTENSION_LEN]) |
| void | tp_SetAnalyzerPriority (tunepimp_t o, TPThreadPriorityEnum priority) |
| TPThreadPriorityEnum | tp_GetAnalyzerPriority (tunepimp_t o) |
| void | tp_SetNotifyCallback (tunepimp_t o, tp_notify_callback callback, void *data) |
| tp_notify_callback | tp_GetNotifyCallback (tunepimp_t o) |
| int | tp_GetNotification (tunepimp_t o, TPCallbackEnum *type, int *fileId, TPFileStatus *status) |
| void | tp_SetStatusCallback (tunepimp_t o, tp_status_callback callback, void *data) |
| int | tp_GetStatus (tunepimp_t o, char *status, int statusLen) |
| tp_status_callback | tp_GetStatusCallback (tunepimp_t o) |
| void | tp_GetError (tunepimp_t o, char *error, int maxLen) |
| void | tp_SetDebug (tunepimp_t o, int debug) |
| int | tp_GetDebug (tunepimp_t o) |
| int | tp_AddFile (tunepimp_t o, const char *fileName, int readMetadataNow) |
| int | tp_AddDir (tunepimp_t o, const char *dirPath) |
| void | tp_Remove (tunepimp_t o, int fileId) |
| int | tp_GetNumFiles (tunepimp_t o) |
| int | tp_GetNumUnsavedItems (tunepimp_t o) |
| int | tp_GetTrackCounts (tunepimp_t o, int *counts, int maxCounts) |
| int | tp_GetNumFileIds (tunepimp_t o) |
| void | tp_GetFileIds (tunepimp_t o, int *ids, int numIds) |
| track_t | tp_GetTrack (tunepimp_t o, int fileId) |
| void | tp_ReleaseTrack (tunepimp_t o, track_t track) |
| void | tp_Wake (tunepimp_t o, track_t track) |
| void | tp_Misidentified (tunepimp_t o, int fileId) |
| void | tp_IdentifyAgain (tunepimp_t o, int fileId) |
| int | tp_WriteTags (tunepimp_t o, int *fileIds, int numFileIds) |
| void | tp_SetRenameFiles (tunepimp_t o, int rename) |
| int | tp_GetRenameFiles (tunepimp_t o) |
| void | tp_SetMoveFiles (tunepimp_t o, int move) |
| int | tp_GetMoveFiles (tunepimp_t o) |
| void | tp_SetWriteID3v1 (tunepimp_t o, int writeID3v1) |
| int | tp_GetWriteID3v1 (tunepimp_t o) |
| void | tp_SetWriteID3v2_3 (tunepimp_t o, int writeID3v2_3) |
| int | tp_GetWriteID3v2_3 (tunepimp_t o) |
| void | tp_SetID3Encoding (tunepimp_t o, TPID3Encoding encoding) |
| TPID3Encoding | tp_GetID3Encoding (tunepimp_t o) |
| void | tp_SetClearTags (tunepimp_t o, int clearTags) |
| int | tp_GetClearTags (tunepimp_t o) |
| void | tp_SetFileMask (tunepimp_t o, const char *fileMask) |
| void | tp_GetFileMask (tunepimp_t o, char *fileMask, int maxLen) |
| void | tp_SetVariousFileMask (tunepimp_t o, const char *variousFileMask) |
| void | tp_GetVariousFileMask (tunepimp_t o, char *variousFileMask, int maxLen) |
| void | tp_SetNonAlbumFileMask (tunepimp_t o, const char *nonAlbumFileMask) |
| void | tp_GetNonAlbumFileMask (tunepimp_t o, char *nonAlbumFileMask, int maxLen) |
| void | tp_SetAllowedFileCharacters (tunepimp_t o, const char *allowedFileCharacters) |
| void | tp_GetAllowedFileCharacters (tunepimp_t o, char *allowedFileCharacters, int maxLen) |
| void | tp_SetDestDir (tunepimp_t o, const char *destDir) |
| void | tp_GetDestDir (tunepimp_t o, char *destDir, int maxLen) |
| void | tp_SetTopSrcDir (tunepimp_t o, const char *topSrcDir) |
| void | tp_GetTopSrcDir (tunepimp_t o, char *topSrcDir, int maxLen) |
| void | tp_SetAutoSaveThreshold (tunepimp_t o, int autoSaveThreshold) |
| int | tp_GetAutoSaveThreshold (tunepimp_t o) |
| void | tp_SetMaxFileNameLen (tunepimp_t o, int maxFileNameLen) |
| int | tp_GetMaxFileNameLen (tunepimp_t o) |
| void | tp_SetAutoRemovedSavedFiles (tunepimp_t o, int autoRemoveSavedFiles) |
| int | tp_GetAutoRemovedSavedFiles (tunepimp_t o) |
| int | tp_GetRecognizedFileList (tunepimp_t o, int threshold, int **fileIds, int *numIds) |
| void | tp_DeleteRecognizedFileList (tunepimp_t o, int *fileIds) |
| int | tp_GetWinSafeFileNames (tunepimp_t o) |
| void | tp_SetWinSafeFileNames (tunepimp_t o, int winSafeFileNames) |
| TPFileStatus | tr_GetStatus (track_t t) |
| void | tr_SetStatus (track_t t, const TPFileStatus status) |
| void | tr_GetFileName (track_t t, char *fileName, int maxLen) |
| void | tr_GetPUID (track_t t, char *puid, int maxLen) |
| void | tr_GetLocalMetadata (track_t t, metadata_t *mdata) |
| void | tr_SetLocalMetadata (track_t t, const metadata_t *mdata) |
| void | tr_GetServerMetadata (track_t t, metadata_t *mdata) |
| void | tr_SetServerMetadata (track_t t, const metadata_t *mdata) |
| void | tr_GetError (track_t t, char *error, int maxLen) |
| int | tr_GetSimilarity (track_t t) |
| int | tr_HasChanged (track_t t) |
| void | tr_SetChanged (track_t t) |
| void | tr_Lock (track_t t) |
| void | tr_Unlock (track_t t) |
| metadata_t * | md_New (void) |
| void | md_Delete (metadata_t *mdata) |
| void | md_Clear (metadata_t *mdata) |
| int | md_Compare (const metadata_t *mdataA, const metadata_t *mdataB) |
| TPAlbumStatus | md_ConvertToAlbumStatus (const char *albumStatus) |
| TPAlbumType | md_ConvertToAlbumType (const char *albumType) |
| void | md_ConvertFromAlbumStatus (TPAlbumStatus status, char *albumStatus, int maxLen) |
| void | md_ConvertFromAlbumType (TPAlbumType type, char *albumType, int maxLen) |
| float | md_Similarity (const char *a, const char *b) |
|
|
|
|
|
This structure holds the meta data of a track. The meanings of most attributes are pretty straight forward, but a few need additional explanations. Strings like artist, sortName, album etc. are never NULL. If the information isn't available, the attribute is set to the empty string (""). The duration attribute is in milliseconds. fileFormat is one of the supported file formats (see tp_GetSupportedExtensions()) but without the dot ("mp3", "ogg", "wav" etc.). If there was a PUID collision, numPUIDIds is set to a value greater than one. If variousArtist is true, the track is from a various artists release. If nonAlbum is true, the track resides within a special non-album tracklisting. The memory containing the meta data will be released when calling md_Clear() or md_Delete(), so you have to copy the data if you want to use it.
|
|
|
|
|
|
This function returns a list of supported audio formats. The elements of the list are the usual filename extensions like ".wav", ".mp3", ".ogg" etc. The buffer you pass to the function has to be big enough to hold the list. You can use tp_GetNumSupportedExtensions() to get the number of supported extensions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is the signature definition of a function suitable as a notification callback. The data argument is the pointer that the user gave when registering the function using tp_SetNotifyCallback().
|
|
|
This is the signature definition of a function suitable as a status callback. The data argument is the pointer that the user gave when registering the function using tp_SetStatusCallback().
|
|
|
The abstraction of a Track object. Functions to manipulate have a prefix of "tr_". |
|
|
tunepimp_t is the basic C abstraction for a TunePimp Object. It is completely transparent for the user. Don't try to manipulate it manually, use one of the functions starting with "tp_". |
|
|
Clears a metadata_t object. All values of the object are set to NULL values. After that the object is in the same state as directly after md_New().
|
|
||||||||||||
|
Compare two metadata_t objects and return a similarity value between 0.0 and 1.0, where zero is totally dissimilar and 1.0 is exactly the same.
|
|
||||||||||||||||
|
Convert the status of an album to its textual representation. The function stores the status string in a user supplied buffer. Not more than maxLen characters including the trailing '\0' byte are copied into that buffer.
|
|
||||||||||||||||
|
Convert the type of an album to its textual representation. The function stores the type string in a user supplied buffer. Not more than maxLen characters including the trailing '\0' byte are copied into that buffer.
|
|
|
Converts a string to TPAlbumStatus. The string's value has to be one of "official", "promotion" or "bootleg". Case doesn't matter.
|
|
|
Converts a string to TPAlbumType. The string's value has to be one of "album", "single", "compilation", "soundtrack", "spokenword", "audiobook", "live" or "other". Case doesn't matter.
|
|
|
Delete a metadata_t object.
|
|
|
Create a new metadata_t object. Don't forget to release it using md_Delete() when you don't need it any longer.
|
|
||||||||||||
|
Does a fuzzy string comparison and returns the similarity value between 0.0 and 1.0
|
|
||||||||||||
|
This function descends recursively into the specified directory and adds all files to the list that look like they contain music, judging by comparing file extensions. You can get a list of supported file formats using tp_GetSupportedExtensions().
|
|
||||||||||||||||
|
Add a file to the list. The fileId of the added file is returned which is a handle that is valid until the file is removed using tp_Remove() or TunePimp writes new metadata tags and automatically removes the file. Adding a file that is already in the list is a no-op. Initially, the status of a file is ePending. For each file added, your registered notification callback is invoked. Its parameters are tpFileAdded and the fileId returned by tp_Add(). Please note that tp_AddFile() always succeeds, no matter if the file isn't a recognized audio file, if it isn't readable or doesn't exist at all. However, you can always query the track's status to see if there was an error.
|
|
|
The destructor for the TunePimp class.
|
|
||||||||||||
|
Release the memory allocated by tp_GetRecognizedFileList(). You can use this function even if there were no fileIds returned.
|
|
||||||||||||||||
|
Use this function to get a string containing the characters allowed in a file name. This function stores the string in a user supplied buffer. Not more than maxLen characters including the trailing '\0' byte are copied into that buffer. If all characters are allowed, the empty string ("") is returned.
|
|
|
This function gets the analyzer thread priority level.
|
|
|
Use this function to determine if the tunepimp library automatically deletes files after they've been saved or if it moves them to the eSaved status.
|
|
|
Get the autosave threshold if autosave is enabled or a negative value if the feature is disabled. See tp_SetAutoSaveThreshold() for an explanation of the autosave feature.
|
|
|
Query the tunepimp object if tag clearing is enabled. See tp_SetClearTags() for more information.
|
|
|
Check if debugging is enabled.
|
|
||||||||||||||||
|
Use this function to get a string containing the destination directory. tp_GetDestDir() stores the string in a user supplied buffer. Not more than maxLen characters including the trailing '\0' byte are copied into that buffer.
|
|
||||||||||||||||
|
Use this function to get a printable error message for the last error that occured in the tunepimp object. tp_GetError() stores the error string in a user supplied buffer. Not more than maxLen characters including the trailing '\0' byte are copied into that buffer.
|
|
||||||||||||||||
|
Returns the fileIds in tunepimp's list. At most numIds are returned. Use tp_GetNumFileIds to get the number of fileIds in the list. Do not use tp_Add() or tp_AddDir() between calls to tp_GetNumFileIds() and tp_GetFileIds().
|
|
||||||||||||||||
|
Use this function to get a string containing the file mask. tp_GetFileMask() stores the string in a user supplied buffer. Not more than maxLen characters including the trailing '\0' byte are copied into that buffer.
|
|
||||||||||||||||
|
|
|
|
Check which encoding is set for writing ID3v2 tags.
|
|
|
Use this function to get the current maximum filename length
|
|
|
Check if file moving is enabled. See tp_SetMoveFiles() for more information.
|
|
||||||||||||||||
|
Get the MusicDNS clientId that was set with the tp_SetMusicDNSClientId function.
|
|
||||||||||||||||
|
Use this function to get a string containing the various artists file mask. tp_GetVariousFileMask() stores the string in a user supplied buffer. Not more than maxLen characters including the trailing '\0' byte are copied into that buffer.
|
|
||||||||||||||||||||
|
Get a notification message from tunepimp's queue. All messages are stored in a queue (FIFO) to make sure you get them in the right order. Please note that this function only returns notification messages if no notification callback was set.
|
|
|
Get the function registered to receive notification messages. See tp_SetNotifyCallback() for more information.
|
|
|
Get the number of filesIds that a call to tp_GetFileIds() would return. Do not use tp_Add() or tp_AddDir() between calls to tp_GetNumFileIds() and tp_GetFileIds(). They might increase the number of fileIds.
|
|
|
This function returns the number of files that tunepimp has in its list.
|
|
|
Query the number of audio file formats supported by tunepimp. The number depends on which libraries were present when tunepimp was compiled.
|
|
|
This function returns the number of track that have been recognized and are ready to be saved.
|
|
||||||||||||||||||||
|
Get the proxy settings. tp_GetProxy() stores the address in a user supplied buffer. Not more than maxLen characters including the trailing '\0' byte are copied into that buffer. If no proxy was set, serverAddr is set to the empty string ("").
|
|
||||||||||||||||||||
|
Get a list of recognized files (eRecognized) that have a similarity value of less than threshold. If such files were found, the function allocates an array of ints and returns it using the fileIds argument. The number of entries in the array can be found in the numIds argument. Don't forget to free the allocated memory using tp_DeleteRecognizedFileList().
|
|
|
Query the tunepimp object if file renaming is enabled. See tp_SetRenameFiles() for an explanation.
|
|
||||||||||||||||||||
|
Get the server settings. tp_GetServer() stores the address in a user supplied buffer. Not more than maxLen characters including the trailing '\0' byte are copied into that buffer. If no proxy was set, serverAddr is set to the empty string ("").
|
|