Consolidate and clean up storing and recalling parameters. Enable storing and recalling of spectral module order again, using different state IDs. So old states will be discarded, but oh well...
This commit is contained in:
@ -88,7 +88,7 @@ PaulstretchpluginAudioProcessor::PaulstretchpluginAudioProcessor()
|
||||
m_sm_enab_pars[2] = new AudioParameterBool("enab_specmodule2", "Enable spectral module 3", true);
|
||||
m_sm_enab_pars[3] = new AudioParameterBool("enab_specmodule3", "Enable spectral module 4", true);
|
||||
m_sm_enab_pars[4] = new AudioParameterBool("enab_specmodule4", "Enable spectral module 5", false);
|
||||
m_sm_enab_pars[5] = new AudioParameterBool("enab_specmodule5", "Enable spectral module 6", true);
|
||||
m_sm_enab_pars[5] = new AudioParameterBool("enab_specmodule5", "Enable spectral module 6", false);
|
||||
m_sm_enab_pars[6] = new AudioParameterBool("enab_specmodule6", "Enable spectral module 7", true);
|
||||
m_sm_enab_pars[7] = new AudioParameterBool("enab_specmodule7", "Enable spectral module 8", true);
|
||||
m_sm_enab_pars[8] = new AudioParameterBool("enab_specmodule8", "Enable spectral module 9", false);
|
||||
@ -217,26 +217,16 @@ int PaulstretchpluginAudioProcessor::getPreBufferAmount()
|
||||
ValueTree PaulstretchpluginAudioProcessor::getStateTree(bool ignoreoptions, bool ignorefile)
|
||||
{
|
||||
ValueTree paramtree("paulstretch3pluginstate");
|
||||
for (int i = 0; i<getNumParameters(); ++i)
|
||||
{
|
||||
storeToTreeProperties(paramtree, nullptr, getFloatParameter(i));
|
||||
}
|
||||
storeToTreeProperties(paramtree, nullptr, getIntParameter(cpi_numharmonics));
|
||||
storeToTreeProperties(paramtree, nullptr, m_outchansparam);
|
||||
storeToTreeProperties(paramtree, nullptr, m_inchansparam);
|
||||
storeToTreeProperties(paramtree, nullptr, getIntParameter(cpi_freefilter_randomy_numbands));
|
||||
storeToTreeProperties(paramtree, nullptr, getIntParameter(cpi_freefilter_randomy_rate));
|
||||
storeToTreeProperties(paramtree, nullptr, getBoolParameter(cpi_bypass_stretch));
|
||||
storeToTreeProperties(paramtree, nullptr, getParameters());
|
||||
if (m_current_file != File() && ignorefile == false)
|
||||
{
|
||||
paramtree.setProperty("importedfile", m_current_file.getFullPathName(), nullptr);
|
||||
}
|
||||
auto specorder = m_stretch_source->getSpectrumProcessOrder();
|
||||
paramtree.setProperty("numspectralstages", (int)specorder.size(), nullptr);
|
||||
paramtree.setProperty("numspectralstagesb", (int)specorder.size(), nullptr);
|
||||
for (int i = 0; i < specorder.size(); ++i)
|
||||
{
|
||||
paramtree.setProperty("specorder" + String(i), specorder[i].m_index, nullptr);
|
||||
//paramtree.setProperty("specstepenabled" + String(i), specorder[i].m_enabled, nullptr);
|
||||
paramtree.setProperty("specorderb" + String(i), specorder[i].m_index, nullptr);
|
||||
}
|
||||
if (ignoreoptions == false)
|
||||
{
|
||||
@ -261,32 +251,23 @@ void PaulstretchpluginAudioProcessor::setStateFromTree(ValueTree tree)
|
||||
ValueTree freefilterstate = tree.getChildWithName("freefilter_envelope");
|
||||
m_free_filter_envelope->restoreState(freefilterstate);
|
||||
m_load_file_with_state = tree.getProperty("loadfilewithstate", true);
|
||||
if (tree.hasProperty("numspectralstages"))
|
||||
if (tree.hasProperty("numspectralstagesb"))
|
||||
{
|
||||
/*
|
||||
std::vector<SpectrumProcess> order;
|
||||
int ordersize = tree.getProperty("numspectralstages");
|
||||
for (int i = 0; i < ordersize; ++i)
|
||||
std::vector<SpectrumProcess> old_order = m_stretch_source->getSpectrumProcessOrder();
|
||||
std::vector<SpectrumProcess> new_order;
|
||||
int ordersize = tree.getProperty("numspectralstagesb");
|
||||
if (ordersize == old_order.size())
|
||||
{
|
||||
bool step_enabled = tree.getProperty("specstepenabled" + String(i));
|
||||
//order.push_back({ (int)tree.getProperty("specorder" + String(i)), step_enabled });
|
||||
for (int i = 0; i < ordersize; ++i)
|
||||
{
|
||||
new_order.push_back({ (int)tree.getProperty("specorderb" + String(i)), old_order[i].m_enabled });
|
||||
}
|
||||
m_stretch_source->setSpectrumProcessOrder(new_order);
|
||||
}
|
||||
if (ordersize<m_stretch_source->getSpectrumProcessOrder().size())
|
||||
order.emplace_back(8,m_sm_enab_pars[8]);
|
||||
m_stretch_source->setSpectrumProcessOrder(order);
|
||||
*/
|
||||
}
|
||||
getFromTreeProperties(tree, "waveviewrange", m_wave_view_range);
|
||||
for (int i = 0; i < getNumParameters(); ++i)
|
||||
{
|
||||
getFromTreeProperties(tree,getFloatParameter(i));
|
||||
}
|
||||
getFromTreeProperties(tree, getIntParameter(cpi_numharmonics));
|
||||
getFromTreeProperties(tree, m_outchansparam);
|
||||
getFromTreeProperties(tree, m_inchansparam);
|
||||
getFromTreeProperties(tree, getBoolParameter(cpi_bypass_stretch));
|
||||
getFromTreeProperties(tree, getIntParameter(cpi_freefilter_randomy_numbands));
|
||||
getFromTreeProperties(tree, getIntParameter(cpi_freefilter_randomy_rate));
|
||||
getFromTreeProperties(tree, getParameters());
|
||||
|
||||
}
|
||||
int prebufamt = tree.getProperty("prebufamount", 2);
|
||||
if (prebufamt == -1)
|
||||
|
Reference in New Issue
Block a user