ref: 0b84baedbd43d85ef11794026326ad6ce44e3e38
parent: 99b0f582fbf5ce5af8c54baa1992215d316dc576
author: Sigrid Haflínudóttir <ftrvxmtrx@gmail.com>
date: Wed Mar 18 16:30:26 EDT 2020
dsp: update build to work on OpenBSD
--- a/dsp/dsp2c
+++ b/dsp/dsp2c
@@ -7,10 +7,10 @@
out=$(echo $i | sed 's/dsp$/c/')
faust -lang c -a arch.c -cn $class $@ $i -o "$out"
# in C () is not the same as (void) so fix it
- sed 's/new\([^(]*\)() /new\1(void) /' -i "$out"
+ sed -e 's/new\([^(]*\)() /new\1(void) /' -i "$out"
# mark "dsp", "sample_rate", and "inputs" args as USED
- sed 's/'$class'[A-Z0-9]*\* dsp.*{/&\n\tUSED(dsp);/g' -i "$out"
- sed 's/ \(sample_rate\|inputs\).*{/&\n\tUSED(\1);/g' -i "$out"
- # empty structs: add a dummy field
- sed -z 's/typedef struct {\n\+}/typedef struct {\n int dummy;\n}/g' -i "$out"
+ sed -e 's/'$class'[A-Z0-9]*\* dsp.*{/&\
+ USED(dsp);/g' -i "$out"
+ sed -E -e 's/ (sample_rate|inputs).*{/&\
+ USED(\1);/g' -i "$out"
done
--- a/dsp/kick_drum.c
+++ b/dsp/kick_drum.c
@@ -1,6 +1,6 @@
/* ------------------------------------------------------------
name: "Kick Drum"
-Code generated with Faust 2.21.5 (https://faust.grame.fr)
+Code generated with Faust 2.23.2 (https://faust.grame.fr)
Compilation options: -lang c -scal -ftz 0
------------------------------------------------------------ */
@@ -113,8 +113,8 @@
float fConst0;
float fConst1;
FAUSTFLOAT fHslider1;
- FAUSTFLOAT fHslider2;
FAUSTFLOAT fCheckbox0;
+ FAUSTFLOAT fHslider2;
FAUSTFLOAT fHslider3;
int iRec2[2];
FAUSTFLOAT fHslider4;
@@ -141,7 +141,7 @@
m->declare(m->metaInterface, "envelopes.lib/copyright", "GRAME");
m->declare(m->metaInterface, "envelopes.lib/license", "LGPL with exception");
m->declare(m->metaInterface, "envelopes.lib/name", "Faust Envelope Library");
- m->declare(m->metaInterface, "envelopes.lib/version", "0.0");
+ m->declare(m->metaInterface, "envelopes.lib/version", "0.1");
m->declare(m->metaInterface, "filename", "kick_drum.dsp");
m->declare(m->metaInterface, "group", "Synthesis");
m->declare(m->metaInterface, "maths.lib/author", "GRAME");
@@ -148,10 +148,12 @@
m->declare(m->metaInterface, "maths.lib/copyright", "GRAME");
m->declare(m->metaInterface, "maths.lib/license", "LGPL with exception");
m->declare(m->metaInterface, "maths.lib/name", "Faust Math Library");
- m->declare(m->metaInterface, "maths.lib/version", "2.1");
+ m->declare(m->metaInterface, "maths.lib/version", "2.2");
m->declare(m->metaInterface, "name", "Kick Drum");
m->declare(m->metaInterface, "oscillators.lib/name", "Faust Oscillator Library");
m->declare(m->metaInterface, "oscillators.lib/version", "0.0");
+ m->declare(m->metaInterface, "platform.lib/name", "Generic Platform Library");
+ m->declare(m->metaInterface, "platform.lib/version", "0.1");
}
int getSampleRateKickDrum(KickDrum* dsp) {
@@ -207,8 +209,8 @@
dsp->fHslider0 = (FAUSTFLOAT)1.0f;
dsp->fButton0 = (FAUSTFLOAT)0.0f;
dsp->fHslider1 = (FAUSTFLOAT)100.0f;
- dsp->fHslider2 = (FAUSTFLOAT)-5.0f;
dsp->fCheckbox0 = (FAUSTFLOAT)0.0f;
+ dsp->fHslider2 = (FAUSTFLOAT)-5.0f;
dsp->fHslider3 = (FAUSTFLOAT)0.001f;
dsp->fHslider4 = (FAUSTFLOAT)0.001f;
dsp->fHslider5 = (FAUSTFLOAT)0.001f;
@@ -307,7 +309,7 @@
float fSlow0 = (float)dsp->fHslider0;
float fSlow1 = (float)dsp->fButton0;
float fSlow2 = (float)dsp->fHslider1;
- float fSlow3 = ((float)dsp->fHslider2 * (float)dsp->fCheckbox0);
+ float fSlow3 = ((float)dsp->fCheckbox0 * (float)dsp->fHslider2);
float fSlow4 = max(1.0f, (dsp->fConst0 * (float)dsp->fHslider3));
float fSlow5 = (1.0f / fSlow4);
float fSlow6 = (1.0f / max(1.0f, (dsp->fConst0 * (float)dsp->fHslider4)));
--- a/dsp/mkfile
+++ b/dsp/mkfile
@@ -19,7 +19,7 @@
</sys/src/cmd/mkmany
%.c: %.dsp
- os -d `{../osdir} nix-shell ../nix/shell.nix --run './dsp2c '^$"prereq || \
+ os -d `{../osdir} ./dsp2c $"prereq || \
{ echo $target needs to be regenerated with "./dsp2c $prereq"; exit 1 }
$BIN/%: $O.%