SOUND4 IMPACT FM.CL Library [2.0.0]
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions
sound4.impactfm.cl.h File Reference

C interface for library. More...

#include <windows.h>
#include <stdint.h>

Go to the source code of this file.

Classes

struct  SOUND4_ProcessInfo
 
struct  SOUND4_AuxiliaryOutputInfos
 

Macros

#define IMPACTFM_DECL   __declspec(dllimport)
 
#define IMPACTFM_HAS_WEBSERVER   1
 
#define IMPACTFM_HAS_CLOUDBUS   0
 
#define IMPACTFM_AUDIOFRAME_COUNT   64
 
#define IMPACTFM_CHANNEL_COUNT   2
 
#define IMPACTFM_AUDIO_INPUT_COUNT   1
 
#define IMPACTFM_AUDIO_OUTPUT_COUNT   1
 
#define IMPACTFM_SAMPLE_RATE   48000
 
#define SOUND4_INVALID_WEBSERVER_ID   ((uint64_t)-1)
 
#define SOUND4_WEBSERVER_HTTP_OK   (1<<0)
 
#define SOUND4_WEBSERVER_HTTPS_OK   (1<<1)
 

Typedefs

typedef void(* impactfm_loggerfn) (enum impactfm_LogSeverity, const char *)
 
typedef struct _tlgProvider_t const * TraceLoggingHProvider
 
typedef wchar_t fs_char
 
typedef char *(* impactfm_storage_reader) (const fs_char *filename, void *userdata)
 
typedef void(* impactfm_storage_reader_free) (char *content, void *userdata)
 
typedef int(* impactfm_storage_writer) (const fs_char *filename, const char *content, void *userdata)
 
typedef int(* impactfm_storage_exists) (const fs_char *filename, void *userdata)
 
typedef fs_char **(* impactfm_storage_getall) (void *userdata)
 
typedef void(* impactfm_storage_getall_free) (fs_char **all, void *userdata)
 
typedef int(* impactfm_storage_remove) (const fs_char *filename, void *userdata)
 
typedef int(* impactfm_storage_rename) (const fs_char *from, const fs_char *to, void *userdata)
 

Enumerations

enum  impactfm_LogSeverity {
  none = 0 , fatal = 1 , error = 2 , warning = 3 ,
  info = 4 , verbose = 5 , verbose2 = 6 , verbose3 = 7 ,
  verbose4 = 8 , verbose5 = 9
}
 
enum  impactfm_PresetChange_Kind { change_kind_created = 1 , change_kind_modified , change_kind_deleted }
 
enum  impactfm_SampleFormat {
  INVALID_FORMAT =0 , S16_LE , S16_BE , S24_LE ,
  S24_BE , S32_LE , S32_BE , F32_LE ,
  F32_BE , S16_NATIVE =S16_LE , S24_NATIVE =S24_LE , S32_NATIVE =S32_LE ,
  F32_NATIVE =F32_LE
}
 
enum  impactfm_ConverterTargetMode {
  ConverterTargetMode_AsInput = 0 , ConverterTargetMode_Mono , ConverterTargetMode_Stereo , ConverterTargetMode_StereoToMono ,
  ConverterTargetMode_MonoToStereo
}
 

Functions

const struct SOUND4_ProcessInfo * SOUND4_GetProcessInfo ()
 
const char * impactfm_GetVersion ()
 
unsigned int impactfm_GetChunkSizeInFrames ()
 
unsigned int * impactfm_GetPossibleChunkSizeInFrames ()
 
unsigned int impactfm_GetChannelCount ()
 
unsigned int impactfm_GetAudioInputCount ()
 
unsigned int impactfm_GetAudioOutputCount ()
 
unsigned int impactfm_GetSampleRate ()
 
void impactfm_SetLoggerCallback (impactfm_loggerfn logger)
 
void impactfm_SetLogSeverity (enum impactfm_LogSeverity severity)
 
struct impactfm_CParameters * impactfm_NewParameters ()
 
void impactfm_FreeParameters (struct impactfm_CParameters *params)
 
void impactfm_SetParameter (struct impactfm_CParameters *params, const char *name, const char *value)
 
