Parameter store and recall stuff
This commit is contained in:
parent
1f24ffb1b6
commit
6f6670b2d4
@ -90,6 +90,11 @@ inline void storeToTreeProperties(ValueTree dest, UndoManager* uman, juce::Ident
|
|||||||
dest.setProperty(varname+"_end", x.getEnd(), uman);
|
dest.setProperty(varname+"_end", x.getEnd(), uman);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void storeToTreeProperties(ValueTree dest, UndoManager* uman, AudioParameterFloat* par)
|
||||||
|
{
|
||||||
|
if (par) dest.setProperty(par->paramID, (float)*par, uman);
|
||||||
|
}
|
||||||
|
|
||||||
inline void storeToTreeProperties(ValueTree dest, UndoManager* uman, AudioParameterBool* par)
|
inline void storeToTreeProperties(ValueTree dest, UndoManager* uman, AudioParameterBool* par)
|
||||||
{
|
{
|
||||||
if (par) dest.setProperty(par->paramID,(bool)*par,uman);
|
if (par) dest.setProperty(par->paramID,(bool)*par,uman);
|
||||||
@ -128,7 +133,9 @@ inline void getFromTreeProperties(ValueTree src, juce::Identifier varname, Range
|
|||||||
template<typename T>
|
template<typename T>
|
||||||
inline void getFromTreeProperties(ValueTree src, T par)
|
inline void getFromTreeProperties(ValueTree src, T par)
|
||||||
{
|
{
|
||||||
if (par!=nullptr && src.hasProperty(par->paramID))
|
static_assert(std::is_base_of<AudioProcessorParameterWithID,std::remove_pointer<T>::type>::value,
|
||||||
|
"T must inherit from AudioProcessorParameterWithID");
|
||||||
|
if (par!=nullptr && src.hasProperty(par->paramID))
|
||||||
{
|
{
|
||||||
*par = src.getProperty(par->paramID);
|
*par = src.getProperty(par->paramID);
|
||||||
}
|
}
|
||||||
|
@ -204,11 +204,7 @@ ValueTree PaulstretchpluginAudioProcessor::getStateTree(bool ignoreoptions, bool
|
|||||||
ValueTree paramtree("paulstretch3pluginstate");
|
ValueTree paramtree("paulstretch3pluginstate");
|
||||||
for (int i = 0; i<getNumParameters(); ++i)
|
for (int i = 0; i<getNumParameters(); ++i)
|
||||||
{
|
{
|
||||||
auto par = getFloatParameter(i);
|
storeToTreeProperties(paramtree, nullptr, getFloatParameter(i));
|
||||||
if (par != nullptr)
|
|
||||||
{
|
|
||||||
paramtree.setProperty(par->paramID, (double)*par, nullptr);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
storeToTreeProperties(paramtree, nullptr, m_outchansparam);
|
storeToTreeProperties(paramtree, nullptr, m_outchansparam);
|
||||||
storeToTreeProperties(paramtree, nullptr, m_inchansparam);
|
storeToTreeProperties(paramtree, nullptr, m_inchansparam);
|
||||||
@ -257,12 +253,7 @@ void PaulstretchpluginAudioProcessor::setStateFromTree(ValueTree tree)
|
|||||||
getFromTreeProperties(tree, "waveviewrange", m_wave_view_range);
|
getFromTreeProperties(tree, "waveviewrange", m_wave_view_range);
|
||||||
for (int i = 0; i < getNumParameters(); ++i)
|
for (int i = 0; i < getNumParameters(); ++i)
|
||||||
{
|
{
|
||||||
auto par = getFloatParameter(i);
|
getFromTreeProperties(tree,getFloatParameter(i));
|
||||||
if (par != nullptr)
|
|
||||||
{
|
|
||||||
double parval = tree.getProperty(par->paramID, (double)*par);
|
|
||||||
*par = parval;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
getFromTreeProperties(tree, m_outchansparam);
|
getFromTreeProperties(tree, m_outchansparam);
|
||||||
getFromTreeProperties(tree, m_inchansparam);
|
getFromTreeProperties(tree, m_inchansparam);
|
||||||
|
Loading…
Reference in New Issue
Block a user