introduce BW_{INCLUDE_WITH_QUOTES,NO_CXX,CXX_NO_EXTERN_C}

This commit is contained in:
Stefano D'Angelo 2024-09-21 12:45:00 +02:00
parent 324aa911fd
commit daf0cb3e1c
56 changed files with 2040 additions and 1202 deletions

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_lp1 bw_math bw_one_pole }}}
* description {{{
* First-order allpass filter (90° shift at cutoff, approaching 180° shift
@ -28,8 +28,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_ap1_process()</code> to
* <code>bw_ap1_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_ap1_process_multi()</code> to
@ -95,9 +98,13 @@
#ifndef BW_AP1_H
#define BW_AP1_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -285,7 +292,7 @@ static inline char bw_ap1_state_is_valid(
* than or equal to that of `bw_ap1_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -294,9 +301,13 @@ static inline char bw_ap1_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_lp1.h"
#else
# include <bw_lp1.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -631,8 +642,11 @@ static inline char bw_ap1_state_is_valid(
return bw_lp1_state_is_valid(coeffs ? &coeffs->lp1_coeffs : BW_NULL, &state->lp1_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole bw_svf }}}
* description {{{
* Second-order allpass filter (180° shift at cutoff, approaching 360° shift
@ -28,8 +28,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_ap2_process()</code> to
* <code>bw_ap2_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_ap2_process_multi()</code> to
@ -94,9 +97,13 @@
#ifndef BW_AP2_H
#define BW_AP2_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -294,7 +301,7 @@ static inline char bw_ap2_state_is_valid(
* than or equal to that of `bw_ap2_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -303,9 +310,13 @@ static inline char bw_ap2_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_svf.h"
#else
# include <bw_svf.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -659,8 +670,11 @@ static inline char bw_ap2_state_is_valid(
return bw_svf_state_is_valid(coeffs ? &coeffs->svf_coeffs : BW_NULL, &state->svf_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,15 +20,18 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_gain bw_math bw_one_pole }}}
* description {{{
* Stereo balance.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_balance_process()</code> to
* <code>bw_balance_process_multi()</code>.</li>
* <li>Added debugging checks in
@ -84,9 +87,13 @@
#ifndef BW_BALANCE_H
#define BW_BALANCE_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -203,7 +210,7 @@ static inline char bw_balance_coeffs_is_valid(
* than or equal to that of `bw_balance_coeffs`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -212,10 +219,15 @@ static inline char bw_balance_coeffs_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_gain.h"
#else
# include <bw_math.h>
# include <bw_gain.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -482,8 +494,11 @@ static inline char bw_balance_coeffs_is_valid(
return bw_gain_coeffs_is_valid(&coeffs->l_coeffs) && bw_gain_coeffs_is_valid(&coeffs->r_coeffs);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -34,6 +34,9 @@
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added gate parameter.</li>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_bd_reduce_process()</code>
* to <code>bw_bd_reduce_process_multi()</code>.</li>
* <li>Added debugging checks in
@ -93,9 +96,13 @@
#ifndef BW_BD_REDUCE_H
#define BW_BD_REDUCE_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -236,7 +243,7 @@ static inline char bw_bd_reduce_coeffs_is_valid(
* than or equal to that of `bw_bd_reduce_coeffs`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -245,9 +252,13 @@ static inline char bw_bd_reduce_coeffs_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
#else
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -527,8 +538,11 @@ static inline char bw_bd_reduce_coeffs_is_valid(
return 1;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -31,6 +31,9 @@
* <ul>
* <li>Added <code>bw_buf_copy()</code> and
* <code>bw_buf_copy_multi()</code>.</li>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging check in
* <code>bw_buf_{neg,add,scale,mix,mul}_multi()</code> to ensure
* that buffers used for both input and output appear at the same
@ -90,9 +93,13 @@
#ifndef BW_BUF_H
#define BW_BUF_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -258,7 +265,7 @@ static inline void bw_buf_mul_multi(
* `n_channels` buffers `dest`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -267,7 +274,7 @@ static inline void bw_buf_mul_multi(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -527,8 +534,11 @@ static inline void bw_buf_mul_multi(
bw_buf_mul(src1[i], src2[i], dest[i], n_elems);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.0.1 }}}
* version {{{ 1.1.0 }}}
* requires {{{ bw_common bw_gain bw_math bw_one_pole bw_svf }}}
* description {{{
* Cab simulator effect.
@ -30,8 +30,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.0.1</strong>:
* <li>Version <strong>1.1.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_cab_process()</code> to
* <code>bw_cab_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_cab_process_multi()</code> to
@ -51,9 +54,13 @@
#ifndef BW_CAB_H
#define BW_CAB_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -238,7 +245,7 @@ static inline char bw_cab_state_is_valid(
* than or equal to that of `bw_cab_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -247,10 +254,15 @@ static inline char bw_cab_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_svf.h"
# include "bw_gain.h"
#else
# include <bw_svf.h>
# include <bw_gain.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -656,8 +668,11 @@ static inline char bw_cab_state_is_valid(
&& bw_svf_state_is_valid(coeffs ? &coeffs->bph_coeffs : BW_NULL, &state->bph_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{
* bw_buf bw_comb bw_common bw_delay bw_gain bw_math bw_one_pole bw_osc_sin
* bw_phase_gen
@ -36,8 +36,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_chorus_process()</code> to
* <code>bw_chorus_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_chorus_process_multi()</code>
@ -101,9 +104,13 @@
#ifndef BW_CHORUS_H
#define BW_CHORUS_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -357,7 +364,7 @@ static inline char bw_chorus_state_is_valid(
* than or equal to that of `bw_chorus_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -366,11 +373,17 @@ static inline char bw_chorus_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_phase_gen.h"
# include "bw_osc_sin.h"
# include "bw_comb.h"
#else
# include <bw_phase_gen.h>
# include <bw_osc_sin.h>
# include <bw_comb.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -832,8 +845,11 @@ static inline char bw_chorus_state_is_valid(
return bw_comb_state_is_valid(coeffs ? &coeffs->comb_coeffs : BW_NULL, &state->comb_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole }}}
* description {{{
* Antialiased hard clipper with parametric bias and gain
@ -45,8 +45,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_clip_process()</code> to
* <code>bw_clip_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_clip_process_multi()</code>
@ -101,9 +104,13 @@
#ifndef BW_CLIP_H
#define BW_CLIP_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -297,7 +304,7 @@ static inline char bw_clip_state_is_valid(
* than or equal to that of `bw_clip_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -306,10 +313,15 @@ static inline char bw_clip_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -743,8 +755,11 @@ static inline char bw_clip_state_is_valid(
return bw_is_finite(state->x_z1) && bw_is_finite(state->F_z1);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{
* bw_buf bw_common bw_delay bw_gain bw_math bw_one_pole
* }}}
@ -37,8 +37,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_comb_process()</code> to
* <code>bw_comb_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_comb_process_multi()</code>
@ -102,9 +105,13 @@
#ifndef BW_COMB_H
#define BW_COMB_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -344,7 +351,7 @@ static inline char bw_comb_state_is_valid(
* than or equal to that of `bw_comb_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -353,12 +360,19 @@ static inline char bw_comb_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_delay.h"
# include "bw_gain.h"
# include "bw_one_pole.h"
# include "bw_math.h"
#else
# include <bw_delay.h>
# include <bw_gain.h>
# include <bw_one_pole.h>
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -899,8 +913,11 @@ static inline char bw_comb_state_is_valid(
return bw_delay_state_is_valid(coeffs ? &coeffs->delay_coeffs : BW_NULL, &state->delay_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,15 +20,19 @@
/*!
* module_type {{{ foundation }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* description {{{
* A common header to make sure that a bunch of basic definitions are
* available and consistent for all Brickworks modules.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Allowed custom definitions of <code>BW_NULL</code>.</li>
* <li>Accomodate MSVC reporting incorrect C++ standard support.</li>
* </ul>
* <li>Version <strong>1.1.0</strong>:
@ -98,17 +102,37 @@
/*** Public API ***/
#ifdef __cplusplus
# if __cplusplus < 201103L
# if _MSC_VER
# pragma message("Detected MSVC compiler reporting not to support C++11. Please use /Zc:__cplusplus if possible, or otherwise ignore this message if everything works for you. See https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ for more information.")
# else
# error Detected C++ compiler that does not support C++11
# endif
# endif
#endif
/*! api {{{
*
* #### BW_INCLUDE_WITH_QUOTES
*
* Normally Brickworks modules include other such modules using angle
* brackets.
*
* If you would rather prefer that to happen using double quotes, you can
* define `BW_INCLUDE_WITH_QUOTES`.
*
* #### BW_NO_CXX
*
* If `BW_NO_CXX` is defined, the C++ APIs and implementations in Brickworks
* modules are not included.
*
* #### BW_CXX_NO_EXTERN_C
*
* Normally, the C APIs and implementations in Brickworks modules are
* included in <code>extern "C"</code> blocks when using a C++ compiler, even
* if <code>BW_NO_CXX</code> is defined.
*
* If you don't want to have them included in such blocks, you can define
* `BW_CXX_NO_EXTERN_C`.
*
* #### BW_CXX_NO_ARRAY
*
* C++ APIs of Brickworks modules typically include overloaded methods that
* use `std::array` arguments, and thus require the `<array>` header file.
*
* If this is not wanted, defining `BW_CXX_NO_ARRAY` suppresses such methods
* and the inclusion of said header file.
*
* #### Basic definitions
*
@ -129,14 +153,25 @@
* * if `BW_NO_STDLIB` or `BW_NO_MATH_H` is defined, then `math.h` is not
* `#include`d.
*
* A `BW_NULL` macro is defined whose value is either `NULL` (C) or `nullptr`
* (C++).
* If not already defined, a `BW_NULL` macro is defined whose value is either
* `NULL` (C or C++ disabled) or `nullptr` (C++).
* >>> */
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# if __cplusplus < 201103L
# if _MSC_VER
# pragma message("Detected MSVC compiler reporting not to support C++11. Please use /Zc:__cplusplus if possible, or otherwise ignore this message if everything works for you. See https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ for more information.")
# else
# error Detected C++ compiler that does not support C++11
# endif
# endif
#endif
#if !defined(BW_NO_STDLIB) && !defined(BW_NO_STDDEF_H)
# include <stddef.h>
#endif
#ifdef __cplusplus
#ifndef BW_NULL
# if !defined(BW_NO_CXX) && defined(__cplusplus)
# define BW_NULL nullptr
# else
# ifndef NULL
@ -144,6 +179,7 @@
# endif
# define BW_NULL NULL
# endif
#endif
#if !defined(BW_NO_STDLIB) && !defined(BW_NO_STDINT_H)
# include <stdint.h>
@ -166,14 +202,6 @@
# error INFINITY not defined
#endif
/*! ...
*
* #### BW_CXX_NO_ARRAY
*
* C++ APIs of Brickworks modules typically include overloaded methods that
* use `std::array` arguments, and thus require the `<array>` header file.
*
* If this is not wanted, defining `BW_CXX_NO_ARRAY` suppresses such methods
* and the inclusion of said header file.
*
* #### BW_RESTRICT
*
@ -238,7 +266,7 @@
# endif
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -302,7 +330,7 @@ static inline uint32_t bw_hash_sdbm(
* Returns the sdbm hash of the given `string`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -311,7 +339,7 @@ static inline uint32_t bw_hash_sdbm(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -371,7 +399,7 @@ static inline uint32_t bw_hash_sdbm(
return hash;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{
* bw_common bw_env_follow bw_gain bw_math bw_one_pole
* }}}
@ -29,8 +29,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_comp_process()</code> to
* <code>bw_comp_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_comp_process_multi()</code>
@ -103,9 +106,13 @@
#ifndef BW_COMP_H
#define BW_COMP_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -357,7 +364,7 @@ static inline char bw_comp_state_is_valid(
* than or equal to that of `bw_comp_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -366,12 +373,19 @@ static inline char bw_comp_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_env_follow.h"
# include "bw_gain.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_env_follow.h>
# include <bw_gain.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -867,8 +881,11 @@ static inline char bw_comp_state_is_valid(
return bw_env_follow_state_is_valid(coeffs ? &coeffs->env_follow_coeffs : BW_NULL, &state->env_follow_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_buf bw_common bw_math }}}
* description {{{
* Interpolated delay line, not smoothed.
@ -31,8 +31,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_delay_process()</code> to
* <code>bw_delay_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_delay_process_multi()</code>
@ -97,9 +100,13 @@
#ifndef BW_DELAY_H
#define BW_DELAY_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -314,7 +321,7 @@ static inline char bw_delay_state_is_valid(
* than or equal to that of `bw_delay_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -323,10 +330,15 @@ static inline char bw_delay_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_buf.h"
# include "bw_math.h"
#else
# include <bw_buf.h>
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -798,8 +810,11 @@ static inline char bw_delay_state_is_valid(
return 1;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{
* bw_clip bw_common bw_gain bw_hp1 bw_lp1 bw_math bw_mm2 bw_one_pole bw_peak
* bw_satur bw_svf
@ -32,8 +32,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_dist_process()</code> to
* <code>bw_dist_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_dist_process_multi()</code>
@ -88,9 +91,13 @@
#ifndef BW_DIST_H
#define BW_DIST_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -275,7 +282,7 @@ static inline char bw_dist_state_is_valid(
* than or equal to that of `bw_dist_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -284,14 +291,23 @@ static inline char bw_dist_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_hp1.h"
# include "bw_peak.h"
# include "bw_clip.h"
# include "bw_satur.h"
# include "bw_lp1.h"
# include "bw_gain.h"
#else
# include <bw_hp1.h>
# include <bw_peak.h>
# include <bw_clip.h>
# include <bw_satur.h>
# include <bw_lp1.h>
# include <bw_gain.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -682,8 +698,11 @@ static inline char bw_dist_state_is_valid(
&& bw_lp1_state_is_valid(coeffs ? &coeffs->lp1_coeffs : BW_NULL, &state->lp1_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{
* bw_common bw_gain bw_hs1 bw_lp1 bw_math bw_mm2 bw_one_pole bw_peak
* bw_satur bw_svf
@ -32,8 +32,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_drive_process()</code> to
* <code>bw_drive_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_drive_process_multi()</code>
@ -89,9 +92,13 @@
#ifndef BW_DRIVE_H
#define BW_DRIVE_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -276,7 +283,7 @@ static inline char bw_drive_state_is_valid(
* than or equal to that of `bw_drive_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -285,14 +292,23 @@ static inline char bw_drive_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_svf.h"
# include "bw_hs1.h"
# include "bw_peak.h"
# include "bw_satur.h"
# include "bw_lp1.h"
# include "bw_gain.h"
#else
# include <bw_svf.h>
# include <bw_hs1.h>
# include <bw_peak.h>
# include <bw_satur.h>
# include <bw_lp1.h>
# include <bw_gain.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -685,8 +701,11 @@ static inline char bw_drive_state_is_valid(
&& bw_lp1_state_is_valid(coeffs ? &coeffs->lp1_coeffs : BW_NULL, &state->lp1_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -29,6 +29,9 @@
* <ul>
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_dry_wet_process()</code> to
* <code>bw_dry_wet_process_multi()</code>.</li>
* <li>Added <code>bw_dry_wet_get_wet()</code> and
@ -79,9 +82,13 @@
#ifndef BW_DRY_WET_H
#define BW_DRY_WET_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -219,7 +226,7 @@ static inline char bw_dry_wet_coeffs_is_valid(
* than or equal to that of `bw_dry_wet_coeffs`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -228,9 +235,13 @@ static inline char bw_dry_wet_coeffs_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_gain.h"
#else
# include <bw_gain.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -475,8 +486,11 @@ static inline char bw_dry_wet_coeffs_is_valid(
return bw_gain_coeffs_is_valid(&coeffs->gain_coeffs);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole }}}
* description {{{
* Envelope follower made of a full-wave rectifier followed by
@ -28,8 +28,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_env_follow_process()</code>
* to <code>bw_env_follow_process_multi()</code>.</li>
* <li>Added debugging checks in
@ -100,9 +103,13 @@
#ifndef BW_ENV_FOLLOW_H
#define BW_ENV_FOLLOW_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -287,7 +294,7 @@ static inline char bw_env_follow_state_is_valid(
* than or equal to that of `bw_env_follow_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -296,10 +303,15 @@ static inline char bw_env_follow_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -644,8 +656,11 @@ static inline char bw_env_follow_state_is_valid(
return bw_one_pole_state_is_valid(coeffs ? &coeffs->one_pole_coeffs : BW_NULL, &state->one_pole_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole }}}
* description {{{
* Linear ADSR envelope generator.
@ -40,8 +40,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>More robust implementation.</li>
* <li>Fixed <code>bw_env_reset_state()</code> and
* <code>bw_env_reset_state_multi()</code> to take into account
@ -133,9 +136,13 @@
#ifndef BW_ENV_GEN_H
#define BW_ENV_GEN_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -396,7 +403,7 @@ static inline char bw_env_gen_state_is_valid(
* than or equal to that of `bw_env_gen_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -405,10 +412,15 @@ static inline char bw_env_gen_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -949,8 +961,11 @@ static inline char bw_env_gen_state_is_valid(
#undef BW_ENV_GEN_PARAM_RELEASE
#undef BW_ENV_GEN_V_MAX
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{
* bw_common bw_gain bw_hp1 bw_lp1 bw_math bw_mm2 bw_one_pole bw_peak
* bw_satur bw_svf
@ -32,8 +32,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_fuzz_process()</code> to
* <code>bw_fuzz_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_fuzz_process_multi()</code>
@ -89,9 +92,13 @@
#ifndef BW_FUZZ_H
#define BW_FUZZ_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -264,7 +271,7 @@ static inline char bw_fuzz_state_is_valid(
* than or equal to that of `bw_fuzz_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -273,14 +280,23 @@ static inline char bw_fuzz_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_hp1.h"
# include "bw_svf.h"
# include "bw_peak.h"
# include "bw_satur.h"
# include "bw_hp1.h"
# include "bw_gain.h"
#else
# include <bw_hp1.h>
# include <bw_svf.h>
# include <bw_peak.h>
# include <bw_satur.h>
# include <bw_hp1.h>
# include <bw_gain.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -657,8 +673,11 @@ static inline char bw_fuzz_state_is_valid(
&& bw_hp1_state_is_valid(coeffs ? &coeffs->hp1_out_coeffs : BW_NULL, &state->hp1_out_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,15 +20,18 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole }}}
* description {{{
* Gain.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_ap1_process()</code> to
* <code>bw_ap1_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_gain_process_multi()</code>
@ -98,9 +101,13 @@
#ifndef BW_GAIN_H
#define BW_GAIN_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -246,7 +253,7 @@ static inline char bw_gain_coeffs_is_valid(
* than or equal to that of `bw_gain_coeffs`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -255,10 +262,15 @@ static inline char bw_gain_coeffs_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -525,8 +537,11 @@ static inline char bw_gain_coeffs_is_valid(
return 1;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_lp1 bw_math bw_one_pole }}}
* description {{{
* First-order highpass filter (6 dB/oct) with gain asymptotically
@ -28,8 +28,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_hp1_process()</code> to
* <code>bw_hp1_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_hp1_process_multi()</code> to
@ -94,9 +97,13 @@
#ifndef BW_HP1_H
#define BW_HP1_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -282,7 +289,7 @@ static inline char bw_hp1_state_is_valid(
* than or equal to that of `bw_hp1_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -291,9 +298,13 @@ static inline char bw_hp1_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_lp1.h"
#else
# include <bw_lp1.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -627,8 +638,11 @@ static inline char bw_hp1_state_is_valid(
return bw_lp1_state_is_valid(coeffs ? &coeffs->lp1_coeffs : BW_NULL, &state->lp1_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,15 +20,18 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_gain bw_lp1 bw_math bw_mm1 bw_one_pole }}}
* description {{{
* First-order high shelf filter (6 dB/oct) with unitary DC gain.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Enforced limits on cutoff and high_gain also in
* <code>bw_hs1_reset_state*()</code> and clarified
* documentation.</li>
@ -98,9 +101,13 @@
#ifndef BW_HS1_H
#define BW_HS1_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -324,7 +331,7 @@ static inline char bw_hs1_state_is_valid(
* than or equal to that of `bw_hs1_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -333,10 +340,15 @@ static inline char bw_hs1_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_mm1.h"
# include "bw_math.h"
#else
# include <bw_mm1.h>
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -750,8 +762,11 @@ static inline char bw_hs1_state_is_valid(
return bw_mm1_state_is_valid(coeffs ? &coeffs->mm1_coeffs : BW_NULL, &state->mm1_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,15 +20,18 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_gain bw_math bw_mm2 bw_one_pole bw_svf }}}
* description {{{
* Second-order high shelf filter (12 dB/oct) with unitary DC gain.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Enforced limits on cutoff and high_gain also in
* <code>bw_hs2_reset_state*()</code> and clarified
* documentation.</li>
@ -102,9 +105,13 @@
#ifndef BW_HS2_H
#define BW_HS2_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -340,7 +347,7 @@ static inline char bw_hs2_state_is_valid(
* than or equal to that of `bw_hs2_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -349,10 +356,15 @@ static inline char bw_hs2_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_mm2.h"
# include "bw_math.h"
#else
# include <bw_mm2.h>
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -805,8 +817,11 @@ static inline char bw_hs2_state_is_valid(
#undef BW_HS2_PARAM_CUTOFF
#undef BW_HS2_PARAM_HIGH_GAIN
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole }}}
* description {{{
* First-order lowpass filter (6 dB/oct) with unitary DC gain.
@ -30,8 +30,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_lp1_process()</code> to
* <code>bw_lp1_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_lp1_process_multi()</code> to
@ -95,9 +98,13 @@
#ifndef BW_LP1_H
#define BW_LP1_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -283,7 +290,7 @@ static inline char bw_lp1_state_is_valid(
* than or equal to that of `bw_lp1_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -292,10 +299,15 @@ static inline char bw_lp1_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -712,8 +724,11 @@ static inline char bw_lp1_state_is_valid(
return bw_is_finite(state->y_z1) && bw_is_finite(state->X_z1);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_gain bw_lp1 bw_math bw_mm1 bw_one_pole }}}
* description {{{
* First-order low shelf filter (6 dB/oct) with gain asymptotically
@ -28,8 +28,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Enforced limits on cutoff and dc_gain also in
* <code>bw_ls1_reset_state*()</code> and clarified
* documentation.</li>
@ -99,9 +102,13 @@
#ifndef BW_LS1_H
#define BW_LS1_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -323,7 +330,7 @@ static inline char bw_ls1_state_is_valid(
* than or equal to that of `bw_ls1_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -332,10 +339,15 @@ static inline char bw_ls1_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_mm1.h"
# include "bw_math.h"
#else
# include <bw_mm1.h>
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -748,8 +760,11 @@ static inline char bw_ls1_state_is_valid(
return bw_mm1_state_is_valid(coeffs ? &coeffs->mm1_coeffs : BW_NULL, &state->mm1_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_gain bw_math bw_mm2 bw_one_pole bw_svf }}}
* description {{{
* Second-order low shelf filter (12 dB/oct) with gain asymptotically
@ -28,8 +28,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Enforced limits on cutoff and dc_gain also in
* <code>bw_ls2_reset_state*()</code> and clarified
* documentation.</li>
@ -107,9 +110,13 @@
#ifndef BW_LS2_H
#define BW_LS2_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -346,7 +353,7 @@ static inline char bw_ls2_state_is_valid(
* than or equal to that of `bw_ls2_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -355,10 +362,15 @@ static inline char bw_ls2_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_mm2.h"
# include "bw_math.h"
#else
# include <bw_mm2.h>
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -811,8 +823,11 @@ static inline char bw_ls2_state_is_valid(
#undef BW_LS2_PARAM_CUTOFF
#undef BW_LS2_PARAM_DC_GAIN
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -50,6 +50,8 @@
* <code>bw_maxi64</code>, <code>bw_clipi64</code>,
* <code>bw_minu64</code>, <code>bw_maxu64</code>, and
* <code>bw_clipu64</code>.</li>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code> and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* </ul>
* </li>
* <li>Version <strong>1.0.1</strong>:
@ -129,9 +131,13 @@
#ifndef BW_MATH_H
#define BW_MATH_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -618,7 +624,7 @@ static inline float bw_acoshf(
* Absolute error < 0.004 or relative error < 0.8%, whatever is worse.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -627,7 +633,7 @@ static inline float bw_acoshf(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -1102,7 +1108,7 @@ static inline float bw_acoshf(
return y;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif

View File

@ -20,15 +20,18 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_gain bw_lp1 bw_math bw_one_pole }}}
* description {{{
* First-order multimode filter.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_mm1_process()</code> to
* <code>bw_mm1_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_mm1_process_multi()</code> to
@ -94,9 +97,13 @@
#ifndef BW_MM1_H
#define BW_MM1_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -305,7 +312,7 @@ static inline char bw_mm1_state_is_valid(
* than or equal to that of `bw_mm1_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -314,10 +321,15 @@ static inline char bw_mm1_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_lp1.h"
# include "bw_gain.h"
#else
# include <bw_lp1.h>
# include <bw_gain.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -698,8 +710,11 @@ static inline char bw_mm1_state_is_valid(
return bw_lp1_state_is_valid(coeffs ? &coeffs->lp1_coeffs : BW_NULL, &state->lp1_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,15 +20,18 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_gain bw_math bw_one_pole bw_svf }}}
* description {{{
* Second-order multimode filter.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_mm2_process()</code> to
* <code>bw_mm2_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_mm2_process_multi()</code> to
@ -94,9 +97,13 @@
#ifndef BW_MM2_H
#define BW_MM2_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -342,7 +349,7 @@ static inline char bw_mm2_state_is_valid(
* than or equal to that of `bw_mm2_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -351,10 +358,15 @@ static inline char bw_mm2_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_svf.h"
# include "bw_gain.h"
#else
# include <bw_svf.h>
# include <bw_gain.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -806,8 +818,11 @@ static inline char bw_mm2_state_is_valid(
return bw_svf_state_is_valid(coeffs ? &coeffs->svf_coeffs : BW_NULL, &state->svf_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,15 +20,18 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_env_follow bw_math bw_one_pole }}}
* description {{{
* Noise gate with independent sidechain input.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_noise_gate_process()</code>
* to <code>bw_noise_gate_process_multi()</code>.</li>
* <li>Added debugging checks in
@ -100,9 +103,13 @@
#ifndef BW_NOISE_GATE_H
#define BW_NOISE_GATE_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -330,7 +337,7 @@ static inline char bw_noise_gate_state_is_valid(
* than or equal to that of `bw_noise_gate_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -339,11 +346,17 @@ static inline char bw_noise_gate_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_env_follow.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_env_follow.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -798,8 +811,11 @@ static inline char bw_noise_gate_state_is_valid(
return bw_env_follow_state_is_valid(coeffs ? &coeffs->env_follow_coeffs : BW_NULL, &state->env_follow_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.0 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_rand }}}
* description {{{
* Generator of white noise with uniform distribution.
@ -30,7 +30,13 @@
* [bw\_rand](bw_rand)).
* }}}
* changelog {{{
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* </ul>
* </li>
* <li>Version <strong>1.1.0</strong>:
* <ul>
* <li>Now using <code>BW_NULL</code> and
@ -82,9 +88,13 @@
#ifndef BW_NOISE_GEN_H
#define BW_NOISE_GEN_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -209,7 +219,7 @@ static inline char bw_noise_gen_coeffs_is_valid(
* than or equal to that of `bw_noise_gen_coeffs`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -218,10 +228,15 @@ static inline char bw_noise_gen_coeffs_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_rand.h"
#else
# include <bw_math.h>
# include <bw_rand.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -432,8 +447,11 @@ static inline char bw_noise_gen_coeffs_is_valid(
return 1;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole bw_svf }}}
* description {{{
* Second-order notch filter with unitary gain at DC and asymptotically as
@ -28,8 +28,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_notch_process()</code> to
* <code>bw_notch_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_notch_process_multi()</code>
@ -94,9 +97,13 @@
#ifndef BW_NOTCH_H
#define BW_NOTCH_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -294,7 +301,7 @@ static inline char bw_notch_state_is_valid(
* than or equal to that of `bw_notch_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -303,9 +310,13 @@ static inline char bw_notch_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_svf.h"
#else
# include <bw_svf.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -657,8 +668,11 @@ static inline char bw_notch_state_is_valid(
return bw_svf_state_is_valid(coeffs ? &coeffs->svf_coeffs : BW_NULL, &state->svf_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ utility }}}
* version {{{ 1.0.1 }}}
* version {{{ 1.1.0 }}}
* requires {{{ bw_common }}}
* description {{{
* Simple data structure that helps keeping track of note on/off events and
@ -30,6 +30,13 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* </ul>
* </li>
* <li>Version <strong>1.0.1</strong>:
* <ul>
* <li>Now using <code>BW_NULL</code>.</li>
@ -66,9 +73,13 @@
#ifndef BW_NOTE_QUEUE_H
#define BW_NOTE_QUEUE_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -162,7 +173,7 @@ static inline char bw_note_queue_is_valid(
* than or equal to that of `bw_note_queue`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -171,7 +182,7 @@ static inline char bw_note_queue_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -260,8 +271,11 @@ static inline char bw_note_queue_is_valid(
return cnt == queue->n_pressed;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
/*** Public C++ API ***/

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math }}}
* description {{{
* One-pole (6 dB/oct) lowpass filter with unitary DC gain, separate attack
@ -30,8 +30,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_one_pole_process()</code>
* to <code>bw_one_pole_process_multi()</code>.</li>
* <li>Added debugging checks in
@ -111,9 +114,13 @@
#ifndef BW_ONE_POLE_H
#define BW_ONE_POLE_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -463,7 +470,7 @@ static inline char bw_one_pole_state_is_valid(
* than or equal to that of `bw_one_pole_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -472,9 +479,13 @@ static inline char bw_one_pole_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
#else
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -1238,8 +1249,11 @@ static inline char bw_one_pole_state_is_valid(
#undef BW_ONE_POLE_PARAM_CUTOFF_DOWN
#undef BW_ONE_POLE_PARAM_STICKY_THRESH
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common }}}
* description {{{
* Post-filter to decolorate oscillator waveshapers when antialiasing is on.
@ -33,8 +33,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks in
* <code>bw_osc_filt_process_multi()</code> to ensure that buffers
* used for both input and output appear at the same channel
@ -98,9 +101,13 @@
#ifndef BW_OSC_FILT_H
#define BW_OSC_FILT_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -183,7 +190,7 @@ static inline char bw_osc_filt_state_is_valid(
* than or equal to that of `bw_osc_filt_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -192,7 +199,7 @@ static inline char bw_osc_filt_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -319,8 +326,11 @@ static inline char bw_osc_filt_state_is_valid(
return bw_is_finite(state->z1);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole }}}
* description {{{
* Pulse oscillator waveshaper with variable pulse width (actually, duty
@ -37,8 +37,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_osc_pulse_process()</code>
* to <code>bw_osc_pulse_process_multi()</code>.</li>
* <li>Added debugging checks in
@ -107,9 +110,13 @@
#ifndef BW_OSC_PULSE_H
#define BW_OSC_PULSE_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -262,7 +269,7 @@ static inline char bw_osc_pulse_coeffs_is_valid(
* than or equal to that of `bw_osc_pulse_coeffs`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -271,10 +278,15 @@ static inline char bw_osc_pulse_coeffs_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -574,8 +586,11 @@ static inline char bw_osc_pulse_coeffs_is_valid(
return 1;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math }}}
* description {{{
* Sawtooth oscillator waveshaper with PolyBLEP antialiasing.
@ -36,8 +36,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks in
* <code>bw_osc_saw_process_multi()</code> to ensure that
* <code>x_inc</code> is not <code>BW_NULL</code> when antialiasing
@ -106,9 +109,13 @@
#ifndef BW_OSC_SAW_H
#define BW_OSC_SAW_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -248,7 +255,7 @@ static inline char bw_osc_saw_coeffs_is_valid(
* than or equal to that of `bw_osc_saw_coeffs`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -257,9 +264,13 @@ static inline char bw_osc_saw_coeffs_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
#else
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -499,8 +510,11 @@ static inline char bw_osc_saw_coeffs_is_valid(
return 1;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math }}}
* description {{{
* Sinusoidal oscillator waveshaper.
@ -30,8 +30,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks in
* <code>bw_osc_sin_process_multi()</code> to ensure that buffers
* used for both input and output appear at the same channel
@ -87,9 +90,13 @@
#ifndef BW_OSC_SIN_H
#define BW_OSC_SIN_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -132,7 +139,7 @@ static inline void bw_osc_sin_process_multi(
* All samples in `x` must be in [`0.f`, `1.f`).
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -141,9 +148,13 @@ static inline void bw_osc_sin_process_multi(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
#else
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -193,8 +204,11 @@ static inline void bw_osc_sin_process_multi(
bw_osc_sin_process(x[i], y[i], n_samples);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole }}}
* description {{{
* Triangle oscillator waveshaper with variable slope (increasing time over
@ -37,8 +37,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_osc_tri_process()</code> to
* <code>bw_osc_tri_process_multi()</code>.</li>
* <li>Added debugging checks in
@ -109,9 +112,13 @@
#ifndef BW_OSC_TRI_H
#define BW_OSC_TRI_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -263,7 +270,7 @@ static inline char bw_osc_tri_coeffs_is_valid(
* than or equal to that of `bw_osc_tri_coeffs`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -272,10 +279,15 @@ static inline char bw_osc_tri_coeffs_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -581,8 +593,11 @@ static inline char bw_osc_tri_coeffs_is_valid(
return 1;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,15 +20,18 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_gain bw_math bw_one_pole }}}
* description {{{
* Stereo panner with -3 dB center pan law.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_pan_process()</code> to
* <code>bw_pan_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_pan_process_multi()</code> to
@ -83,9 +86,13 @@
#ifndef BW_PAN_H
#define BW_PAN_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -198,7 +205,7 @@ static inline char bw_pan_coeffs_is_valid(
* than or equal to that of `bw_pan_coeffs`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -207,10 +214,15 @@ static inline char bw_pan_coeffs_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_gain.h"
#else
# include <bw_math.h>
# include <bw_gain.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -469,8 +481,11 @@ static inline char bw_pan_coeffs_is_valid(
return bw_gain_coeffs_is_valid(&coeffs->l_coeffs) && bw_gain_coeffs_is_valid(&coeffs->r_coeffs);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_gain bw_math bw_mm2 bw_one_pole bw_svf }}}
* description {{{
* Second-order peak filter with unitary gain at DC and asymptotically
@ -35,8 +35,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Enforced limits on bandwidth and peak_gain also in
* <code>bw_peak_reset_state*()</code> and clarified
* documentation.</li>
@ -110,9 +113,13 @@
#ifndef BW_PEAK_H
#define BW_PEAK_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -376,7 +383,7 @@ static inline char bw_peak_state_is_valid(
* than or equal to that of `bw_peak_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -385,10 +392,15 @@ static inline char bw_peak_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_mm2.h"
# include "bw_math.h"
#else
# include <bw_mm2.h>
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -902,8 +914,11 @@ static inline char bw_peak_state_is_valid(
#undef BW_PEAK_PARAM_PEAK_GAIN
#undef BW_PEAK_PARAM_BANDWIDTH
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -32,6 +32,9 @@
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added phase_inc_min and phase_inc_max parameters.</li>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Fixed rounding bug when frequency is tiny (again).</li>
* <li>Added debugging checks from <code>bw_phase_gen_process()</code>
* to <code>bw_phase_gen_process_multi()</code>.</li>
@ -121,9 +124,13 @@
#ifndef BW_PHASE_GEN_H
#define BW_PHASE_GEN_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -371,7 +378,7 @@ static inline char bw_phase_gen_state_is_valid(
* than or equal to that of `bw_phase_gen_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -380,10 +387,15 @@ static inline char bw_phase_gen_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -1028,8 +1040,11 @@ static inline char bw_phase_gen_state_is_valid(
return bw_is_finite(state->phase) && state->phase >= 0.f && state->phase < 1.f;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{
* bw_ap1 bw_common bw_lp1 bw_math bw_one_pole bw_osc_sin bw_phase_gen
* }}}
@ -30,8 +30,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Enforced limits on center and amount also in
* <code>bw_phaser_reset_state*()</code> and clarified
* documentation.</li>
@ -96,9 +99,13 @@
#ifndef BW_PHASER_H
#define BW_PHASER_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -290,7 +297,7 @@ static inline char bw_phaser_state_is_valid(
* than or equal to that of `bw_phaser_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -299,12 +306,19 @@ static inline char bw_phaser_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_phase_gen.h"
# include "bw_osc_sin.h"
# include "bw_ap1.h"
# include "bw_math.h"
#else
# include <bw_phase_gen.h>
# include <bw_osc_sin.h>
# include <bw_ap1.h>
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -688,8 +702,11 @@ static inline char bw_phaser_state_is_valid(
&& bw_ap1_state_is_valid(coeffs ? &coeffs->ap1_coeffs : BW_NULL, &state->ap1_state[3]);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common }}}
* description {{{
* Pinking filter.
@ -40,8 +40,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks in
* <code>bw_pink_filt_process_multi()</code> to ensure that buffers
* used for both input and output appear at the same channel
@ -122,9 +125,13 @@
#ifndef BW_PINK_FILT_H
#define BW_PINK_FILT_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -311,7 +318,7 @@ static inline char bw_pink_filt_state_is_valid(
* than or equal to that of `bw_pink_filt_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -320,7 +327,7 @@ static inline char bw_pink_filt_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -655,8 +662,11 @@ static inline char bw_pink_filt_state_is_valid(
return bw_is_finite(state->s1_z1) && bw_is_finite(state->s2_z1) && bw_is_finite(state->s3_z1) && bw_is_finite(state->s4_z1);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_env_follow bw_math bw_one_pole }}}
* description {{{
* Digital peak programme meter with adjustable integration time constant.
@ -30,8 +30,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_ppm_process()</code> to
* <code>bw_ppm_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_ppm_process_multi()</code> to
@ -92,9 +95,13 @@
#ifndef BW_PPM_H
#define BW_PPM_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -270,7 +277,7 @@ static inline char bw_ppm_state_is_valid(
* than or equal to that of `bw_ppm_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -279,9 +286,13 @@ static inline char bw_ppm_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_env_follow.h"
#else
# include <bw_env_follow.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -618,8 +629,11 @@ static inline char bw_ppm_state_is_valid(
return bw_env_follow_state_is_valid(coeffs ? &coeffs->env_follow_coeffs : BW_NULL, &state->env_follow_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ utility }}}
* version {{{ 1.0.1 }}}
* version {{{ 1.1.0 }}}
* requires {{{ bw_common }}}
* description {{{
* Pseudo-random number generators.
@ -42,6 +42,12 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code> and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* </ul>
* </li>
* <li>Version <strong>1.0.1</strong>:
* <ul>
* <li>Now using <code>BW_NULL</code>.</li>
@ -77,9 +83,13 @@
#ifndef BW_RAND_H
#define BW_RAND_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -109,13 +119,13 @@ static inline float bw_randf(
* between calls and which gets updated by this function.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
/*** Implementation ***/
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -139,7 +149,7 @@ static inline float bw_randf(
return y;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{
* bw_buf bw_common bw_delay bw_dry_wet bw_gain bw_lp1 bw_math bw_one_pole
* bw_osc_sin bw_phase_gen
@ -35,8 +35,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_reverb_process()</code> to
* <code>bw_reverb_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_reverb_process_multi()</code>
@ -94,9 +97,13 @@
#ifndef BW_REVERB_H
#define BW_REVERB_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -340,7 +347,7 @@ static inline char bw_reverb_state_is_valid(
* than or equal to that of `bw_reverb_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -349,6 +356,16 @@ static inline char bw_reverb_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_delay.h"
# include "bw_lp1.h"
# include "bw_phase_gen.h"
# include "bw_osc_sin.h"
# include "bw_gain.h"
# include "bw_dry_wet.h"
# include "bw_one_pole.h"
# include "bw_math.h"
#else
# include <bw_delay.h>
# include <bw_lp1.h>
# include <bw_phase_gen.h>
@ -357,8 +374,9 @@ static inline char bw_reverb_state_is_valid(
# include <bw_dry_wet.h>
# include <bw_one_pole.h>
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -1224,8 +1242,11 @@ static inline char bw_reverb_state_is_valid(
&& bw_delay_state_is_valid(coeffs ? &coeffs->delay_d4_coeffs : BW_NULL, &state->delay_d4_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
#ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,15 +20,18 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole }}}
* description {{{
* Ring modulator with variable modulation amount.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_ring_mod_process()</code>
* to <code>bw_ring_mod_process_multi()</code>.</li>
* <li>Added debugging checks in
@ -85,9 +88,13 @@
#ifndef BW_RINGMOD_H
#define BW_RINGMOD_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -201,7 +208,7 @@ static inline char bw_ring_mod_coeffs_is_valid(
* than or equal to that of `bw_ring_mod_coeffs`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -210,10 +217,15 @@ static inline char bw_ring_mod_coeffs_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -440,8 +452,11 @@ static inline char bw_ring_mod_coeffs_is_valid(
return 1;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole }}}
* description {{{
* Antialiased tanh-based saturation with parametric bias and gain
@ -45,8 +45,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_satur_process()</code> to
* <code>bw_satur_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_satur_process_multi()</code>
@ -115,9 +118,13 @@
#ifndef BW_SATUR_H
#define BW_SATUR_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -311,7 +318,7 @@ static inline char bw_satur_state_is_valid(
* than or equal to that of `bw_satur_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -320,10 +327,15 @@ static inline char bw_satur_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -765,8 +777,11 @@ static inline char bw_satur_state_is_valid(
return bw_is_finite(state->x_z1) && bw_is_finite(state->F_z1);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,15 +20,18 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math }}}
* description {{{
* Slew-rate limiter with separate maximum increasing and decreasing rates.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_slew_lim_process()</code>
* to <code>bw_slew_lim_process_multi()</code>.</li>
* <li>Added debugging checks in
@ -99,9 +102,13 @@
#ifndef BW_SLEW_LIM_H
#define BW_SLEW_LIM_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -339,7 +346,7 @@ static inline char bw_slew_lim_state_is_valid(
* than or equal to that of `bw_slew_lim_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -348,9 +355,13 @@ static inline char bw_slew_lim_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
#else
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -892,8 +903,11 @@ static inline char bw_slew_lim_state_is_valid(
return bw_is_finite(state->y_z1);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math }}}
* description {{{
* Sample rate reducer.
@ -31,8 +31,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_sr_reduce_process()</code>
* to <code>bw_sr_reduce_process_multi()</code>.</li>
* <li>Added debugging checks in
@ -101,9 +104,13 @@
#ifndef BW_SR_REDUCE_H
#define BW_SR_REDUCE_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -263,7 +270,7 @@ static inline char bw_sr_reduce_state_is_valid(
* than or equal to that of `bw_sr_reduce_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -272,9 +279,13 @@ static inline char bw_sr_reduce_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
#else
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -578,8 +589,11 @@ static inline char bw_sr_reduce_state_is_valid(
return bw_is_finite(state->phase) && state->phase >= 0.f && bw_is_finite(state->y_z1);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,13 +20,20 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.0 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math }}}
* description {{{
* Aribtrary-ratio IIR sample rate converter.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* </ul>
* </li>
* <li>Version <strong>1.1.0</strong>:
* <ul>
* <li>Now using <code>BW_NULL</code> and
@ -79,9 +86,13 @@
#ifndef BW_SRC_H
#define BW_SRC_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -213,7 +224,7 @@ static inline char bw_src_state_is_valid(
* than or equal to that of `bw_src_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -222,9 +233,13 @@ static inline char bw_src_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
#else
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -521,8 +536,11 @@ static inline char bw_src_state_is_valid(
&& bw_is_finite(state->xz3);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.0 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math }}}
* description {{{
* Integer-ratio IIR sample rate converter.
@ -33,6 +33,13 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* </ul>
* </li>
* <li>Version <strong>1.1.0</strong>:
* <ul>
* <li>Now using <code>BW_NULL</code> and
@ -85,9 +92,13 @@
#ifndef BW_SRC_INT_H
#define BW_SRC_INT_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -221,7 +232,7 @@ static inline char bw_src_int_state_is_valid(
* than or equal to that of `bw_src_int_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -230,9 +241,13 @@ static inline char bw_src_int_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
#else
# include <bw_math.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -496,8 +511,11 @@ static inline char bw_src_int_state_is_valid(
&& bw_is_finite(state->z4);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole }}}
* description {{{
* State variable filter (2nd order, 12 dB/oct) model with separated lowpass,
@ -28,8 +28,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_svf_process()</code> to
* <code>bw_svf_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_svf_process_multi()</code> to
@ -115,9 +118,13 @@
#ifndef BW_SVF_H
#define BW_SVF_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -334,7 +341,7 @@ static inline char bw_svf_state_is_valid(
* than or equal to that of `bw_svf_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -343,10 +350,15 @@ static inline char bw_svf_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_math.h"
# include "bw_one_pole.h"
#else
# include <bw_math.h>
# include <bw_one_pole.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -1084,8 +1096,11 @@ static inline char bw_svf_state_is_valid(
return 1;
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{
* bw_common bw_math bw_one_pole bw_osc_sin bw_phase_gen bw_ring_mod
* }}}
@ -29,8 +29,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_trem_process()</code> to
* <code>bw_trem_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_trem_process_multi()</code>
@ -90,9 +93,13 @@
#ifndef BW_TREM_H
#define BW_TREM_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -266,7 +273,7 @@ static inline char bw_trem_state_is_valid(
* than or equal to that of `bw_trem_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -275,11 +282,17 @@ static inline char bw_trem_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_phase_gen.h"
# include "bw_osc_sin.h"
# include "bw_ring_mod.h"
#else
# include <bw_phase_gen.h>
# include <bw_osc_sin.h>
# include <bw_ring_mod.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -610,8 +623,11 @@ static inline char bw_trem_state_is_valid(
return bw_phase_gen_state_is_valid(coeffs ? &coeffs->phase_gen_coeffs : BW_NULL, &state->phase_gen_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>

View File

@ -20,17 +20,19 @@
/*!
* module_type {{{ utility }}}
* version {{{ 1.0.2 }}}
* version {{{ 1.1.0 }}}
* requires {{{ bw_common bw_note_queue }}}
* description {{{
* Basic voice allocator with low/high note priority.
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.0.2</strong>:
* <li>Version <strong>1.1.0</strong>:
* <ul>
* <li>Added <code>static inline</code> to
* <code>bw_voice_alloc()</code>.</li>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code> and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* </ul>
* </li>
* <li>Version <strong>1.0.1</strong>:
@ -71,10 +73,15 @@
#ifndef BW_VOICE_ALLOC_H
#define BW_VOICE_ALLOC_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
# include "bw_note_queue.h"
#else
# include <bw_common.h>
# include <bw_note_queue.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -142,7 +149,7 @@ static inline void bw_voice_alloc(
* the number of elements in `voices`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -151,7 +158,7 @@ static inline void bw_voice_alloc(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -215,7 +222,7 @@ static inline void bw_voice_alloc(
}
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 1.1.1 }}}
* version {{{ 1.2.0 }}}
* requires {{{ bw_common bw_math bw_one_pole bw_svf }}}
* description {{{
* Wah effect.
@ -29,8 +29,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>1.1.1</strong>:
* <li>Version <strong>1.2.0</strong>:
* <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_wah_process()</code> to
* <code>bw_wah_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_wah_process_multi()</code> to
@ -104,9 +107,13 @@
#ifndef BW_WAH_H
#define BW_WAH_H
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_common.h"
#else
# include <bw_common.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -266,7 +273,7 @@ static inline char bw_wah_state_is_valid(
* than or equal to that of `bw_wah_state`.
* }}} */
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
@ -275,9 +282,13 @@ static inline char bw_wah_state_is_valid(
/* WARNING: This part of the file is not part of the public API. Its content may
* change at any time in future versions. Please, do not use it directly. */
#ifdef BW_INCLUDE_WITH_QUOTES
# include "bw_svf.h"
#else
# include <bw_svf.h>
#endif
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
extern "C" {
#endif
@ -586,8 +597,11 @@ static inline char bw_wah_state_is_valid(
return bw_svf_state_is_valid(coeffs ? &coeffs->svf_coeffs : BW_NULL, &state->svf_state);
}
#ifdef __cplusplus
#if !defined(BW_CXX_NO_EXTERN_C) && defined(__cplusplus)
}
#endif
#if !defined(BW_NO_CXX) && defined(__cplusplus)
# ifndef BW_CXX_NO_ARRAY
# include <array>