Compare commits

...

9 Commits
v1.2.0 ... main

23 changed files with 122 additions and 114 deletions

View File

@ -1,22 +0,0 @@
{
"android_make": {
"cxxflags": "-I../../../include -I../../common/src -I../../../../miniaudio",
"commonDir": "../../common/android",
"keyStore": "../../common/src/keystore.jks",
"keyAlias": "androidkey",
"storePass": "android",
"keyPass": "android",
"sdkDir": "${HOME}/Android/Sdk",
"ndkVersion": "25.2.9519653",
"buildToolsVersion": "34.0.0",
"androidxDir": "${HOME}/Android/androidx",
"kotlinDir": "${HOME}/Android/kotlin",
"androidVersion": "34",
"androidxCoreVersion": "1.10.1",
"androidxLifecycleCommonVersion": "2.6.1",
"androidxVersionedparcelableVersion": "1.1.1",
"kotlinStdlibVersion": "1.9.0",
"kotlinxCoroutinesCoreVersion": "1.7.3",
"kotlinxCoroutinesCoreJVMVersion": "1.7.3"
}
}

View File

@ -1,7 +0,0 @@
{
"cmd_make": {
"commonDir": "../../common/cmd",
"tinywavDir": "../../../../tinywav",
"midiParserDir": "../../../../midi-parser"
}
}

View File

@ -1,6 +0,0 @@
{
"daisy_seed_make": {
"commonDir": "../../common/daisy-seed",
"libdaisyDir": "../../../../libDaisy"
}
}

View File

@ -1,14 +0,0 @@
{
"ios_make": {
"headerSearchPaths": [
"../../../../../../miniaudio",
"../../../../common/src",
"../../../../../include"
],
"deploymentTarget": 14.0,
"commonDir": "../../common/ios",
"pluginDir": "../../common/src/cxx-fx",
"cSrcs": "../../common/src/cxx-fx/impl.h",
"cxxSrcs": "../src/impl.cpp"
}
}

View File

@ -1,14 +0,0 @@
{
"ios_make": {
"headerSearchPaths": [
"../../../../../../miniaudio",
"../../../../common/src",
"../../../../../include"
],
"deploymentTarget": 14.0,
"commonDir": "../../common/ios",
"pluginDir": "../../common/src/cxx-synth",
"cSrcs": "../../common/src/cxx-synth/impl.h",
"cxxSrcs": "../src/impl.cpp"
}
}

View File

@ -5,8 +5,6 @@
"../../../../common/src", "../../../../common/src",
"../../../../../include" "../../../../../include"
], ],
"deploymentTarget": 14.0, "deploymentTarget": 14.0
"commonDir": "../../common/ios",
"pluginDir": "../src"
} }
} }

View File

@ -1,5 +0,0 @@
{
"lv2_make": {
"commonDir": "../../common/lv2"
}
}

View File

@ -1,8 +1,6 @@
{ {
"make": { "make": {
"cxxSrcs": "../src/impl.cpp", "mkincDir": "../../common/src",
"cflags": "-I../../../include -I../../common/src -I../../common/src/cxx-fx -I../common/src", "extra": "EXAMPLE_TYPE := cxx-fx"
"cxxflags": "-I../../../include -I../../common/src -I../../common/src/cxx-fx -I../common/src -std=c++11",
"pluginDir": "../../common/src/cxx-fx"
} }
} }

View File

