SOUND4 IMPACT.CL Library [1.3.6]
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | Functions | Variables
sound4.impact.cl_dyn.hpp File Reference

C++ wrapper for dynamic loading library. More...

#include <string>
#include <exception>
#include <thread>
#include <functional>
#include <memory>
#include <array>
#include <assert.h>
#include <stdexcept>
#include <filesystem>
#include <string.h>
#include <libloaderapi.h>
#include "sound4.impact.cl.h"
#include <stringapiset.h>
#include <wchar.h>

Go to the source code of this file.

Classes

class  sound4::impact::dyn::helper::DynFuncHolder< T >
 Helper to wrap a function pointer. More...
 
class  sound4::impact::dyn::helper::CDynLoader
 Helper to load dynamic library. More...
 
class  sound4::impact::dyn::CDynLib
 Dynamic library interface. More...
 
struct  sound4::impact::dyn::helper::SampleFormat< T >
 Helper for Sample format types. More...
 
class  sound4::impact::dyn::CPresetLoader
 Custom preset handler helper. More...
 
class  sound4::impact::dyn::CInstance
 Instance handling class. More...
 
class  sound4::impact::dyn::CInstance::CClient
 

Namespaces

namespace  sound4
 
namespace  sound4::impact
 
namespace  sound4::impact::dyn
 
namespace  sound4::impact::dyn::helper
 

Macros

#define UNIXLIKE   0
 

Typedefs

using sound4::impact::dyn::SampleFormat = impact_SampleFormat
 
using sound4::impact::dyn::LogSeverity = impact_LogSeverity
 
using sound4::impact::dyn::log_cb_t = std::function< void(LogSeverity, const std::string &)>
 
using sound4::impact::dyn::PresetChange_Kind = impact_PresetChange_Kind
 

Functions

static char * impact_custom_reader (const fs_char *filename, void *userdata)
 
static void impact_custom_reader_free (char *content, void *userdata)
 
static int impact_custom_writer (const fs_char *filename, const char *content, void *userdata)
 
static int impact_custom_exists (const fs_char *filename, void *userdata)
 
static fs_char ** impact_custom_getall (void *userdata)
 
static void impact_custom_getall_free (fs_char **all, void *userdata)
 
static int impact_custom_remove (const fs_char *filename, void *userdata)
 
static int impact_custom_rename (const fs_char *from, const fs_char *to, void *userdata)
 
static std::string sound4::impact::dyn::helper::WStringToUTF8 (const std::wstring &wstr)
 
static std::wstring sound4::impact::dyn::helper::UTF8ToWString (const std::string &str)
 
static void sound4::impact::dyn::helper::AudioConvertFrom (CDynLib &dynlib, const uint8_t *payload, float *output, size_t nSpl, impact_SampleFormat fmt)
 
static void sound4::impact::dyn::helper::AudioConvertTo (CDynLib &dynlib, const float *input, uint8_t *payload, size_t nSpl, impact_SampleFormat fmt)
 
static void sound4::impact::dyn::helper::StereoToMono (CDynLib &dynlib, const float *input, float *output, size_t nFrame)
 
static void sound4::impact::dyn::helper::MonoToStereo (CDynLib &dynlib, const float *input, float *output, size_t nFrame)
 
static void sound4::impact::dyn::helper::StereoToMono_Planar (CDynLib &dynlib, const float *inputL, const float *inputR, float *output, size_t nFrame)
 
static void sound4::impact::dyn::helper::MonoToStereo_Planar (CDynLib &dynlib, const float *input, float *outputL, float *outputR, size_t nFrame)
 
static void sound4::impact::dyn::helper::AudioMonoFromLiveStereo (CDynLib &dynlib, const uint8_t *payload, float *output)
 
static void sound4::impact::dyn::helper::AudioMonoToLiveStereo (CDynLib &dynlib, const float *input, uint8_t *payload)
 
static std::string sound4::impact::dyn::GetVersion (CDynLib &dynlib)
 
static unsigned int sound4::impact::dyn::GetChunkSizeInFrames (CDynLib &dynlib)
 
