Miam-Player  0.8.0
A nice music player
chromaprint.h
Go to the documentation of this file.
1 // Copyright (C) 2010-2016 Lukas Lalinsky
2 // Distributed under the MIT license, see the LICENSE file for details.
3 
4 #ifndef CHROMAPRINT_CHROMAPRINT_H_
5 #define CHROMAPRINT_CHROMAPRINT_H_
6 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
59 #if (defined(_WIN32) || defined(_WIN64))
60 # ifdef CHROMAPRINT_NODLL
61 # define CHROMAPRINT_API
62 # else
63 # ifdef CHROMAPRINT_API_EXPORTS
64 # define CHROMAPRINT_API __declspec(dllexport)
65 # else
66 # define CHROMAPRINT_API __declspec(dllimport)
67 # endif
68 # endif
69 #else
70 # if __GNUC__ >= 4
71 # define CHROMAPRINT_API __attribute__ ((visibility("default")))
72 # else
73 # define CHROMAPRINT_API
74 # endif
75 #endif
76 
77 #include <stdint.h>
78 
79 struct ChromaprintContextPrivate;
80 typedef struct ChromaprintContextPrivate ChromaprintContext;
81 
82 struct ChromaprintMatcherContextPrivate;
83 typedef struct ChromaprintMatcherContextPrivate ChromaprintMatcherContext;
84 
85 #define CHROMAPRINT_VERSION_MAJOR 1
86 #define CHROMAPRINT_VERSION_MINOR 4
87 #define CHROMAPRINT_VERSION_PATCH 2
88 
96 };
97 
101 CHROMAPRINT_API const char *chromaprint_get_version(void);
102 
116 
127 
134 
150 CHROMAPRINT_API int chromaprint_set_option(ChromaprintContext *ctx, const char *name, int value);
151 
164 
177 
186 
195 
204 
213 
223 CHROMAPRINT_API int chromaprint_start(ChromaprintContext *ctx, int sample_rate, int num_channels);
224 
235 CHROMAPRINT_API int chromaprint_feed(ChromaprintContext *ctx, const int16_t *data, int size);
236 
245 
259 
273 CHROMAPRINT_API int chromaprint_get_raw_fingerprint(ChromaprintContext *ctx, uint32_t **fingerprint, int *size);
274 
284 
296 
309 
331 CHROMAPRINT_API int chromaprint_encode_fingerprint(const uint32_t *fp, int size, int algorithm, char **encoded_fp, int *encoded_size, int base64);
332 
352 CHROMAPRINT_API int chromaprint_decode_fingerprint(const char *encoded_fp, int encoded_size, uint32_t **fp, int *size, int *algorithm, int base64);
353 
374 CHROMAPRINT_API int chromaprint_hash_fingerprint(const uint32_t *fp, int size, uint32_t *hash);
375 
381 CHROMAPRINT_API void chromaprint_dealloc(void *ptr);
382 
383 #ifdef __cplusplus
384 }
385 #endif
386 
387 #endif
#define CHROMAPRINT_API
Definition: chromaprint.h:73
CHROMAPRINT_API int chromaprint_start(ChromaprintContext *ctx, int sample_rate, int num_channels)
CHROMAPRINT_API int chromaprint_get_fingerprint_hash(ChromaprintContext *ctx, uint32_t *hash)
size_t size
Definition: mem.h:207
CHROMAPRINT_API int chromaprint_encode_fingerprint(const uint32_t *fp, int size, int algorithm, char **encoded_fp, int *encoded_size, int base64)
Definition: chromaprint.h:91
CHROMAPRINT_API int chromaprint_get_raw_fingerprint_size(ChromaprintContext *ctx, int *size)
Definition: chromaprint.h:93
CHROMAPRINT_API const char * chromaprint_get_version(void)
CHROMAPRINT_API int chromaprint_finish(ChromaprintContext *ctx)
Definition: chromaprint.h:95
CHROMAPRINT_API int chromaprint_get_sample_rate(ChromaprintContext *ctx)
Definition: chromaprint.h:90
CHROMAPRINT_API int chromaprint_clear_fingerprint(ChromaprintContext *ctx)
CHROMAPRINT_API int chromaprint_decode_fingerprint(const char *encoded_fp, int encoded_size, uint32_t **fp, int *size, int *algorithm, int base64)
CHROMAPRINT_API void chromaprint_dealloc(void *ptr)
struct ChromaprintMatcherContextPrivate ChromaprintMatcherContext
Definition: chromaprint.h:83
CHROMAPRINT_API int chromaprint_get_num_channels(ChromaprintContext *ctx)
CHROMAPRINT_API int chromaprint_get_delay(ChromaprintContext *ctx)
CHROMAPRINT_API ChromaprintContext * chromaprint_new(int algorithm)
CHROMAPRINT_API int chromaprint_get_item_duration(ChromaprintContext *ctx)
CHROMAPRINT_API int chromaprint_set_option(ChromaprintContext *ctx, const char *name, int value)
ChromaprintAlgorithm
Definition: chromaprint.h:89
CHROMAPRINT_API int chromaprint_get_algorithm(ChromaprintContext *ctx)
CHROMAPRINT_API int chromaprint_get_raw_fingerprint(ChromaprintContext *ctx, uint32_t **fingerprint, int *size)
CHROMAPRINT_API void chromaprint_free(ChromaprintContext *ctx)
CHROMAPRINT_API int chromaprint_get_fingerprint(ChromaprintContext *ctx, char **fingerprint)
CHROMAPRINT_API int chromaprint_get_item_duration_ms(ChromaprintContext *ctx)
Definition: chromaprint.h:94
CHROMAPRINT_API int chromaprint_get_delay_ms(ChromaprintContext *ctx)
Definition: chromaprint.h:92
CHROMAPRINT_API int chromaprint_hash_fingerprint(const uint32_t *fp, int size, uint32_t *hash)
CHROMAPRINT_API int chromaprint_feed(ChromaprintContext *ctx, const int16_t *data, int size)
struct ChromaprintContextPrivate ChromaprintContext
Definition: chromaprint.h:80