Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
c35b3b8
use math constant
Jan 28, 2022
fc5d487
added NO_INTERPOLATION option
Jan 28, 2022
be7bb26
updated WavetableOscillator
Jan 28, 2022
5c75c0c
added Welch and Sine windows
Jan 28, 2022
11e4a35
check that channels and samples are not zero
Feb 2, 2022
050d274
updated to CMSIS V5
Feb 2, 2022
5c68162
updated DaisySP version
Feb 2, 2022
1e82d89
updated daisy lib
Feb 2, 2022
e2d6aff
split out some daisysp build options to separate makefile
Feb 2, 2022
0cf1de2
add header guards
Feb 22, 2022
10d6b71
add header guards
Feb 22, 2022
a1eb08c
added note
Feb 22, 2022
77a5d7c
removed ShortFastFourierTransform. added InterpolatingSignalGenerator.
Feb 22, 2022
fe3050a
added EnvelopeFollower (rectified smoothing filter)
Feb 23, 2022
970429c
added InterpolatingSignalGenerator
Feb 23, 2022
bcb92e8
added SimpleValue base class for Smooth/Stiff/Scaled values
Feb 23, 2022
a933085
added MovingAverage (exponential and simple)
Feb 23, 2022
03edef1
deprecating Patch::getFloat/IntParameter()
Feb 23, 2022
63419ff
use new Smooth/Stiff value classes
Feb 23, 2022
1eda0d9
include new classes
Feb 23, 2022
689013f
correct doc
Feb 23, 2022
5e35dfb
write history
Feb 23, 2022
7187ccf
added missing assignment operators
Feb 24, 2022
8c6ad16
added missing assignment operators
Feb 24, 2022
2d92645
fixes and tests for MovingAverage
Feb 24, 2022
39c0904
fixes and tests for MovingAverage
Feb 24, 2022
bb30f1c
fixes and tests for MovingAverage
Feb 24, 2022
4e2878a
Added TakeoverValue. Updated SimpleValue with static const defaults
Feb 24, 2022
e34058f
adding tests and fixing constants for Smooth/SimpleValue
Feb 28, 2022
1a7067b
partial fixes to Up/Downsampler
Mar 14, 2022
92be29a
speed up FirmwareSender and don't delete deep object files in Libraries
Mar 14, 2022
4152712
replace _eram with _estack synonym
Mar 14, 2022
0ae89df
clean up link files
Mar 14, 2022
14981ae
limited size patch name
Mar 14, 2022
c8f07f5
removed unwanted aligns
Mar 19, 2022
648bc20
use mydsp::create/destroy
Apr 10, 2022
99d430c
ensure getContiguousReadCapacity() works at boundary
Apr 10, 2022
12d84ec
implement ScreenPatch::getScreenWidth()/getScreenHeight() (with hardc…
Apr 10, 2022
0f7cd75
added doc comment
Apr 10, 2022
bdbb545
added assertion
Apr 10, 2022
737aab7
added MovingAverage::process(FloatArray input) methods and reference …
Apr 10, 2022
acb1802
added InterpolatingWavetableOscillator
Apr 10, 2022
902c08d
defs
Apr 10, 2022
6f60028
history
Apr 10, 2022
2bf12be
removed duplicate
Apr 10, 2022
fce42b8
added ~GenParameterBase() destructor and fixed signed warnings in for…
pingdynasty Jun 11, 2022
5bc2d02
v2: update Dockerfile to live-server toolchain (ARM 9-2020-q2, FAUST …
pingdynasty Oct 24, 2026
cc4e9a7
v2: fix fragile vpath that breaks make libs when DaisySP is empty
pingdynasty Oct 24, 2026
9622eb4
Writing HISTORY
pingdynasty Oct 24, 2026
f7d9f98
Add release label
pingdynasty Oct 24, 2026
cbf623d
Push images on master changes
pingdynasty Oct 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ name: Publish Docker image

on:
push:
branches: [ develop ]
branches: [ master ]
paths:
- 'Dockerfile'
- '.dockerignore'
Expand Down
240 changes: 116 additions & 124 deletions Dockerfile

Large diffs are not rendered by default.

256 changes: 0 additions & 256 deletions FaustCode/WaveReader.h

This file was deleted.

7 changes: 3 additions & 4 deletions FaustSource/owl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -989,21 +989,20 @@ struct OwlMemoryManager : public dsp_memory_manager {
// fDSP->buildUserInterface(&fUI);

fBend = 1.0f;
fDSP = new mydsp();
mydsp::fManager = &mem; // set custom memory manager
fDSP = mydsp::create();
fDSP->metadata(&fUI.meta);
if (fUI.meta.message != NULL)
debugMessage(fUI.meta.message);
fUI.addVOct();

mydsp::fManager = &mem; // set custom memory manager
mydsp::classInit(int(getSampleRate())); // initialise static tables
fDSP->instanceInit(int(getSampleRate())); // initialise DSP instance
fDSP->buildUserInterface(&fUI); // Map OWL parameters
}

~FaustPatch() {
delete fDSP;
// mem.destroy(fDSP);
mydsp::destroy(fDSP);
// DSP static data is destroyed using classDestroy.
mydsp::classDestroy();
}
Expand Down
9 changes: 5 additions & 4 deletions GenSource/GenPatch.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ class MonoVoiceAllocator {

class GenParameterBase {
public:
~GenParameterBase(){}
virtual void update(Patch* patch, CommonState *context){}
};

Expand Down Expand Up @@ -272,10 +273,10 @@ class GenPatch : public Patch {

~GenPatch() {
gen::destroy(context);
for(int i=0; i<param_count; ++i)
for(size_t i=0; i<param_count; ++i)
delete params[i];
delete[] params;
for(int i=getNumberOfChannels(); i<gen::num_outputs(); ++i)
for(size_t i=getNumberOfChannels(); i<gen::num_outputs(); ++i)
delete[] buffers[i];
delete[] buffers;
delete[] outputs.getData();
Expand All @@ -286,14 +287,14 @@ class GenPatch : public Patch {
}

void processAudio(AudioBuffer &buffer) {
for(int i=0; i<param_count; ++i)
for(size_t i=0; i<param_count; ++i)
params[i]->update(this, context);
size_t channels = buffer.getChannels();
size_t ch;
for(ch=0; ch<channels; ++ch)
buffers[ch] = buffer.getSamples(ch);
gen::perform(context, buffers, channels, buffers, gen::num_outputs(), buffer.getSize());
for(int i=0; i<outputs.getSize(); ++i){
for(size_t i=0; i<outputs.getSize(); ++i){
if(outputs[i].id > 0x100){
float maxvalue = outputs[i].buffer.getMaxValue();
setButton((PatchButtonId)(outputs[i].id-0x100), maxvalue > 0.5);
Expand Down
18 changes: 18 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
v23.0
-----

* Added Welch and Sine window types
* Added WavetableOscillator NO_INTERPOLATION option
* Added ScreenPatch::getScreenWidth() and getScreenHeight()
* Fixed Up/Downsampler
* Updated to CMSIS V5
* Added InterpolatingWavetableOscillator
* Added MovingAverage::process(FloatArray) and ::getAverage()
* Added TakeoverValue
* Added EnvelopeFollower
* Added ExponentialMovingAverage and SimpleMovingAverage
* Added KaiserWindow (from the Loris C++ Class Library)
* Added LinearValue, ExponentialValue and LogarithmicValue
* Refactored Smooth and StiffValue
* Added InterpolatingSignalGenerator

v22.2
-----

Expand Down
2 changes: 1 addition & 1 deletion LibSource/BiquadFilter.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class FilterStage {
FloatArray state;
static constexpr float BESSEL_Q = 0.57735026919f; // 1/sqrt(3)
static constexpr float SALLEN_KEY_Q = 0.5f; // 1/2
static constexpr float BUTTERWORTH_Q = 0.70710678118f; // 1/sqrt(2)
static constexpr float BUTTERWORTH_Q = M_SQRT1_2; // 1/sqrt(2)

FilterStage(FloatArray co, FloatArray st) : coefficients(co), state(st){}

Expand Down
6 changes: 3 additions & 3 deletions LibSource/CircularBuffer.h
Original file line number Diff line number Diff line change
Expand Up @@ -201,10 +201,10 @@ class CircularBuffer {
}

IndexType getContiguousReadCapacity() const {
if(writepos < readpos)
return size - readpos;
else
if(writepos > readpos)
return writepos - readpos;
else
return size - readpos;
}

void setAll(const DataType value){
Expand Down
7 changes: 7 additions & 0 deletions LibSource/ColourScreenPatch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ ColourScreenPatch::ColourScreenPatch(){

ColourScreenPatch::~ColourScreenPatch(){}

uint16_t ColourScreenPatch::getScreenWidth(){
return 64;
}
uint16_t ColourScreenPatch::getScreenHeight(){
return 64;
}

template<>
Colour ColourScreenBuffer::getPixel(unsigned int x, unsigned int y){
if(x >= width || y >= height)
Expand Down
Loading
Loading