Chromaprint
Loading...
Searching...
No Matches
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
56extern "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
79struct ChromaprintContextPrivate;
80typedef struct ChromaprintContextPrivate ChromaprintContext;
81
82struct ChromaprintMatcherContextPrivate;
83typedef struct ChromaprintMatcherContextPrivate ChromaprintMatcherContext;
84
85#define CHROMAPRINT_VERSION_MAJOR 1
86#define CHROMAPRINT_VERSION_MINOR 5
87#define CHROMAPRINT_VERSION_PATCH 1
88
97
101CHROMAPRINT_API const char *chromaprint_get_version(void);
102
115CHROMAPRINT_API ChromaprintContext *chromaprint_new(int algorithm);
116
126CHROMAPRINT_API void chromaprint_free(ChromaprintContext *ctx);
127
134
150CHROMAPRINT_API int chromaprint_set_option(ChromaprintContext *ctx, const char *name, int value);
151
164
177
186
195
204
213
223CHROMAPRINT_API int chromaprint_start(ChromaprintContext *ctx, int sample_rate, int num_channels);
224
235CHROMAPRINT_API int chromaprint_feed(ChromaprintContext *ctx, const int16_t *data, int size);
236
244CHROMAPRINT_API int chromaprint_finish(ChromaprintContext *ctx);
245
258CHROMAPRINT_API int chromaprint_get_fingerprint(ChromaprintContext *ctx, char **fingerprint);
259
273CHROMAPRINT_API int chromaprint_get_raw_fingerprint(ChromaprintContext *ctx, uint32_t **fingerprint, int *size);
274
283CHROMAPRINT_API int chromaprint_get_raw_fingerprint_size(ChromaprintContext *ctx, int *size);
284
295CHROMAPRINT_API int chromaprint_get_fingerprint_hash(ChromaprintContext *ctx, uint32_t *hash);
296
309
331CHROMAPRINT_API int chromaprint_encode_fingerprint(const uint32_t *fp, int size, int algorithm, char **encoded_fp, int *encoded_size, int base64);
332
352CHROMAPRINT_API int chromaprint_decode_fingerprint(const char *encoded_fp, int encoded_size, uint32_t **fp, int *size, int *algorithm, int base64);
353
374CHROMAPRINT_API int chromaprint_hash_fingerprint(const uint32_t *fp, int size, uint32_t *hash);
375
381CHROMAPRINT_API void chromaprint_dealloc(void *ptr);
382
383#ifdef __cplusplus
384}
385#endif
386
387#endif
int chromaprint_clear_fingerprint(ChromaprintContext *ctx)
int chromaprint_get_delay_ms(ChromaprintContext *ctx)
int chromaprint_get_item_duration(ChromaprintContext *ctx)
ChromaprintAlgorithm
Definition chromaprint.h:89
@ CHROMAPRINT_ALGORITHM_TEST3
Definition chromaprint.h:92
@ CHROMAPRINT_ALGORITHM_TEST1
Definition chromaprint.h:90
@ CHROMAPRINT_ALGORITHM_DEFAULT
Definition chromaprint.h:95
@ CHROMAPRINT_ALGORITHM_TEST5
Definition chromaprint.h:94
@ CHROMAPRINT_ALGORITHM_TEST2
Definition chromaprint.h:91
@ CHROMAPRINT_ALGORITHM_TEST4
Definition chromaprint.h:93
int chromaprint_start(ChromaprintContext *ctx, int sample_rate, int num_channels)
int chromaprint_hash_fingerprint(const uint32_t *fp, int size, uint32_t *hash)
int chromaprint_get_sample_rate(ChromaprintContext *ctx)
int chromaprint_finish(ChromaprintContext *ctx)
int chromaprint_get_item_duration_ms(ChromaprintContext *ctx)
int chromaprint_get_algorithm(ChromaprintContext *ctx)
int chromaprint_decode_fingerprint(const char *encoded_fp, int encoded_size, uint32_t **fp, int *size, int *algorithm, int base64)
int chromaprint_set_option(ChromaprintContext *ctx, const char *name, int value)
int chromaprint_get_delay(ChromaprintContext *ctx)
int chromaprint_get_fingerprint(ChromaprintContext *ctx, char **fingerprint)
struct ChromaprintMatcherContextPrivate ChromaprintMatcherContext
Definition chromaprint.h:83
int chromaprint_get_raw_fingerprint(ChromaprintContext *ctx, uint32_t **fingerprint, int *size)
int chromaprint_get_raw_fingerprint_size(ChromaprintContext *ctx, int *size)
void chromaprint_dealloc(void *ptr)
int chromaprint_get_fingerprint_hash(ChromaprintContext *ctx, uint32_t *hash)
ChromaprintContext * chromaprint_new(int algorithm)
void chromaprint_free(ChromaprintContext *ctx)
struct ChromaprintContextPrivate ChromaprintContext
Definition chromaprint.h:80
int chromaprint_encode_fingerprint(const uint32_t *fp, int size, int algorithm, char **encoded_fp, int *encoded_size, int base64)
int chromaprint_feed(ChromaprintContext *ctx, const int16_t *data, int size)
const char * chromaprint_get_version(void)
int chromaprint_get_num_channels(ChromaprintContext *ctx)