This commit is contained in:
Stefano D'Angelo 2023-07-12 12:07:50 +02:00
parent bd3a6367e0
commit bddbf72462
51 changed files with 3610 additions and 2983 deletions

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::AP1
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class AP1 {
public:
@ -38,6 +42,13 @@ namespace Brickworks {
int nSamples);
void setCutoff(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_ap1_coeffs coeffs;
@ -76,6 +87,7 @@ namespace Brickworks {
inline void AP1<N_CHANNELS>::setCutoff(float value) {
bw_ap1_set_cutoff(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::AP2
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class AP2 {
public:
@ -39,6 +43,13 @@ namespace Brickworks {
void setCutoff(float value);
void setQ(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_ap2_coeffs coeffs;
@ -82,6 +93,7 @@ namespace Brickworks {
inline void AP2<N_CHANNELS>::setQ(float value) {
bw_ap2_set_Q(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Balance
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Balance {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
int nSamples);
void setBalance(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_balance_coeffs coeffs;
@ -74,6 +85,7 @@ namespace Brickworks {
inline void Balance<N_CHANNELS>::setBalance(float value) {
bw_balance_set_balance(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::BDReduce
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class BDReduce {
public:
@ -37,6 +41,13 @@ namespace Brickworks {
int nSamples);
void setBitDepth(char value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_bd_reduce_coeffs coeffs;
@ -64,6 +75,7 @@ namespace Brickworks {
inline void BDReduce<N_CHANNELS>::setBitDepth(char value) {
bw_bd_reduce_set_bit_depth(&coeffs, value);
}
}
#endif

View File

@ -25,45 +25,71 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::bufFill
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
void bufFill(
std::array<float *, N_CHANNELS> dest,
float k,
int nSamples);
/*! <<<```
*
* ##### Brickworks::bufNeg
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
void bufNeg(
std::array<float *, N_CHANNELS> dest,
std::array<const float *, N_CHANNELS> src,
int nSamples);
/*! <<<```
*
* ##### Brickworks::bufAdd
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
void bufAdd(
std::array<float *, N_CHANNELS> dest,
std::array<const float *, N_CHANNELS> src,
float k,
int nSamples);
/*! <<<```
*
* ##### Brickworks::bufScale
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
void bufScale(
std::array<float *, N_CHANNELS> dest,
std::array<const float *, N_CHANNELS> src,
float k,
int nSamples);
/*! <<<```
*
* ##### Brickworks::bufMix
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
void bufMix(
std::array<float *, N_CHANNELS> dest,
std::array<const float *, N_CHANNELS> src1,
std::array<const float *, N_CHANNELS> src2,
int nSamples);
/*! <<<```
*
* ##### Brickworks::bufMul
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
void bufMul(
std::array<float *, N_CHANNELS> dest,
std::array<const float *, N_CHANNELS> src1,
std::array<const float *, N_CHANNELS> src2,
int nSamples);
/*! <<<```
* }}} */
/*** Implementation ***/
/* 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. */
template<BW_SIZE_T N_CHANNELS>
inline void bufFill(
@ -116,6 +142,7 @@ namespace Brickworks {
int nSamples) {
bw_buf_mul_multi(dest.data(), src1.data(), src2.data(), N_CHANNELS, nSamples);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Chorus
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Chorus {
public:
@ -44,6 +48,13 @@ namespace Brickworks {
void setCoeffX(float value);
void setCoeffMod(float value);
void setCoeffFB(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_chorus_coeffs coeffs;
@ -122,6 +133,7 @@ namespace Brickworks {
inline void Chorus<N_CHANNELS>::setCoeffFB(float value) {
bw_chorus_set_coeff_fb(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Clip
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Clip {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setBias(float value);
void setGain(float value);
void setGainCompensation(bool value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_clip_coeffs coeffs;
@ -88,6 +99,7 @@ namespace Brickworks {
inline void Clip<N_CHANNELS>::setGainCompensation(bool value) {
bw_clip_set_gain_compensation(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Comb
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Comb {
public:
@ -43,6 +47,13 @@ namespace Brickworks {
void setCoeffBlend(float value);
void setCoeffFF(float value);
void setCoeffFB(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_comb_coeffs coeffs;
@ -116,6 +127,7 @@ namespace Brickworks {
inline void Comb<N_CHANNELS>::setCoeffFB(float value) {
bw_comb_set_coeff_fb(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Comp
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Comp {
public:
@ -45,6 +49,13 @@ namespace Brickworks {
void setReleaseTau(float value);
void setGainLin(float value);
void setGainDB(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_comp_coeffs coeffs;
@ -114,6 +125,7 @@ namespace Brickworks {
inline void Comp<N_CHANNELS>::setGainDB(float value) {
bw_comp_set_gain_dB(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Delay
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Delay {
public:
@ -44,6 +48,13 @@ namespace Brickworks {
void setDelay(float value);
BW_SIZE_T getLength();
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_delay_coeffs coeffs;
@ -112,6 +123,7 @@ namespace Brickworks {
inline BW_SIZE_T Delay<N_CHANNELS>::getLength() {
return bw_delay_get_length(&coeffs);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Dist
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Dist {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setDistortion(float value);
void setTone(float value);
void setVolume(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_dist_coeffs coeffs;
@ -88,6 +99,7 @@ namespace Brickworks {
inline void Dist<N_CHANNELS>::setVolume(float value) {
bw_dist_set_volume(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Drive
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Drive {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setDrive(float value);
void setTone(float value);
void setVolume(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_drive_coeffs coeffs;
@ -88,6 +99,7 @@ namespace Brickworks {
inline void Drive<N_CHANNELS>::setVolume(float value) {
bw_drive_set_volume(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::DryWet
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class DryWet {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setWet(float value);
void setSmoothTau(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_drywet_coeffs coeffs;
@ -78,6 +89,7 @@ namespace Brickworks {
inline void DryWet<N_CHANNELS>::setSmoothTau(float value) {
bw_drywet_set_smooth_tau(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::EnvFollow
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class EnvFollow {
public:
@ -41,6 +45,13 @@ namespace Brickworks {
void setReleaseTau(float value);
float getYZ1(BW_SIZE_T channel);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_env_follow_coeffs coeffs;
@ -89,6 +100,7 @@ namespace Brickworks {
inline float EnvFollow<N_CHANNELS>::getYZ1(BW_SIZE_T channel) {
return bw_env_follow_get_y_z1(states + channel);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::EnvGen
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class EnvGen {
public:
@ -44,6 +48,13 @@ namespace Brickworks {
bw_env_gen_phase getPhase(BW_SIZE_T channel);
float getYZ1(BW_SIZE_T channel);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_env_gen_coeffs coeffs;
@ -107,6 +118,7 @@ namespace Brickworks {
inline float EnvGen<N_CHANNELS>::getYZ1(BW_SIZE_T channel) {
return bw_env_gen_get_y_z1(states + channel);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Fuzz
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Fuzz {
public:
@ -39,6 +43,13 @@ namespace Brickworks {
void setFuzz(float value);
void setVolume(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_fuzz_coeffs coeffs;
@ -82,6 +93,7 @@ namespace Brickworks {
inline void Fuzz<N_CHANNELS>::setVolume(float value) {
bw_fuzz_set_volume(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Gain
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Gain {
public:
@ -42,6 +46,13 @@ namespace Brickworks {
void setSmoothTau(float value);
float getGain();
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_gain_coeffs coeffs;
@ -89,6 +100,7 @@ namespace Brickworks {
inline float Gain<N_CHANNELS>::getGain() {
return bw_gain_get_gain(&coeffs);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::HP1
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class HP1 {
public:
@ -38,6 +42,13 @@ namespace Brickworks {
int nSamples);
void setCutoff(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_hp1_coeffs coeffs;
@ -76,6 +87,7 @@ namespace Brickworks {
inline void HP1<N_CHANNELS>::setCutoff(float value) {
bw_hp1_set_cutoff(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::HS1
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class HS1 {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setCutoff(float value);
void setHighGainLin(float value);
void setHighGainDB(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_hs1_coeffs coeffs;
@ -88,6 +99,7 @@ namespace Brickworks {
inline void HS1<N_CHANNELS>::setHighGainDB(float value) {
bw_hs1_set_high_gain_dB(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::HS2
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class HS2 {
public:
@ -41,6 +45,13 @@ namespace Brickworks {
void setQ(float value);
void setHighGainLin(float value);
void setHighGainDB(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_hs2_coeffs coeffs;
@ -94,6 +105,7 @@ namespace Brickworks {
inline void HS2<N_CHANNELS>::setHighGainDB(float value) {
bw_hs2_set_high_gain_dB(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::LP1
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class LP1 {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setCutoff(float value);
void setPrewarpAtCutoff(bool value);
void setPrewarpFreq(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_lp1_coeffs coeffs;
@ -88,6 +99,7 @@ namespace Brickworks {
inline void LP1<N_CHANNELS>::setPrewarpFreq(float value) {
bw_lp1_set_prewarp_freq(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::LS1
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class LS1 {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setCutoff(float value);
void setDcGainLin(float value);
void setDcGainDB(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_ls1_coeffs coeffs;
@ -88,6 +99,7 @@ namespace Brickworks {
inline void LS1<N_CHANNELS>::setDcGainDB(float value) {
bw_ls1_set_dc_gain_dB(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::LS2
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class LS2 {
public:
@ -41,6 +45,13 @@ namespace Brickworks {
void setQ(float value);
void setDcGainLin(float value);
void setDcGainDB(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_ls2_coeffs coeffs;
@ -94,6 +105,7 @@ namespace Brickworks {
inline void LS2<N_CHANNELS>::setDcGainDB(float value) {
bw_ls2_set_dc_gain_dB(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::MM1
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class MM1 {
public:
@ -42,6 +46,13 @@ namespace Brickworks {
void setPrewarpFreq(float value);
void setCoeffX(float value);
void setCoeffLp(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_mm1_coeffs coeffs;
@ -100,6 +111,7 @@ namespace Brickworks {
inline void MM1<N_CHANNELS>::setCoeffLp(float value) {
bw_mm1_set_coeff_lp(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::MM2
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class MM2 {
public:
@ -45,6 +49,13 @@ namespace Brickworks {
void setCoeffLp(float value);
void setCoeffBp(float value);
void setCoeffHp(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_mm2_coeffs coeffs;
@ -118,6 +129,7 @@ namespace Brickworks {
inline void MM2<N_CHANNELS>::setCoeffHp(float value) {
bw_mm2_set_coeff_hp(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::NoiseGate
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class NoiseGate {
public:
@ -43,6 +47,13 @@ namespace Brickworks {
void setRatio(float value);
void setAttackTau(float value);
void setReleaseTau(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_noise_gate_coeffs coeffs;
@ -102,6 +113,7 @@ namespace Brickworks {
inline void NoiseGate<N_CHANNELS>::setReleaseTau(float value) {
bw_noise_gate_set_release_tau(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::NoiseGen
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class NoiseGen {
public:
@ -38,6 +42,13 @@ namespace Brickworks {
void setSampleRateScaling(bool value);
float getScalingK();
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_noise_gen_coeffs coeffs;
@ -69,6 +80,7 @@ namespace Brickworks {
inline float NoiseGen<N_CHANNELS>::getScalingK() {
return bw_noise_gen_get_scaling_k(&coeffs);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Notch
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Notch {
public:
@ -39,6 +43,13 @@ namespace Brickworks {
void setCutoff(float value);
void setQ(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_notch_coeffs coeffs;
@ -82,6 +93,7 @@ namespace Brickworks {
inline void Notch<N_CHANNELS>::setQ(float value) {
bw_notch_set_Q(&coeffs, value);
}
}
#endif

View File

@ -24,6 +24,10 @@
#include <bw_note_queue.h>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::NoteQueue
* ```>>> */
class NoteQueue {
public:
NoteQueue();
@ -33,6 +37,13 @@ namespace Brickworks {
bw_note_queue queue;
};
/*! <<<```
* }}} */
/*** Implementation ***/
/* 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. */
inline NoteQueue::NoteQueue() {
bw_note_queue_reset(&queue);
@ -45,6 +56,7 @@ namespace Brickworks {
inline void NoteQueue::add(unsigned char note, bool pressed, float velocity, bool force_went_off) {
bw_note_queue_add(&queue, note, pressed, velocity, force_went_off);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::OnePole
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class OnePole {
public:
@ -47,6 +51,13 @@ namespace Brickworks {
void setStickyMode(bw_one_pole_sticky_mode value);
float getYZ1(BW_SIZE_T channel);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_one_pole_coeffs coeffs;
@ -125,6 +136,7 @@ namespace Brickworks {
inline float OnePole<N_CHANNELS>::getYZ1(BW_SIZE_T channel) {
return bw_one_pole_get_y_z1(states + channel);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::OscFilt
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class OscFilt {
public:
@ -35,6 +39,13 @@ namespace Brickworks {
std::array<const float *, N_CHANNELS> x,
std::array<float *, N_CHANNELS> y,
int nSamples);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_osc_filt_state states[N_CHANNELS];
@ -60,6 +71,7 @@ namespace Brickworks {
int nSamples) {
bw_osc_filt_process_multi(statesP, x.data(), y.data(), N_CHANNELS, nSamples);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::OscPulse
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class OscPulse {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setAntialiasing(bool value);
void setPulseWidth(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_osc_pulse_coeffs coeffs;
@ -78,6 +89,7 @@ namespace Brickworks {
inline void OscPulse<N_CHANNELS>::setPulseWidth(float value) {
bw_osc_pulse_set_pulse_width(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::OscSaw
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class OscSaw {
public:
@ -37,6 +41,13 @@ namespace Brickworks {
int nSamples);
void setAntialiasing(bool value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_osc_saw_coeffs coeffs;
@ -60,6 +71,7 @@ namespace Brickworks {
inline void OscSaw<N_CHANNELS>::setAntialiasing(bool value) {
bw_osc_saw_set_antialiasing(&coeffs, value);
}
}
#endif

View File

@ -25,11 +25,22 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::oscSinProcess
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
void oscSinProcess(
std::array<const float *, N_CHANNELS> x,
std::array<float *, N_CHANNELS> y,
int nSamples);
/*! <<<```
* }}} */
/*** Implementation ***/
/* 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. */
template<BW_SIZE_T N_CHANNELS>
inline void oscSinProcess(
@ -38,6 +49,7 @@ namespace Brickworks {
int nSamples) {
bw_osc_sin_process_multi(x.data(), y.data(), N_CHANNELS, nSamples);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::OscTri
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class OscTri {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setAntialiasing(bool value);
void setSlope(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_osc_tri_coeffs coeffs;
@ -78,6 +89,7 @@ namespace Brickworks {
inline void OscTri<N_CHANNELS>::setSlope(float value) {
bw_osc_tri_set_slope(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Pan
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Pan {
public:
@ -39,6 +43,13 @@ namespace Brickworks {
int nSamples);
void setPan(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_pan_coeffs coeffs;
@ -72,6 +83,7 @@ namespace Brickworks {
inline void Pan<N_CHANNELS>::setPan(float value) {
bw_pan_set_pan(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Peak
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Peak {
public:
@ -43,6 +47,13 @@ namespace Brickworks {
void setPeakGainDB(float value);
void setBandwidth(float value);
void setUseBandwidth(bool value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_peak_coeffs coeffs;
@ -106,6 +117,7 @@ namespace Brickworks {
inline void Peak<N_CHANNELS>::setUseBandwidth(bool value) {
bw_peak_set_use_bandwidth(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::PhaseGen
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class PhaseGen {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setFrequency(float value);
void setPortamentoTau(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_phase_gen_coeffs coeffs;
@ -84,6 +95,7 @@ namespace Brickworks {
inline void PhaseGen<N_CHANNELS>::setPortamentoTau(float value) {
bw_phase_gen_set_portamento_tau(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Phaser
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Phaser {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setRate(float value);
void setCenter(float value);
void setAmount(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_phaser_coeffs coeffs;
@ -88,6 +99,7 @@ namespace Brickworks {
inline void Phaser<N_CHANNELS>::setAmount(float value) {
bw_phaser_set_amount(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::PinkFilt
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class PinkFilt {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setSampleRateScaling(bool value);
float getScalingK();
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_pink_filt_coeffs coeffs;
@ -82,6 +93,7 @@ namespace Brickworks {
inline float PinkFilt<N_CHANNELS>::getScalingK() {
return bw_pink_filt_get_scaling_k(&coeffs);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::PPM
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class PPM {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setIntegrationTau(float value);
float getYZ1(BW_SIZE_T channel);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_ppm_coeffs coeffs;
@ -83,6 +94,7 @@ namespace Brickworks {
inline float PPM<N_CHANNELS>::getYZ1(BW_SIZE_T channel) {
return bw_ppm_get_y_z1(states + channel);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Reverb
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Reverb {
public:
@ -45,6 +49,13 @@ namespace Brickworks {
void setDamping(float value);
void setDecay(float value);
void setWet(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_reverb_coeffs coeffs;
@ -120,6 +131,7 @@ namespace Brickworks {
inline void Reverb<N_CHANNELS>::setWet(float value) {
bw_reverb_set_wet(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::RingMod
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class RingMod {
public:
@ -39,6 +43,13 @@ namespace Brickworks {
int nSamples);
void setAmount(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_ringmod_coeffs coeffs;
@ -72,6 +83,7 @@ namespace Brickworks {
inline void RingMod<N_CHANNELS>::setAmount(float value) {
bw_ringmod_set_amount(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Satur
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Satur {
public:
@ -40,6 +44,13 @@ namespace Brickworks {
void setBias(float value);
void setGain(float value);
void setGainCompensation(bool value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_satur_coeffs coeffs;
@ -88,6 +99,7 @@ namespace Brickworks {
inline void Satur<N_CHANNELS>::setGainCompensation(bool value) {
bw_satur_set_gain_compensation(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::SlewLim
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class SlewLim {
public:
@ -42,6 +46,13 @@ namespace Brickworks {
void setMaxRateDown(float value);
float getYZ1(BW_SIZE_T channel);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_slew_lim_coeffs coeffs;
@ -95,6 +106,7 @@ namespace Brickworks {
inline float SlewLim<N_CHANNELS>::getYZ1(BW_SIZE_T channel) {
return bw_slew_lim_get_y_z1(states + channel);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::SRReduce
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class SRReduce {
public:
@ -37,6 +41,13 @@ namespace Brickworks {
int nSamples);
void setRatio(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_sr_reduce_coeffs coeffs;
@ -69,6 +80,7 @@ namespace Brickworks {
inline void SRReduce<N_CHANNELS>::setRatio(float value) {
bw_sr_reduce_set_ratio(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::SRC
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class SRC {
public:
@ -36,6 +40,13 @@ namespace Brickworks {
std::array<float *, N_CHANNELS> y,
std::array<int *, N_CHANNELS> nInSamples,
std::array<int *, N_CHANNELS> nOutSamples);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_src_coeffs coeffs;
@ -64,6 +75,7 @@ namespace Brickworks {
std::array<int *, N_CHANNELS> nOutSamples) {
bw_src_process_multi(coeffs, statesP, x.data(), y.data(), N_CHANNELS, nInSamples.data(), nOutSamples.data());
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::SRCInt
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class SRCInt {
public:
@ -35,6 +39,13 @@ namespace Brickworks {
std::array<const float *, N_CHANNELS> x,
std::array<float *, N_CHANNELS> y,
int nInSamples);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_src_int_coeffs coeffs;
@ -64,6 +75,7 @@ namespace Brickworks {
bw_src_int_process_multi(&coeffs, statesP, x.data(), y.data(), ret.data(), N_CHANNELS, nInSamples);
return ret;
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::SVF
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class SVF {
public:
@ -43,6 +47,13 @@ namespace Brickworks {
void setQ(float value);
void setPrewarpAtCutoff(bool value);
void setPrewarpFreq(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_svf_coeffs coeffs;
@ -98,6 +109,7 @@ namespace Brickworks {
inline void SVF<N_CHANNELS>::setPrewarpFreq(float value) {
bw_svf_set_prewarp_freq(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Trem
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Trem {
public:
@ -39,6 +43,13 @@ namespace Brickworks {
void setRate(float value);
void setAmount(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_trem_coeffs coeffs;
@ -82,6 +93,7 @@ namespace Brickworks {
inline void Trem<N_CHANNELS>::setAmount(float value) {
bw_trem_set_amount(&coeffs, value);
}
}
#endif

View File

@ -25,6 +25,10 @@
#include <array>
namespace Brickworks {
/*! api {{{
* ##### Brickworks::Wah
* ```>>> */
template<BW_SIZE_T N_CHANNELS>
class Wah {
public:
@ -38,6 +42,13 @@ namespace Brickworks {
int nSamples);
void setWah(float value);
/*! <<<... }```
* }}} */
/*** Implementation ***/
/* 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. */
private:
bw_wah_coeffs coeffs;
@ -76,6 +87,7 @@ namespace Brickworks {
inline void Wah<N_CHANNELS>::setWah(float value) {
bw_wah_set_wah(&coeffs, value);
}
}
#endif