Added convenience functions to deal with storing and getting audio parameters and use them

This commit is contained in:
xenakios
2018-02-22 01:09:36 +02:00
parent 73c58f6067
commit 1a8bddeb9b
2 changed files with 27 additions and 11 deletions

@ -90,6 +90,16 @@ inline void storeToTreeProperties(ValueTree dest, UndoManager* uman, juce::Ident
dest.setProperty(varname+"_end", x.getEnd(), uman);
}
inline void storeToTreeProperties(ValueTree dest, UndoManager* uman, AudioParameterBool* par)
{
if (par) dest.setProperty(par->paramID,(bool)*par,uman);
}
inline void storeToTreeProperties(ValueTree dest, UndoManager* uman, AudioParameterInt* par)
{
if (par) dest.setProperty(par->paramID,(int)*par,uman);
}
template<typename T>
inline void getFromTreeProperties(ValueTree src, juce::Identifier varname, T& val)
{
@ -115,6 +125,15 @@ inline void getFromTreeProperties(ValueTree src, juce::Identifier varname, Range
}
}
template<typename T>
inline void getFromTreeProperties(ValueTree src, T par)
{
if (par!=nullptr && src.hasProperty(par->paramID))
{
*par = src.getProperty(par->paramID);
}
}
template<typename F>
inline void timeCall(String msgprefix,F&& f)
{