@ -1,8 +1,6 @@
{ {
"make": { "make": {
"cxxSrcs": "../src/impl.cpp", "mkincDir": "../../common/src",
"cflags": "-I../../../include -I../../common/src -I../../common/src/cxx-synth -I../common/src", "extra": "EXAMPLE_TYPE := cxx-synth"
"cxxflags": "-I../../../include -I../../common/src -I../../common/src/cxx-synth -I../common/src -std=c++11",
"pluginDir": "../../common/src/cxx-synth"
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"make": { "make": {
"cflags": "-I../../../include -I../../common/src -I../common/src", "mkincDir": "../../common/src",
"pluginDir": "../src" "extra": "EXAMPLE_TYPE := c"
} }
} }

View File

@ -0,0 +1,3 @@
ifeq ($(TEMPLATE), web)
include $(COMMON_DIR)/../web/rules-extra-web-demo.mk
endif

View File

@ -0,0 +1,3 @@
ifeq ($(TEMPLATE), web)
include $(COMMON_DIR)/../web/vars-extra-web-demo.mk
endif

View File

@ -0,0 +1,77 @@
API_DIR := ../api
ifeq ($(EXAMPLE_TYPE), c)
PLUGIN_DIR := ../src
CFLAGS_EXTRA := -I../../../include -I../../common/src
endif
ifeq ($(EXAMPLE_TYPE), cxx-fx)
PLUGIN_DIR := ../../common/src/cxx-fx
CXX_SRCS_EXTRA := ../src/impl.cpp
CFLAGS_EXTRA := -I../../../include -I../../common/src -I../../common/src/cxx-fx
CXXFLAGS_EXTRA := -I../../../include -I../../common/src -I../../common/src/cxx-fx -std=c++11
endif
ifeq ($(EXAMPLE_TYPE), cxx-synth)
PLUGIN_DIR := ../../common/src/cxx-synth
CXX_SRCS_EXTRA := ../src/impl.cpp
CFLAGS_EXTRA := -I../../../include -I../../common/src -I../../common/src/cxx-synth
CXXFLAGS_EXTRA := -I../../../include -I../../common/src -I../../common/src/cxx-synth -std=c++11
endif
ifeq ($(TEMPLATE), cmd)
COMMON_DIR := ../../common/cmd
TINYWAV_DIR := ../../../../tinywav
MIDI_PARSER_DIR := ../../../../midi-parser
endif
ifeq ($(TEMPLATE), lv2)
COMMON_DIR := ../../common/lv2
endif
ifeq ($(TEMPLATE), vst3)
COMMON_DIR := ../../common/vst3
CFLAGS_EXTRA := $(CFLAGS_EXTRA) -I../../../../vst3_c_api
endif
ifeq ($(TEMPLATE), web)
COMMON_DIR := ../../common/web
CFLAGS_EXTRA := $(CFLAGS_EXTRA) -DWASM
CXXFLAGS_EXTRA := $(CXXFLAGS_EXTRA) -DWASM -std=c++11
endif
ifeq ($(TEMPLATE), daisy-seed)
COMMON_DIR := ../../common/daisy-seed
LIBDAISY_DIR := ../../../../libDaisy
endif
ifeq ($(TEMPLATE), ios)
COMMON_DIR := ../../common/ios
ifeq ($(EXAMPLE_TYPE), cxx-fx)
C_SRCS_EXTRA := ../../common/src/cxx-fx/impl.h
endif
ifeq ($(EXAMPLE_TYPE), cxx-synth)
C_SRCS_EXTRA := ../../common/src/cxx-synth/impl.h
endif
endif
ifeq ($(TEMPLATE), android)
COMMON_DIR := ../../common/android
CXXFLAGS_EXTRA := -I../../../include -I../../common/src -I../../../../miniaudio
KEY_STORE := ../../common/src/keystore.jks
KEY_ALIAS := androidkey
STORE_PASS := android
KEY_PASS := android
SDK_DIR := $(HOME)/Android/Sdk
ANDROIDX_DIR := $(HOME)/Android/androidx
KOTLIN_DIR := $(HOME)/Android/kotlin
NDK_VERSION := 27.2.12479018
BUILD_TOOLS_VERSION := 35.0.0
ANDROID_VERSION := 35
ANDROIDX_CORE_VERSION := 1.15.0
ANDROIDX_LIFECYCLE_COMMON_VERSION := 2.8.7
ANDROIDX_VERSIONEDPARCELABLE_VERSION := 1.2.0
KOTLIN_STDLIB_VERSION := 2.1.0
KOTLINX_COROUTINES_CORE_VERSION := 1.9.0
KOTLINX_COROUTINES_CORE_JVM_VERSION := 1.9.0
endif

View File

@ -1,6 +0,0 @@
{
"vst3_make": {
"cflags": "-I../../../../vst3_c_api",
"commonDir": "../../common/vst3"
}
}

View File

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

View File

@ -9,5 +9,5 @@ dirs="fx* synth*"
for d in $dirs; do for d in $dirs; do
echo Removing data files for $d echo Removing data files for $d
rm -fr $d/common $d/cmd $d/web $d/daisy-seed $d/lv2 $d/vst3 $d/android $d/ios rm -fr $d/api $d/cmd $d/web $d/daisy-seed $d/lv2 $d/vst3 $d/android $d/ios
done done

View File

@ -53,34 +53,34 @@ for d in $dirs; do
;; ;;
esac esac
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json $TIBIA_DIR/templates/common common && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json $TIBIA_DIR/templates/api api && cd ..
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json $TIBIA_DIR/templates/cmd cmd && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json $TIBIA_DIR/templates/cmd cmd && cd ..
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,../common/src/$make_json,../common/src/cmd-make.json $TIBIA_DIR/templates/cmd-make cmd && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,../common/src/$make_json $TIBIA_DIR/templates/cmd-make cmd && cd ..
echo "include ../../common/cmd/Makefile" > $d/cmd/Makefile echo "include ../../common/cmd/Makefile" > $d/cmd/Makefile
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json $TIBIA_DIR/templates/web web && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json $TIBIA_DIR/templates/web web && cd ..
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,../common/src/$make_json,../common/src/web-make.json $TIBIA_DIR/templates/web-make web && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,../common/src/$make_json $TIBIA_DIR/templates/web-make web && cd ..
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,../common/src/$make_json,../common/src/web-make.json $TIBIA_DIR/templates/web-demo web && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,../common/src/$make_json $TIBIA_DIR/templates/web-demo web && cd ..
echo "include ../../common/web/Makefile" > $d/web/Makefile echo "include ../../common/web/Makefile" > $d/web/Makefile
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/daisy-seed.json $TIBIA_DIR/templates/daisy-seed daisy-seed && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/daisy-seed.json $TIBIA_DIR/templates/daisy-seed daisy-seed && cd ..
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/daisy-seed.json,../common/src/$make_json,../common/src/daisy-seed-make.json $TIBIA_DIR/templates/daisy-seed-make daisy-seed && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/daisy-seed.json,../common/src/$make_json $TIBIA_DIR/templates/daisy-seed-make daisy-seed && cd ..
echo "include ../../common/daisy-seed/Makefile" > $d/daisy-seed/Makefile echo "include ../../common/daisy-seed/Makefile" > $d/daisy-seed/Makefile
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/lv2.json $TIBIA_DIR/templates/lv2 lv2 && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/lv2.json $TIBIA_DIR/templates/lv2 lv2 && cd ..
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/lv2.json,../common/src/$make_json,../common/src/lv2-make.json $TIBIA_DIR/templates/lv2-make lv2 && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/lv2.json,../common/src/$make_json $TIBIA_DIR/templates/lv2-make lv2 && cd ..
echo "include ../../common/lv2/Makefile" > $d/lv2/Makefile echo "include ../../common/lv2/Makefile" > $d/lv2/Makefile
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/vst3.json $TIBIA_DIR/templates/vst3 vst3 && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/vst3.json $TIBIA_DIR/templates/vst3 vst3 && cd ..
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/vst3.json,../common/src/$make_json,../common/src/vst3-make.json $TIBIA_DIR/templates/vst3-make vst3 && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/vst3.json,../common/src/$make_json $TIBIA_DIR/templates/vst3-make vst3 && cd ..
echo "include ../../common/vst3/Makefile" > $d/vst3/Makefile echo "include ../../common/vst3/Makefile" > $d/vst3/Makefile
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/android.json $TIBIA_DIR/templates/android android && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/android.json $TIBIA_DIR/templates/android android && cd ..
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/android.json,../common/src/$make_json,../common/src/android-make.json $TIBIA_DIR/templates/android-make android && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/android.json,../common/src/$make_json $TIBIA_DIR/templates/android-make android && cd ..
echo "include ../../common/android/Makefile" > $d/android/Makefile echo "include ../../common/android/Makefile" > $d/android/Makefile
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/ios.json $TIBIA_DIR/templates/ios ios && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/ios.json $TIBIA_DIR/templates/ios ios && cd ..
cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/ios.json,../common/src/ios-$make_json $TIBIA_DIR/templates/ios-make ios && cd .. cd $d && $TIBIA_DIR/tibia --data ../common/src/company.json,src/product.json,src/ios.json,../common/src/$make_json,../common/src/ios-make.json $TIBIA_DIR/templates/ios-make ios && cd ..
echo "include ../../common/ios/Makefile" > $d/ios/Makefile echo "include ../../common/ios/Makefile" > $d/ios/Makefile
done done

View File

@ -30,7 +30,7 @@
* <ul> * <ul>
* <li>Version <strong>1.2.0</strong>: * <li>Version <strong>1.2.0</strong>:
* <ul> * <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>, * <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and * <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li> * <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_ap2_process()</code> to * <li>Added debugging checks from <code>bw_ap2_process()</code> to

View File

@ -29,7 +29,7 @@
* <ul> * <ul>
* <li>Version <strong>1.2.0</strong>: * <li>Version <strong>1.2.0</strong>:
* <ul> * <ul>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>, * <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and * <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li> * <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_balance_process()</code> to * <li>Added debugging checks from <code>bw_balance_process()</code> to

View File

@ -213,7 +213,7 @@ static inline void bw_dist_process_multi(
size_t n_channels, size_t n_channels,
size_t n_samples); size_t n_samples);
/*! <<<``` /*! <<<```
* Processes the first `n_samples` of the `n_channels` input buffers `x` and * Processes the first `n_samples` of the `n_channels` input buffers `x` and
* fills the first `n_samples` of the `n_channels` output buffers `y`, while * fills the first `n_samples` of the `n_channels` output buffers `y`, while
* using and updating both the common `coeffs` and each of the `n_channels` * using and updating both the common `coeffs` and each of the `n_channels`
* `state`s (control and audio rate). * `state`s (control and audio rate).

View File

@ -214,7 +214,7 @@ static inline void bw_fuzz_process_multi(
size_t n_channels, size_t n_channels,
size_t n_samples); size_t n_samples);
/*! <<<``` /*! <<<```
* Processes the first `n_samples` of the `n_channels` input buffers `x` and * Processes the first `n_samples` of the `n_channels` input buffers `x` and
* fills the first `n_samples` of the `n_channels` output buffers `y`, while * fills the first `n_samples` of the `n_channels` output buffers `y`, while
* using and updating both the common `coeffs` and each of the `n_channels` * using and updating both the common `coeffs` and each of the `n_channels`
* `state`s (control and audio rate). * `state`s (control and audio rate).

View File

@ -20,21 +20,27 @@
/*! /*!
* module_type {{{ dsp }}} * module_type {{{ dsp }}}
* version {{{ 1.2.0 }}} * version {{{ 1.2.1 }}}
* requires {{{ bw_common bw_math bw_one_pole }}} * requires {{{ bw_common bw_math bw_one_pole }}}
* description {{{ * description {{{
* Smoothed gain module with optional sticky gain-reach threshold. * Smoothed gain module with optional sticky gain-reach threshold.
* }}} * }}}
* changelog {{{ * changelog {{{
* <ul> * <ul>
* <li>Version <strong>1.2.1</strong>:
* <ul>
* <li>Fixed typo in the documentation of
* <code>bw_gain_update_coeffs_audio*()</code>.</li>
* </ul>
* </li>
* <li>Version <strong>1.2.0</strong>: * <li>Version <strong>1.2.0</strong>:
* <ul> * <ul>
* <li>Added optional sticky gain-reach threshold and related API.</li> * <li>Added optional sticky gain-reach threshold and related API.</li>
* <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>, * <li>Added support for <code>BW_INCLUDE_WITH_QUOTES</code>,
* <code>BW_NO_CXX</code>, and * <code>BW_NO_CXX</code>, and
* <code>BW_CXX_NO_EXTERN_C</code>.</li> * <code>BW_CXX_NO_EXTERN_C</code>.</li>
* <li>Added debugging checks from <code>bw_ap1_process()</code> to * <li>Added debugging checks from <code>bw_gain_process()</code> to
* <code>bw_ap1_process_multi()</code>.</li> * <code>bw_gain_process_multi()</code>.</li>
* <li>Added debugging checks in <code>bw_gain_process_multi()</code> * <li>Added debugging checks in <code>bw_gain_process_multi()</code>
* to ensure that buffers used for both input and output appear at * to ensure that buffers used for both input and output appear at
* the same channel indices.</li> * the same channel indices.</li>
@ -164,7 +170,7 @@ static inline void bw_gain_update_coeffs_ctrl(
/*! <<<``` /*! <<<```
* Triggers control-rate update of coefficients in `coeffs`. * Triggers control-rate update of coefficients in `coeffs`.
* *
* #### bw_gain_update_coeffs_audio() * #### bw_gain_update_coeffs_audio*()
* ```>>> */ * ```>>> */
static inline void bw_gain_update_coeffs_audio( static inline void bw_gain_update_coeffs_audio(
bw_gain_coeffs * BW_RESTRICT coeffs); bw_gain_coeffs * BW_RESTRICT coeffs);

View File

@ -20,7 +20,7 @@
/*! /*!
* module_type {{{ dsp }}} * module_type {{{ dsp }}}
* version {{{ 1.2.0 }}} * version {{{ 1.2.1 }}}
* requires {{{ bw_common bw_math }}} * requires {{{ bw_common bw_math }}}
* description {{{ * description {{{
* One-pole (6 dB/oct) lowpass filter with unitary DC gain, separate attack * One-pole (6 dB/oct) lowpass filter with unitary DC gain, separate attack
@ -30,6 +30,12 @@
* }}} * }}}
* changelog {{{ * changelog {{{
* <ul> * <ul>
* <li>Verison <strong>1.2.1</strong>:
* <ul>
* <li>Fixed typo in the documentation of
* <code>bw_one_pole_get_sticky_mode()</code>.</li>
* </ul>
* </li>
* <li>Version <strong>1.2.0</strong>: * <li>Version <strong>1.2.0</strong>:
* <ul> * <ul>
* <li>Added <code>bw_one_pole_get_sticky_thresh()</code> and * <li>Added <code>bw_one_pole_get_sticky_thresh()</code> and
@ -444,7 +450,7 @@ static inline float bw_one_pole_get_sticky_thresh(
/*! <<<``` /*! <<<```
* Returns the current target-reach threshold in `coeffs`. * Returns the current target-reach threshold in `coeffs`.
* *
* #### bw_one_pole_get_sticky_thresh() * #### bw_one_pole_get_sticky_mode()
* ```>>> */ * ```>>> */
static inline bw_one_pole_sticky_mode bw_one_pole_get_sticky_mode( static inline bw_one_pole_sticky_mode bw_one_pole_get_sticky_mode(
const bw_one_pole_coeffs * BW_RESTRICT coeffs); const bw_one_pole_coeffs * BW_RESTRICT coeffs);