Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions deps/LFO.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ LowFrequencyOscillator::LowFrequencyOscillator() {
srand(time(NULL));
}

LowFrequencyOscillator::~LowFrequencyOscillator() {
delete cv;
}

void LowFrequencyOscillator::setPitch(float pitch) {
pitch = fminf(pitch, 8.0);
freq = powf(2.0, pitch);
Expand Down
1 change: 1 addition & 0 deletions deps/LFO.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ class LowFrequencyOscillator {

public:
LowFrequencyOscillator();
~LowFrequencyOscillator();
void setPitch(float);
void setFrequency(float);
void setPulseWidth(float);
Expand Down
4 changes: 4 additions & 0 deletions src/controller/Baronial.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ BaronialModule::BaronialModule() {
configParam<Slope>(RELEASE_CURVE_PARAM, 0.0, 1.0, 1.0);
}

BaronialModule::~BaronialModule() {
delete gate;
}

void BaronialModule::process(const ProcessArgs &args) {
if (inputs[GATE].isConnected()) {
gate->update(inputs[GATE].getVoltage());
Expand Down
1 change: 1 addition & 0 deletions src/controller/Baronial.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ struct BaronialModule : Module {
enum LightIds { NUM_LIGHTS };

BaronialModule();
~BaronialModule() override;
float paramValue (uint16_t, uint16_t, float, float);

void process(const ProcessArgs &args) override;
Expand Down
6 changes: 6 additions & 0 deletions src/controller/Gnome.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ GnomeModule::GnomeModule () {
doReset();
}

GnomeModule::~GnomeModule() {
delete reset;
delete runCV;
delete runParam;
}

void GnomeModule::doReset() {
bpm = 0;
width = 0;
Expand Down
1 change: 1 addition & 0 deletions src/controller/Gnome.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ struct GnomeModule : Module {
enum LightIds { LED_1, LED_2, LED_4, LED_8, LED_16, LED_A, LED_B, LED_C, LED_D, LED_E, LED_F, LED_RESET, RUN_LIGHT, NUM_LIGHTS };

GnomeModule( );
~GnomeModule();
float paramValue (uint16_t, uint16_t, float, float);
void process(const ProcessArgs &args) override;

Expand Down
4 changes: 4 additions & 0 deletions src/controller/Marionette.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ MarionetteModule::MarionetteModule( ) {
freqAdsr.setDecayCurve(CURVED);
}

MarionetteModule::~MarionetteModule() {
delete gate;
}

float MarionetteModule::paramValue (uint16_t param, uint16_t input, float low, float high) {
float current = params[param].getValue();

Expand Down
1 change: 1 addition & 0 deletions src/controller/Marionette.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ struct MarionetteModule : Module {
enum LightIds { NUM_LIGHTS };

MarionetteModule();
~MarionetteModule() override;
void process(const ProcessArgs &) override;

float pitchEnvelope ( );
Expand Down
5 changes: 5 additions & 0 deletions src/controller/OpenHH.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ OpenHHModule::OpenHHModule( ) {
chokeCV[1] = new SynthDevKit::CV(0.5);
}

OpenHHModule::~OpenHHModule() {
delete chokeCV[0];
delete chokeCV[1];
}

float OpenHHModule::chokeValue(uint8_t which, uint32_t sampleRate) {
if (choking[which] == false) {
return 1;
Expand Down
1 change: 1 addition & 0 deletions src/controller/OpenHH.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

struct OpenHHModule : SampleController {
OpenHHModule();
~OpenHHModule() override;
void setupSamples( ) override;
uint8_t sampleId(uint8_t) override;
float chokeValue(uint8_t, uint32_t);
Expand Down
5 changes: 5 additions & 0 deletions src/controller/SBD.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ SBDModule::SBDModule( ) {
configParam<WaveShape>(SBDModule::WAVE_PARAM, 0.0, 1.0, 1.0, "Wave");
}

SBDModule::~SBDModule() {
delete cv;
delete noise;
}

void SBDModule::process(const ProcessArgs &args) {
float noiseVal = 0.0f;
float freq_decay = params[PITCH_DECAY_PARAM].getValue();
Expand Down
1 change: 1 addition & 0 deletions src/controller/SBD.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ struct SBDModule : Module {
enum LightIds { NUM_LIGHTS };

SBDModule( );
~SBDModule() override;
void process(const ProcessArgs &) override;

LowFrequencyOscillator lfo;
Expand Down
5 changes: 5 additions & 0 deletions src/controller/SampleController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ SampleController::SampleController( ) {
numModules = 0;
}

SampleController::~SampleController() {
for (uint8_t i = 0; i < MAX_MODULES; i++)
delete cv[i];
}

float SampleController::paramValue (uint16_t param, uint16_t input, float low, float high) {
float current = params[param].getValue();

Expand Down
1 change: 1 addition & 0 deletions src/controller/SampleController.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ struct SampleController : Module {
enum LightIds { NUM_LIGHTS };

SampleController( );
~SampleController() override;
void process(const ProcessArgs &) override;
float paramValue (uint16_t, uint16_t, float, float);
virtual void setupSamples( );
Expand Down
26 changes: 22 additions & 4 deletions src/controller/Sequencer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,23 +56,41 @@ SequencerModule::SequencerModule() {
}
}

doReset();

configParam<PercentTen>(PULSE_WIDTH, 0.1, 10.0, 5.05, "Width", "%");
configParam<Blank>(PLAY, 0.0f, 1.0f, 0.0f, "Run");
configParam<Blank>(CYCLE, 0.0f, 1.0f, 0.0f, "Cycle");
configParam<Blank>(MAIN_UP, 0.0f, 1.0f, 0.0f, "Up");
configParam<Blank>(MAIN_DOWN, 0.0f, 1.0f, 0.0f, "Down");
configParam<Blank>(COPY, 0.0f, 1.0f, 0.0f, "Copy");
configParam<Blank>(PASTE, 0.0f, 1.0f, 0.0f, "Paste");

doReset();
}

SequencerModule::~SequencerModule() {
delete clock;
delete runCV;
delete runParam;
delete cycleCV;
delete cycleParam;
delete resetCV;
delete mainUp;
delete mainDown;
delete copy;
delete paste;
for (int i = 0; i < SEQ_PLAY; i++) {
delete patternUp[i];
delete patternDown[i];
}
}

void SequencerModule::doReset() {
currentCount = -1;
savePattern(currentPlay);
setPlay(programs[0]);
currentGate = -1;
currentPlay = 1;
currentPosition = 0;
savePattern(currentPlay);
setPlay(programs[0]);
}

json_t *SequencerModule::dataToJson() {
Expand Down
1 change: 1 addition & 0 deletions src/controller/Sequencer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ struct SequencerModule : Module {
};

SequencerModule( );
~SequencerModule() override;

void process(const ProcessArgs &) override;
json_t *dataToJson() override;
Expand Down
4 changes: 4 additions & 0 deletions src/model/SampleManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ namespace DrumKit {

mantissa = modf(ctx->currentPosition, &characteristic);

if ((uint64_t) characteristic == 0) {
return 0.0f;
}

if (mantissa == 0) {
return ctx->sample->values[(uint64_t) characteristic - 1];
}
Expand Down