Implement more ratiomixer parameters etc

This commit is contained in:
xenakios
2018-04-03 18:32:53 +03:00
parent 941ebf31a5
commit 08398392ca
4 changed files with 47 additions and 5 deletions

View File

@ -159,7 +159,7 @@ PaulstretchpluginAudioProcessorEditor::PaulstretchpluginAudioProcessorEditor(Pau
m_ratiomixeditor.GetParameterValue = [this](int which, int index)
{
if (which == 0)
return processor.getStretchSource()->getProcessParameters().ratiomix.ratios[index];
return (double)*processor.getFloatParameter((int)cpi_octaves_ratio0 + index);
if (which == 1)
{
if (index == 0)
@ -174,6 +174,10 @@ PaulstretchpluginAudioProcessorEditor::PaulstretchpluginAudioProcessorEditor(Pau
return (double)*processor.getFloatParameter(cpi_octaves15);
if (index == 5)
return (double)*processor.getFloatParameter(cpi_octaves2);
if (index == 6)
return (double)*processor.getFloatParameter(cpi_octaves_extra1);
if (index == 7)
return (double)*processor.getFloatParameter(cpi_octaves_extra2);
}
return 0.0;
@ -192,6 +196,14 @@ PaulstretchpluginAudioProcessorEditor::PaulstretchpluginAudioProcessorEditor(Pau
*processor.getFloatParameter(cpi_octaves15) = val;
if (index == 5)
*processor.getFloatParameter(cpi_octaves2) = val;
if (index == 6)
*processor.getFloatParameter(cpi_octaves_extra1) = val;
if (index == 7)
*processor.getFloatParameter(cpi_octaves_extra2) = val;
};
m_ratiomixeditor.OnRatioChanged = [this](int index, double val)
{
*processor.getFloatParameter((int)cpi_octaves_ratio0 + index) = val;
};
m_wave_container->addAndMakeVisible(&m_wavecomponent);
m_wavefilter_tab.addTab("Waveform", Colours::white, m_wave_container, true);
@ -1380,7 +1392,7 @@ RatioMixerEditor::RatioMixerEditor(int numratios)
{
auto ratslid = std::make_unique<Slider>(Slider::LinearHorizontal,Slider::TextBoxBelow);
ratslid->setRange(0.125, 8.0);
ratslid->onValueChange = [this]() {};
ratslid->onValueChange = [this,i]() {OnRatioChanged(i, m_ratio_sliders[i]->getValue()); };
addAndMakeVisible(ratslid.get());
m_ratio_sliders.emplace_back(std::move(ratslid));
@ -1412,7 +1424,11 @@ void RatioMixerEditor::timerCallback()
{
for (int i = 0; i < m_ratio_level_sliders.size(); ++i)
{
m_ratio_sliders[i]->setValue(GetParameterValue(0, i), dontSendNotification);
m_ratio_level_sliders[i]->setValue(GetParameterValue(1, i), dontSendNotification);
double v = GetParameterValue(0, i);
if (v!=m_ratio_sliders[i]->getValue())
m_ratio_sliders[i]->setValue(v, dontSendNotification);
v = GetParameterValue(1, i);
if (v!=m_ratio_level_sliders[i]->getValue())
m_ratio_level_sliders[i]->setValue(v, dontSendNotification);
}
}