13#ifndef __BEEPINGCORELIB_API__
14#define __BEEPINGCORELIB_API__
18#define BEEPING_DLLEXPORT __declspec(dllexport)
20#define BEEPING_DLLEXPORT
24#define BEEPING_DLLEXPORT __attribute__((visibility("default")))
108 void* beepingObject);
124 const float* samplesBuffer,
125 void* beepingObject);
146 const char* stringToEncode, int32_t size, int32_t type,
147 const char* melodyString, int32_t melodySize,
void* beepingObject);
161 void* beepingObject);
187 void* beepingObject);
200 void* beepingObject);
BEEPING_DLLEXPORT float BEEPING_GetDecodingEndFreq(void *beepingObject)
Upper bound of the decoding frequency range (Hz).
BEEPING_DLLEXPORT int32_t BEEPING_ResetEncodedAudioBuffer(void *beepingObject)
Reset the read index, allowing the encoded buffer to be re-read.
BEEPING_MODE
Encoding / decoding mode selector.
Definition BeepingCoreLib_api.h:40
@ BEEPING_MODE_ALL
Decode Audible + Inaudible simultaneously.
Definition BeepingCoreLib_api.h:44
@ BEEPING_MODE_AUDIBLE
Audible tones in the 3.3-10 kHz range.
Definition BeepingCoreLib_api.h:41
@ BEEPING_MODE_INAUDIBLE
Inaudible tones (17.8-21 kHz at 44.1k+, adaptive at lower rates).
Definition BeepingCoreLib_api.h:42
BEEPING_DLLEXPORT int32_t BEEPING_GetVersionInfo(char *versioninfo)
Copy the library version string into a caller-provided buffer.
BEEPING_DLLEXPORT const char * BEEPING_GetVersion()
Return the library version string.
BEEPING_DLLEXPORT void * BEEPING_Create()
Create a new BeepingCore instance.
BEEPING_DLLEXPORT int32_t BEEPING_EncodeDataToAudioBuffer(const char *stringToEncode, int32_t size, int32_t type, const char *melodyString, int32_t melodySize, void *beepingObject)
Encode a string payload into an internal audio buffer.
BEEPING_DLLEXPORT int32_t BEEPING_GetDecodedMode(void *beepingObject)
Mode that was decoded when BEEPING_MODE_ALL is active.
BEEPING_DLLEXPORT float BEEPING_GetReceivedBeepsVolume(void *beepingObject)
Average received beep volume in dB for the last transmission.
BEEPING_DLLEXPORT float BEEPING_GetDecodingBeginFreq(void *beepingObject)
Lower bound of the decoding frequency range (Hz).
BEEPING_DLLEXPORT int32_t BEEPING_Configure(int mode, float samplingRate, int32_t bufferSize, void *beepingObject)
Configure the library for a given mode and sample rate.
BEEPING_DLLEXPORT int32_t BEEPING_GetEncodedAudioBuffer(float *audioBuffer, void *beepingObject)
Read a chunk of encoded audio into the caller's buffer.
BEEPING_DLLEXPORT float BEEPING_GetConfidence(void *beepingObject)
Combined reception-quality score (0.0 poor — 1.0 ideal).
BEEPING_DLLEXPORT float BEEPING_GetConfidenceNoise(void *beepingObject)
Confidence derived from signal-to-noise ratio (0.0 — 1.0).
BEEPING_DLLEXPORT int32_t BEEPING_DecodeAudioBuffer(float *audioBuffer, int size, void *beepingObject)
Feed an audio buffer to the decoder.
BEEPING_DLLEXPORT int32_t BEEPING_GetDecodedData(char *stringDecoded, void *beepingObject)
Retrieve the last decoded string.
BEEPING_DLLEXPORT int32_t BEEPING_SetAudioSignature(int32_t samplesSize, const float *samplesBuffer, void *beepingObject)
Install a custom audio signature to mix with encoded output.
BEEPING_DLLEXPORT float BEEPING_GetConfidenceError(void *beepingObject)
Confidence derived from Reed-Solomon corrections (0.0 — 1.0).
BEEPING_DLLEXPORT void BEEPING_Destroy(void *beepingObject)
Destroy a BeepingCore instance.