Skip to content

Commit

Permalink
faust stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
RickTaylor79 committed Jun 20, 2024
1 parent 6998805 commit e4b86c5
Show file tree
Hide file tree
Showing 97 changed files with 47,712 additions and 173 deletions.
1 change: 1 addition & 0 deletions oi grandad/DspNetworks/CodeLibrary/faust/00Bypass.dsp
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
process = _;
109 changes: 109 additions & 0 deletions oi grandad/DspNetworks/CodeLibrary/faust/01Message.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
/* ------------------------------------------------------------
name: "01Message"
Code generated with Faust 2.50.6 (https://faust.grame.fr)
Compilation options: -lang cpp -es 1 -mcd 16 -single -ftz 0
------------------------------------------------------------ */

#ifndef __mydsp_H__
#define __mydsp_H__

#ifndef FAUSTFLOAT
#define FAUSTFLOAT float
#endif

#include <algorithm>
#include <cmath>
#include <cstdint>

#ifndef FAUSTCLASS
#define FAUSTCLASS mydsp
#endif

#ifdef __APPLE__
#define exp10f __exp10f
#define exp10 __exp10
#endif

#if defined(_WIN32)
#define RESTRICT __restrict
#else
#define RESTRICT __restrict__
#endif


class mydsp : public dsp {

private:

int iRec0[2];
int fSampleRate;

public:

void metadata(Meta* m) {
m->declare("compile_options", "-lang cpp -es 1 -mcd 16 -single -ftz 0");
m->declare("filename", "01Message.dsp");
m->declare("message", "Hello\nmake some noise");
m->declare("name", "01Message");
m->declare("noises.lib/name", "Faust Noise Generator Library");
m->declare("noises.lib/version", "0.4");
}

virtual int getNumInputs() {
return 0;
}
virtual int getNumOutputs() {
return 1;
}

static void classInit(int sample_rate) {
}

virtual void instanceConstants(int sample_rate) {
fSampleRate = sample_rate;
}

virtual void instanceResetUserInterface() {
}

virtual void instanceClear() {
for (int l0 = 0; l0 < 2; l0 = l0 + 1) {
iRec0[l0] = 0;
}
}

virtual void init(int sample_rate) {
classInit(sample_rate);
instanceInit(sample_rate);
}
virtual void instanceInit(int sample_rate) {
instanceConstants(sample_rate);
instanceResetUserInterface();
instanceClear();
}

virtual mydsp* clone() {
return new mydsp();
}

virtual int getSampleRate() {
return fSampleRate;
}

virtual void buildUserInterface(UI* ui_interface) {
ui_interface->openVerticalBox("01Message");
ui_interface->closeBox();
}

virtual void compute(int count, FAUSTFLOAT** RESTRICT inputs, FAUSTFLOAT** RESTRICT outputs) {
FAUSTFLOAT* output0 = outputs[0];
for (int i0 = 0; i0 < count; i0 = i0 + 1) {
iRec0[0] = 1103515245 * iRec0[1] + 12345;
output0[i0] = FAUSTFLOAT(2.3283064e-10f * float(iRec0[0]));
iRec0[1] = iRec0[0];
}
}

};

#endif
5 changes: 5 additions & 0 deletions oi grandad/DspNetworks/CodeLibrary/faust/01Message.dsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
declare message "Hello\nmake some noise";

import("stdfaust.lib");

process = no.noise : *(0.5);
170 changes: 170 additions & 0 deletions oi grandad/DspNetworks/CodeLibrary/faust/02Input.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
/* ------------------------------------------------------------
name: "02Input"
Code generated with Faust 2.50.6 (https://faust.grame.fr)
Compilation options: -lang cpp -es 1 -mcd 16 -single -ftz 0
------------------------------------------------------------ */

#ifndef __mydsp_H__
#define __mydsp_H__

#ifndef FAUSTFLOAT
#define FAUSTFLOAT float
#endif

#include <algorithm>
#include <cmath>
#include <cstdint>
#include <math.h>

#ifndef FAUSTCLASS
#define FAUSTCLASS mydsp
#endif

#ifdef __APPLE__
#define exp10f __exp10f
#define exp10 __exp10
#endif

#if defined(_WIN32)
#define RESTRICT __restrict
#else
#define RESTRICT __restrict__
#endif

