Skip to content

Commit

Permalink
Bug fixing
Browse files Browse the repository at this point in the history
  • Loading branch information
Quixotic7 committed Feb 29, 2024
1 parent 91b52d7 commit 7208e67
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 10 deletions.
21 changes: 14 additions & 7 deletions OMX-27-firmware/src/midifx/midifx_arpeggiator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@

namespace midifx
{
Micros nextArpTriggerTime_ = 0;

enum ArpPage
{
ARPPAGE_1,
Expand Down Expand Up @@ -162,6 +160,15 @@ namespace midifx
}
}

MidiFXArpeggiator::~MidiFXArpeggiator()
{
if (arpRunning_)
{
// Remove from this
seqConfig.numOfActiveArps--;
}
}

int MidiFXArpeggiator::getFXType()
{
return MIDIFX_ARP;
Expand Down Expand Up @@ -641,7 +648,7 @@ namespace midifx

void MidiFXArpeggiator::doPendingStart()
{
Serial.println("doPendingStart()");
// Serial.println("doPendingStart()");

// stepMicroDelta_ = (clockConfig.step_micros * 16) * multiplier_;
multiplierCalculated_ = false;
Expand Down Expand Up @@ -695,7 +702,7 @@ namespace midifx

seqConfig.numOfActiveArps++;

Serial.println("numOfActiveArps: " + String(seqConfig.numOfActiveArps));
// Serial.println("numOfActiveArps: " + String(seqConfig.numOfActiveArps));
}

void MidiFXArpeggiator::stopArp()
Expand All @@ -714,7 +721,7 @@ namespace midifx

void MidiFXArpeggiator::doPendingStop()
{
Serial.println("doPendingStop");
// Serial.println("doPendingStop");
if (arpRunning_)
{
// Stop clocks if last arp
Expand All @@ -729,7 +736,7 @@ namespace midifx
pendingStart_ = false;
pendingStop_ = false;

Serial.println("numOfActiveArps: " + String(seqConfig.numOfActiveArps));
// Serial.println("numOfActiveArps: " + String(seqConfig.numOfActiveArps));
}

bool MidiFXArpeggiator::insertMidiNoteQueue(MidiNoteGroup note)
Expand Down Expand Up @@ -1216,7 +1223,7 @@ namespace midifx

uint8_t quantIndex = quantizedRateIndex_ < 0 ? clockConfig.globalQuantizeStepIndex : quantizedRateIndex_; // Use global or local quantize rate?

bool isQuantizedStep = seqConfig.currentClockTick % (96 * 4 / kArpRates[quantIndex]) == 0;
bool isQuantizedStep = seqConfig.currentClockTick % ((96 * 4) / kArpRates[quantIndex]) == 0;

// Move pending notes to active
if(isQuantizedStep)
Expand Down
4 changes: 3 additions & 1 deletion OMX-27-firmware/src/midifx/midifx_arpeggiator.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ namespace midifx
{
public:
MidiFXArpeggiator();
~MidiFXArpeggiator() {}
~MidiFXArpeggiator();

int getFXType() override;
const char *getName() override;
Expand Down Expand Up @@ -228,6 +228,8 @@ namespace midifx

bool pendingStart_ = false;
bool pendingStop_ = false;
Micros nextArpTriggerTime_;

// Micros pendingStartTime_;
// uint8_t pendingStopCount_ = 0;

Expand Down
10 changes: 9 additions & 1 deletion OMX-27-firmware/src/midifx/midifx_repeat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,15 @@ namespace midifx
encoderSelect_ = true;
}

int MidiFXRepeat::getFXType()
MidiFXRepeat::~MidiFXRepeat()
{
if (seqRunning_)
{
seqConfig.numOfActiveArps--;
}
}

int MidiFXRepeat::getFXType()
{
return MIDIFX_REPEAT;
}
Expand Down
2 changes: 1 addition & 1 deletion OMX-27-firmware/src/midifx/midifx_repeat.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ namespace midifx
{
public:
MidiFXRepeat();
~MidiFXRepeat() {}
~MidiFXRepeat();

int getFXType() override;
const char *getName() override;
Expand Down

0 comments on commit 7208e67

Please sign in to comment.