const char * impactfm_GetParameter (struct impactfm_CParameters *params, const char *name)
 
void impactfm_FreeParameterValue (const char *value)
 
struct impactfm_CInstance * impactfm_InitProcess (const char *LoginKey, const char *RadioName, const char *Access_Key_ID, const char *Access_Key_Secret, const char *save_path)
 
struct impactfm_CInstance * impactfm_InitProcess2 (const char *LoginKey, const char *RadioName, const char *Access_Key_ID, const char *Access_Key_Secret, const char *save_path, const struct impactfm_CParameters *parameters)
 
struct impactfm_CInstance * impactfm_InitProcess3 (const char *LoginKey, const char *RadioName, const char *Access_Key_ID, const char *Access_Key_Secret, const char *save_path, const struct impactfm_CParameters *parameters, unsigned int frames_per_chunk)
 
unsigned int impactfm_GetProcessChunkFrames (struct impactfm_CInstance *instance)
 
int impactfm_TerminateProcess (struct impactfm_CInstance *instance)
 
void impactfm_ExitProcess (struct impactfm_CInstance *instance)
 
void impactfm_SetInstanceTracing (struct impactfm_CParameters *params, TraceLoggingHProvider tracing_provider, GUID activity_guid)
 
void impactfm_SetInstanceTracingProcessActivity (struct impactfm_CInstance *instance, GUID activity_guid)
 
void impactfm_SetPresetManager (struct impactfm_CParameters *params, impactfm_storage_reader reader, impactfm_storage_reader_free, impactfm_storage_writer writer, impactfm_storage_exists exists, impactfm_storage_getall getall, impactfm_storage_getall_free getall_free, impactfm_storage_remove remove, impactfm_storage_rename rename, int IsReadOnly, void *userdata)
 
void impactfm_PresetManager_InformChange (struct impactfm_CInstance *instance, const fs_char *relative_path, enum impactfm_PresetChange_Kind change_kind)
 
void impactfm_SetMetadata (struct impactfm_CInstance *instance, const char *key, const char *value)
 
void impactfm_SetMetadataMulti (struct impactfm_CInstance *instance, const char **keyvalue)
 
const char ** impactfm_GetMetadataInfos (struct impactfm_CInstance *instance)
 
void impactfm_FreeMetadataInfos (struct impactfm_CInstance *instance, const char **infos)
 
void impactfm_StartUpdateThread (struct impactfm_CInstance *instance, unsigned int port)
 
void impactfm_StopUpdateThread (struct impactfm_CInstance *instance)
 
int impactfm_WaitUpdateThreadReady (struct impactfm_CInstance *instance, int milliseconds)
 
void impactfm_ProcessAudio (struct impactfm_CInstance *instance, const float *input, float *output)
 
void impactfm_ProcessAudio_Planar (struct impactfm_CInstance *instance, float const *const *input, float *const *output)
 
float * impactfm_GetBufferIn (struct impactfm_CInstance *instance)
 
float * impactfm_GetBufferOut (struct impactfm_CInstance *instance)
 
unsigned int impactfm_GetEstimatedDelay (struct impactfm_CInstance *instance)
 
struct SOUND4_AuxiliaryOutputInfos ** impactfm_GetAuxiliaryAudioOutputInfos (struct impactfm_CInstance *instance)
 
void impactfm_FreeAuxiliaryAudioInfos (struct SOUND4_AuxiliaryOutputInfos **infos)
 
int impactfm_ActivateAuxiliaryAudioID (struct impactfm_CInstance *instance, const char *id)
 
unsigned int impactfm_GetAuxiliaryAudioEstimatedDelay (struct impactfm_CInstance *instance, const char *id)
 
const char * impactfm_GetFormatName (const enum impactfm_SampleFormat fmt)
 
enum impactfm_SampleFormat impactfm_GetFormatFromName (const char *name)
 
unsigned int impactfm_GetBytesFromFormat (const enum impactfm_SampleFormat fmt)
 
unsigned int impactfm_GetMaxPacketFrame (struct impactfm_CInstance *instance)
 
