9 #define PLUGHOST_DECL __attribute__ ((visibility ("default")))
10 #elif defined(_WIN32) || defined(WIN32)
11 #ifdef BUILDING_PLUGHOST_DLL
12 #define PLUGHOST_DECL __declspec(dllexport)
14 #define PLUGHOST_DECL __declspec(dllimport)
18 #define PLUGHOST_HAS_WEBSERVER 1
19 #define PLUGHOST_HAS_CLOUDBUS 0
154 #define PLUGHOST_AUDIOFRAME_COUNT 64
160 #define PLUGHOST_CHANNEL_COUNT 2
166 #define PLUGHOST_AUDIO_INPUT_COUNT 1
172 #define PLUGHOST_AUDIO_OUTPUT_COUNT 1
178 #define PLUGHOST_SAMPLE_RATE 48000
361 const char *LoginKey,
362 const char *RadioName,
363 const char *AWS_Access_ID,
364 const char *AWS_Access_Secret,
365 const char *save_path
376 const char *LoginKey,
377 const char *RadioName,
378 const char *AWS_Access_ID,
379 const char *AWS_Access_Secret,
380 const char *save_path,
429 const char *LoginKey,
430 const char *RadioName,
431 const char *AWS_Access_ID,
432 const char *AWS_Access_Secret,
433 const char *save_path,
435 unsigned int frames_per_chunk
471 #if PLUGHOST_HAS_CLOUDBUS
481 struct plughost_CBus;
495 PLUGHOST_DECL void plughost_FreeBus(
struct plughost_CBus *bus);
551 typedef char * (*plughost_storage_reader) (
const fs_char *filename,
void* userdata);
587 typedef fs_char** (*plughost_storage_getall) (
void* userdata);
796 ,
float const *
const *input
797 ,
float *
const *output);
847 #define __BYTE_ORDER__ REG_DWORD
848 #define __ORDER_LITTLE_ENDIAN__ REG_DWORD_LITTLE_ENDIAN
849 #define __ORDER_BIG_ENDIAN__ REG_DWORD_BIG_ENDIAN
867 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
1406 #if PLUGHOST_HAS_WEBSERVER
1502 #define SOUND4_INVALID_WEBSERVER_ID ((uint64_t)-1)
1507 #define SOUND4_WEBSERVER_HTTP_OK (1<<0)
1511 #define SOUND4_WEBSERVER_HTTPS_OK (1<<1)
enum plughost_SampleFormat plughost_GetFormatFromName(const char *name)
unsigned int plughost_GetOutputCount(struct plughost_CInstance *instance)
unsigned int plughost_GetBytesFromFormat(const enum plughost_SampleFormat fmt)
unsigned int plughost_AddAudio(struct plughost_CInstance *instance, const uint8_t *payload, unsigned int nFrame, enum plughost_SampleFormat fmt)
unsigned int plughost_GetMaxPacketFrame(struct plughost_CInstance *instance)
unsigned int plughost_AddPadAudio(struct plughost_CInstance *instance)
unsigned int plughost_GetAudio(struct plughost_CInstance *instance, uint8_t *payload, unsigned int max_nFrame, enum plughost_SampleFormat fmt)
const char * plughost_GetFormatName(const enum plughost_SampleFormat fmt)
@ F32_NATIVE
32-bit floating-point, native
@ S16_NATIVE
16-bit signed integer, native
@ F32_LE
32-bit floating-point, little-endian
@ S16_BE
16-bit signed integer, big-endian
@ S32_BE
32-bit signed integer, big-endian
@ S24_BE
24-bit signed integer, big-endian
@ S16_LE
16-bit signed integer, little-endian
@ F32_BE
32-bit floating-point, big-endian
@ S32_NATIVE
32-bit signed integer, native
@ S24_LE
24-bit signed integer, little-endian
@ S32_LE
32-bit signed integer, little-endian
@ S24_NATIVE
24-bit signed integer, native
void plughost_DeleteClient(struct plughost_CClientInstance *client)
void plughost_FreeJsonAnswer(const char *json_str)
struct plughost_CClientInstance * plughost_NewClient(struct plughost_CInstance *instance)
int plughost_SaveState(struct plughost_CInstance *instance)
const char * plughost_ProcessJson(struct plughost_CClientInstance *client, const char *json_str, int *need_save)
void plughost_AudioConvertFrom(const uint8_t *payload, float *output, size_t nSpl, enum plughost_SampleFormat fmt)
void plughost_StereoToMono(const float *input, float *output, size_t nFrame)
void plughost_MonoToStereo(const float *input, float *output, size_t nFrame)
void plughost_AudioMonoToLiveStereo(const float *input, uint8_t *payload)
void plughost_StereoToMono_Planar(const float *inputL, const float *inputR, float *output, size_t nFrame)
void plughost_AudioConvertTo(const float *input, uint8_t *payload, size_t nSpl, enum plughost_SampleFormat fmt)
void plughost_MonoToStereo_Planar(const float *input, float *outputL, float *outputR, size_t nFrame)
void plughost_AudioMonoFromLiveStereo(const uint8_t *payload, float *output)
float * plughost_GetBufferIn(struct plughost_CInstance *instance)
void plughost_ProcessAudio_Planar(struct plughost_CInstance *instance, float const *const *input, float *const *output)
void plughost_ProcessAudio(struct plughost_CInstance *instance, const float *input, float *output)
float * plughost_GetBufferOut(struct plughost_CInstance *instance)
unsigned int plughost_GetEstimatedDelay(struct plughost_CInstance *instance)
void(* plughost_loggerfn)(enum plughost_LogSeverity, const char *)
unsigned int plughost_GetAudioOutputCount()
const char * plughost_GetVersion()
unsigned int plughost_GetSampleRate()
unsigned int plughost_GetChannelCount()
unsigned int * plughost_GetPossibleChunkSizeInFrames()
void plughost_SetLogSeverity(enum plughost_LogSeverity severity)
unsigned int plughost_GetAudioInputCount()
unsigned int plughost_GetChunkSizeInFrames()
void plughost_SetLoggerCallback(plughost_loggerfn logger)
const char * plughost_GetParameter(struct plughost_CParameters *params, const char *name)
void plughost_FreeParameterValue(const char *value)
int plughost_TerminateProcess(struct plughost_CInstance *instance)
struct plughost_CParameters * plughost_NewParameters()
struct plughost_CInstance * plughost_InitProcess(const char *LoginKey, const char *RadioName, const char *AWS_Access_ID, const char *AWS_Access_Secret, const char *save_path)
struct plughost_CInstance * plughost_InitProcess3(const char *LoginKey, const char *RadioName, const char *AWS_Access_ID, const char *AWS_Access_Secret, const char *save_path, const struct plughost_CParameters *parameters, unsigned int frames_per_chunk)
void plughost_ExitProcess(struct plughost_CInstance *instance)
void plughost_FreeParameters(struct plughost_CParameters *params)
void plughost_SetParameter(struct plughost_CParameters *params, const char *name, const char *value)
struct plughost_CInstance * plughost_InitProcess2(const char *LoginKey, const char *RadioName, const char *AWS_Access_ID, const char *AWS_Access_Secret, const char *save_path, const struct plughost_CParameters *parameters)
unsigned int plughost_GetProcessChunkFrames(struct plughost_CInstance *instance)
int(* plughost_storage_writer)(const fs_char *filename, const char *content, void *userdata)
int(* plughost_storage_rename)(const fs_char *from, const fs_char *to, void *userdata)
void(* plughost_storage_reader_free)(char *content, void *userdata)
void plughost_SetPresetManager(struct plughost_CParameters *params, plughost_storage_reader reader, plughost_storage_reader_free, plughost_storage_writer writer, plughost_storage_exists exists, plughost_storage_getall getall, plughost_storage_getall_free getall_free, plughost_storage_remove remove, plughost_storage_rename rename, int IsReadOnly, void *userdata)
int(* plughost_storage_exists)(const fs_char *filename, void *userdata)
fs_char **(* plughost_storage_getall)(void *userdata)
char *(* plughost_storage_reader)(const fs_char *filename, void *userdata)
plughost_PresetChange_Kind
void plughost_PresetManager_InformChange(struct plughost_CInstance *instance, const fs_char *relative_path, enum plughost_PresetChange_Kind change_kind)
int(* plughost_storage_remove)(const fs_char *filename, void *userdata)
void(* plughost_storage_getall_free)(fs_char **all, void *userdata)
@ change_kind_modified
Path has been modified.
@ change_kind_created
Path has been created.
@ change_kind_deleted
Path has been deleted.
void plughost_StartUpdateThread(struct plughost_CInstance *instance, unsigned int port)
int plughost_WaitUpdateThreadReady(struct plughost_CInstance *instance, int milliseconds)
void plughost_StopUpdateThread(struct plughost_CInstance *instance)
int plughost_Webserver_Status(uint64_t id)
int plughost_Webserver_Stop(uint64_t id, int timeout_ms)
uint64_t plughost_Webserver_tcp2(unsigned int listenport, unsigned int listenport_secure, const char *socket_ip, unsigned int socket_port, const struct plughost_CParameters *parameters)
uint64_t plughost_Webserver_tcp(unsigned int listenport, unsigned int listenport_secure, const char *socket_ip, unsigned int socket_port)
uint64_t plughost_Webserver(unsigned int listenport, unsigned int listenport_secure, struct plughost_CInstance *instance)