class mydspSIG0 {

private:

int iVec0[2];
int iRec0[2];

public:

int getNumInputsmydspSIG0() {
return 0;
}
int getNumOutputsmydspSIG0() {
return 1;
}

void instanceInitmydspSIG0(int sample_rate) {
for (int l0 = 0; l0 < 2; l0 = l0 + 1) {
iVec0[l0] = 0;
}
for (int l1 = 0; l1 < 2; l1 = l1 + 1) {
iRec0[l1] = 0;
}
}

void fillmydspSIG0(int count, float* table) {
for (int i1 = 0; i1 < count; i1 = i1 + 1) {
iVec0[0] = 1;
iRec0[0] = (iVec0[1] + iRec0[1]) % 65536;
table[i1] = std::sin(9.58738e-05f * float(iRec0[0]));
iVec0[1] = iVec0[0];
iRec0[1] = iRec0[0];
}
}

};

static mydspSIG0* newmydspSIG0() { return (mydspSIG0*)new mydspSIG0(); }
static void deletemydspSIG0(mydspSIG0* dsp) { delete dsp; }

static float ftbl0mydspSIG0[65536];

class mydsp : public dsp {

private:

int fSampleRate;
float fConst0;
FAUSTFLOAT fHslider0;
float fRec1[2];

public:

void metadata(Meta* m) {
m->declare("basics.lib/name", "Faust Basic Element Library");
m->declare("basics.lib/version", "0.8");
m->declare("compile_options", "-lang cpp -es 1 -mcd 16 -single -ftz 0");
m->declare("filename", "02Input.dsp");
m->declare("maths.lib/author", "GRAME");
m->declare("maths.lib/copyright", "GRAME");
m->declare("maths.lib/license", "LGPL with exception");
m->declare("maths.lib/name", "Faust Math Library");
m->declare("maths.lib/version", "2.5");
m->declare("name", "02Input");
m->declare("oscillators.lib/name", "Faust Oscillator Library");
m->declare("oscillators.lib/version", "0.3");
m->declare("platform.lib/name", "Generic Platform Library");
m->declare("platform.lib/version", "0.2");
}

virtual int getNumInputs() {
return 0;
}
virtual int getNumOutputs() {
return 1;
}

static void classInit(int sample_rate) {
mydspSIG0* sig0 = newmydspSIG0();
sig0->instanceInitmydspSIG0(sample_rate);
sig0->fillmydspSIG0(65536, ftbl0mydspSIG0);
deletemydspSIG0(sig0);
}

virtual void instanceConstants(int sample_rate) {
fSampleRate = sample_rate;
fConst0 = 1.0f / std::min<float>(1.92e+05f, std::max<float>(1.0f, float(fSampleRate)));
}

virtual void instanceResetUserInterface() {
fHslider0 = FAUSTFLOAT(6e+01f);
}

virtual void instanceClear() {
for (int l2 = 0; l2 < 2; l2 = l2 + 1) {
fRec1[l2] = 0.0f;
}
}

virtual void init(int sample_rate) {
classInit(sample_rate);
instanceInit(sample_rate);
}
virtual void instanceInit(int sample_rate) {
instanceConstants(sample_rate);
instanceResetUserInterface();
instanceClear();
}

virtual mydsp* clone() {
return new mydsp();
}

virtual int getSampleRate() {
return fSampleRate;
}

virtual void buildUserInterface(UI* ui_interface) {
ui_interface->openVerticalBox("02Input");
ui_interface->declare(&fHslider0, "OWL", "A");
ui_interface->addHorizontalSlider("Frequency", &fHslider0, FAUSTFLOAT(6e+01f), FAUSTFLOAT(6e+01f), FAUSTFLOAT(4.4e+02f), FAUSTFLOAT(1.0f));
ui_interface->closeBox();
}

virtual void compute(int count, FAUSTFLOAT** RESTRICT inputs, FAUSTFLOAT** RESTRICT outputs) {
FAUSTFLOAT* output0 = outputs[0];
float fSlow0 = fConst0 * float(fHslider0);
for (int i0 = 0; i0 < count; i0 = i0 + 1) {
fRec1[0] = fSlow0 + (fRec1[1] - std::floor(fSlow0 + fRec1[1]));
output0[i0] = FAUSTFLOAT(ftbl0mydspSIG0[int(65536.0f * fRec1[0])]);
fRec1[1] = fRec1[0];
}
}

};

#endif
5 changes: 5 additions & 0 deletions oi grandad/DspNetworks/CodeLibrary/faust/02Input.dsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import("stdfaust.lib");

freq = hslider("Frequency[OWL:A]", 60, 60, 440, 1);

process = os.osc(freq);
Loading

0 comments on commit e4b86c5

Please sign in to comment.