unsigned int impactfm_AddAudio (struct impactfm_CInstance *instance, const uint8_t *payload, unsigned int nFrame, enum impactfm_SampleFormat fmt)
 
unsigned int impactfm_AddPadAudio (struct impactfm_CInstance *instance)
 
unsigned int impactfm_GetOutputCount (struct impactfm_CInstance *instance)
 
unsigned int impactfm_GetAudio (struct impactfm_CInstance *instance, uint8_t *payload, unsigned int max_nFrame, enum impactfm_SampleFormat fmt)
 
void impactfm_AudioConvertFrom (const uint8_t *payload, float *output, size_t nSpl, enum impactfm_SampleFormat fmt)
 
void impactfm_AudioConvertTo (const float *input, uint8_t *payload, size_t nSpl, enum impactfm_SampleFormat fmt)
 
void impactfm_StereoToMono (const float *input, float *output, size_t nFrame)
 
void impactfm_MonoToStereo (const float *input, float *output, size_t nFrame)
 
void impactfm_StereoToMono_Planar (const float *inputL, const float *inputR, float *output, size_t nFrame)
 
void impactfm_MonoToStereo_Planar (const float *input, float *outputL, float *outputR, size_t nFrame)
 
void impactfm_AudioMonoFromLiveStereo (const uint8_t *payload, float *output)
 
void impactfm_AudioMonoToLiveStereo (const float *input, uint8_t *payload)
 
struct impactfm_CAudioConverter * impactfm_GetAudioConverter (enum impactfm_SampleFormat fmt, size_t nFrame, size_t payl_ch, size_t payl_ch_offset, enum impactfm_ConverterTargetMode target_mode)
 
void impactfm_FreeAudioConverter (struct impactfm_CAudioConverter *converter)
 
void impactfm_AudioConverter_From (struct impactfm_CAudioConverter *converter, const uint8_t *payload, float *output)
 
void impactfm_AudioConverter_To (struct impactfm_CAudioConverter *converter, const float *input, uint8_t *payload)
 
struct impactfm_CClientInstance * impactfm_NewClient (struct impactfm_CInstance *instance)
 
void impactfm_DeleteClient (struct impactfm_CClientInstance *client)
 
const char * impactfm_ProcessJson (struct impactfm_CClientInstance *client, const char *json_str, int *need_save)
 
void impactfm_FreeJsonAnswer (const char *json_str)
 
int impactfm_SaveState (struct impactfm_CInstance *instance)
 
uint64_t impactfm_Webserver_tcp (unsigned int listenport, unsigned int listenport_secure, const char *socket_ip, unsigned int socket_port)
 
uint64_t impactfm_Webserver_tcp2 (unsigned int listenport, unsigned int listenport_secure, const char *socket_ip, unsigned int socket_port, const struct impactfm_CParameters *parameters)
 
uint64_t impactfm_Webserver (unsigned int listenport, unsigned int listenport_secure, struct impactfm_CInstance *instance)
 
int impactfm_Webserver_Stop (uint64_t id, int timeout_ms)
 
int impactfm_Webserver_Status (uint64_t id)
 
void impactfm_Webserver_SetAppHealth (struct impactfm_CInstance *instance, int httpcode, const char *contenttype, const char *content)
 
void impactfm_Webserver_GetAppHealth (struct impactfm_CInstance *instance, int *httpcode, char **contenttype, char **content)
 
void impactfm_Webserver_FreeString (char *str)
 

Macro Definition Documentation

◆ IMPACTFM_DECL

#define IMPACTFM_DECL   __declspec(dllimport)

Definition at line 14 of file sound4.impactfm.cl.h.

◆ IMPACTFM_HAS_CLOUDBUS

#define IMPACTFM_HAS_CLOUDBUS   0

Definition at line 26 of file sound4.impactfm.cl.h.

◆ IMPACTFM_HAS_WEBSERVER

#define IMPACTFM_HAS_WEBSERVER   1

Definition at line 25 of file sound4.impactfm.cl.h.

Typedef Documentation

◆ TraceLoggingHProvider

typedef struct _tlgProvider_t const* TraceLoggingHProvider

Definition at line 419 of file sound4.impactfm.cl.h.