Skip to content

Commit e8fe8aa

Browse files
committed
0.9.4 Bug Fix: can't set line num when the GUI is not open
temp fix. Should not set lineNum in processblock every time
1 parent f9ffc42 commit e8fe8aa

File tree

4 files changed

+29
-10
lines changed

4 files changed

+29
-10
lines changed

Source/Panels/SpectrogramPanel/Multiband.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ void Multiband::paint (juce::Graphics& g)
246246
updateLines(0);
247247
setSoloRelatedBounds();
248248
freqDividerGroup[i]->getCloseButton().setMouseClickState(true);
249-
processor.setLineNum(lineNum);
249+
processor.setLineNum();
250250
}
251251
}
252252

@@ -256,7 +256,7 @@ void Multiband::paint (juce::Graphics& g)
256256
stateComponent.setChangedState(false);
257257
updateLines(1); // 1 means setBounds by setting frequency
258258
setSoloRelatedBounds();
259-
processor.setLineNum(lineNum);
259+
processor.setLineNum();
260260
}
261261
}
262262

@@ -635,7 +635,7 @@ void Multiband::mouseDown(const juce::MouseEvent &e)
635635
freqDividerGroup[i]->getVerticalLine().setMoving(true);
636636
freqDividerGroup[i]->setCloseButtonValue(true);
637637
updateLines(0);
638-
processor.setLineNum(lineNum);
638+
processor.setLineNum();
639639
setStatesWhenAddOrDelete(i, "add");
640640
break;
641641
}

Source/PluginEditor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ FireAudioProcessorEditor::~FireAudioProcessorEditor()
177177
void FireAudioProcessorEditor::initEditor()
178178
{
179179
setSize(processor.getSavedWidth(), processor.getSavedHeight());
180-
processor.setLineNum(multiband.getLineNum());
180+
// processor.setLineNum(multiband.getLineNum());
181181
//processor.setPresetId(processor.getPresetId());
182182
//lastPresetName = stateComponent.getPresetName();
183183

Source/PluginProcessor.cpp

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -453,9 +453,9 @@ void FireAudioProcessor::processBlock(juce::AudioBuffer<float> &buffer, juce::Mi
453453
int freqValue2 = static_cast<int>(*treeState.getRawParameterValue(FREQ_ID2));
454454
int freqValue3 = static_cast<int>(*treeState.getRawParameterValue(FREQ_ID3));
455455

456-
bool lineState1 = static_cast<int>(*treeState.getRawParameterValue(LINE_STATE_ID1));
457-
bool lineState2 = static_cast<int>(*treeState.getRawParameterValue(LINE_STATE_ID2));
458-
bool lineState3 = static_cast<int>(*treeState.getRawParameterValue(LINE_STATE_ID3));
456+
bool lineState1 = static_cast<bool>(*treeState.getRawParameterValue(LINE_STATE_ID1));
457+
bool lineState2 = static_cast<bool>(*treeState.getRawParameterValue(LINE_STATE_ID2));
458+
bool lineState3 = static_cast<bool>(*treeState.getRawParameterValue(LINE_STATE_ID3));
459459

460460
// sort freq
461461
std::array<int, 3> freqArray = {0, 0, 0};
@@ -464,6 +464,9 @@ void FireAudioProcessor::processBlock(juce::AudioBuffer<float> &buffer, juce::Mi
464464
if (lineState2) freqArray[count++] = freqValue2;
465465
if (lineState3) freqArray[count++] = freqValue3;
466466

467+
//TODO: Temp fix. Should not set lineNum in processblock every time.
468+
lineNum = count;
469+
467470
std::sort(freqArray.begin(), freqArray.begin() + count);
468471

469472
freqValue1 = freqArray[0];
@@ -1324,9 +1327,25 @@ void FireAudioProcessor::mixProcessor(juce::String mixId, juce::SmoothedValue<fl
13241327
// return lineNum;
13251328
//}
13261329

1327-
void FireAudioProcessor::setLineNum(int lineNum)
1330+
void FireAudioProcessor::setLineNum()
13281331
{
1329-
this->lineNum = lineNum;
1332+
// maybe this method is useless, or delete "lineNum = count" in processBlock
1333+
int num = 0;
1334+
1335+
if (*treeState.getRawParameterValue(LINE_STATE_ID1))
1336+
{
1337+
num += 1;
1338+
}
1339+
if (*treeState.getRawParameterValue(LINE_STATE_ID2))
1340+
{
1341+
num += 1;
1342+
}
1343+
if (*treeState.getRawParameterValue(LINE_STATE_ID3))
1344+
{
1345+
num += 1;
1346+
}
1347+
1348+
this->lineNum = num;
13301349
}
13311350

13321351
// VU meters

Source/PluginProcessor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ class FireAudioProcessor : public juce::AudioProcessor
103103

104104
// get number of activated lines
105105
// int getLineNum();
106-
void setLineNum(int lineNum);
106+
void setLineNum();
107107

108108
// VU meters
109109
float getInputMeterRMSLevel(int channel, juce::String bandName);

0 commit comments

Comments
 (0)