finally we can use C++ in web examples

This commit is contained in:
Stefano D'Angelo 2024-02-02 17:48:53 +01:00
parent 1d2f9dda39
commit e4e9643509
6 changed files with 15 additions and 10 deletions

View File

@ -3,3 +3,4 @@
# define INFINITY (__builtin_inff())
#endif
#define BW_NO_DEBUG
#define BW_CXX_NO_ARRAY

View File

@ -2,19 +2,19 @@
#include "impl.h"
typedef struct plugin {
impl impl;
impl handle;
} plugin;
static void plugin_init(plugin *instance) {
instance->impl = impl_new();
instance->handle = impl_new();
}
static void plugin_fini(plugin *instance) {
impl_free(instance->impl);
impl_free(instance->handle);
}
static void plugin_set_sample_rate(plugin *instance, float sample_rate) {
impl_set_sample_rate(instance->impl, sample_rate);
impl_set_sample_rate(instance->handle, sample_rate);
}
static size_t plugin_mem_req(plugin *instance) {
@ -28,17 +28,17 @@ static void plugin_mem_set(plugin *instance, void *mem) {
}
static void plugin_reset(plugin *instance) {
impl_reset(instance->impl);
impl_reset(instance->handle);
}
static void plugin_set_parameter(plugin *instance, size_t index, float value) {
impl_set_parameter(instance->impl, index, value);
impl_set_parameter(instance->handle, index, value);
}
static float plugin_get_parameter(plugin *instance, size_t index) {
return impl_get_parameter(instance->impl, index);
return impl_get_parameter(instance->handle, index);
}
static void plugin_process(plugin *instance, const float **inputs, float **outputs, size_t n_samples) {
impl_process(instance->impl, inputs, outputs, n_samples);
impl_process(instance->handle, inputs, outputs, n_samples);
}

View File

@ -2,7 +2,7 @@
"make": {
"cxxSrcs": "../src/impl.cpp",
"cflags": "-I../../../include -I../../common/src -I../../common/src/cxx",
"cxxflags": "-I../../../include -I../../common/src -I../../common/src/cxx",
"cxxflags": "-I../../../include -I../../common/src -I../../common/src/cxx -std=c++11",
"pluginDir": "../src"
}
}

View File

@ -1,6 +1,7 @@
{
"web_make": {
"cflags": "-DWASM",
"cxxflags": "-DWASM -std=c++11",
"commonDir": "../../common/web"
}
}

View File

@ -1,4 +1,6 @@
#include "impl.h"
#include "common.h"
#include <bw_ap1.h>
using namespace Brickworks;

View File

@ -33,6 +33,7 @@
* definition requirement in C++.</li>
* <li>Added <code>BW_CXX_NO_ARRAY</code>.</li>
* <li>Fixed sign-related warning in <code>bw_hash_sdbm()</code>.</li>
* <li>Now checking that C++ compilers support C++11 or later.</li>
* </ul>
* </li>
* <li>Version <strong>1.0.0</strong>:
@ -95,7 +96,7 @@
#ifdef __cplusplus
# if __cplusplus < 201103L
# error Detected C++ compiler that doesn't support C++11
# error Detected C++ compiler that does not support C++11
# endif
#endif