static std::vector< unsigned int > sound4::impact::dyn::GetPossibleChunkSizeInFrames (CDynLib &dynlib)
 
static unsigned int sound4::impact::dyn::GetChannelCount (CDynLib &dynlib)
 
static unsigned int sound4::impact::dyn::GetAudioInputCount (CDynLib &dynlib)
 
static unsigned int sound4::impact::dyn::GetAudioOutputCount (CDynLib &dynlib)
 
static unsigned int sound4::impact::dyn::GetSampleRate (CDynLib &dynlib)
 
static void sound4::impact::dyn::SanityCheck (CDynLib &dynlib, bool a_bCheckFrames=true)
 
static std::string sound4::impact::dyn::GetFormatName (CDynLib &dynlib, const SampleFormat fmt)
 
static SampleFormat sound4::impact::dyn::GetFormatFromName (CDynLib &dynlib, const std::string &name)
 
static unsigned int sound4::impact::dyn::GetBytesFromFormat (CDynLib &dynlib, const SampleFormat fmt)
 
static void sound4::impact::dyn::_log_cb_c (impact_LogSeverity severity, const char *c_msg)
 
static void sound4::impact::dyn::SetLogSeverity (CDynLib &dynlib, LogSeverity severity)
 
static void sound4::impact::dyn::SetLoggerCallback (CDynLib &dynlib, log_cb_t cb)
 

Variables

static constexpr const char * sound4::impact::dyn::process_name = "SOUND4 IMPACT.CL"
 
static constexpr const char * sound4::impact::dyn::process_shortname = "impact"
 
const size_t sound4::impact::dyn::ChunkFrames = 64
 
const size_t sound4::impact::dyn::InputChannels = 2 * 1
 
const size_t sound4::impact::dyn::OutputChannels = 2 * 1
 
const size_t sound4::impact::dyn::InputSampleSize =ChunkFrames*InputChannels
 
const size_t sound4::impact::dyn::OutputSampleSize =ChunkFrames*OutputChannels
 
const size_t sound4::impact::dyn::SampleRate = 48000
 
static log_cb_t sound4::impact::dyn::_log_cb
 

Detailed Description

You need to load the dynamic library, and if it succeed you can use it.

Definition in file sound4.impact.cl_dyn.hpp.

Macro Definition Documentation

◆ UNIXLIKE

#define UNIXLIKE   0

Definition at line 23 of file sound4.impact.cl_dyn.hpp.

Function Documentation

◆ impact_custom_exists()

static int impact_custom_exists ( const fs_char filename,
void *  userdata 
)
static

Definition at line 1542 of file sound4.impact.cl_dyn.hpp.

◆ impact_custom_getall()

static fs_char ** impact_custom_getall ( void *  userdata)
static

Definition at line 1547 of file sound4.impact.cl_dyn.hpp.

◆ impact_custom_getall_free()

static void impact_custom_getall_free ( fs_char **  all,
void *  userdata 
)
static

Definition at line 1557 of file sound4.impact.cl_dyn.hpp.

◆ impact_custom_reader()

static char * impact_custom_reader ( const fs_char filename,
void *  userdata 
)
static

Definition at line 1528 of file sound4.impact.cl_dyn.hpp.

◆ impact_custom_reader_free()

static void impact_custom_reader_free ( char *  content,
void *  userdata 
)
static

Definition at line 1533 of file sound4.impact.cl_dyn.hpp.

◆ impact_custom_remove()

static int impact_custom_remove ( const fs_char filename,
void *  userdata 
)
static

Definition at line 1564 of file sound4.impact.cl_dyn.hpp.

◆ impact_custom_rename()

static int impact_custom_rename ( const fs_char from,
const fs_char to,
void *  userdata 
)
static

Definition at line 1569 of file sound4.impact.cl_dyn.hpp.

◆ impact_custom_writer()

static int impact_custom_writer ( const fs_char filename,
const char *  content,
void *  userdata 
)
static

Definition at line 1537 of file sound4.impact.cl_dyn.hpp.