This commit is contained in:
xenakios
2018-09-01 15:31:48 +03:00
parent fb710e0ec7
commit 89c1944fc4
3 changed files with 4 additions and 45 deletions

View File

@ -85,16 +85,12 @@ inline bool hasProperties(ValueTree src, Args&&... args)
return (src.hasProperty(args) && ...);
}
inline void storeToTreeProperties(ValueTree dest, UndoManager* uman, juce::Identifier varname, var val)
{
dest.setProperty(varname, val, uman);
}
template<typename... Ts>
inline void storeToTreeProperties(ValueTree dest, UndoManager* uman, juce::Identifier varname, var val, Ts&&... args)
{
dest.setProperty(varname, val, uman);
storeToTreeProperties(dest, uman, args...);
if constexpr(sizeof...(Ts)>1)
storeToTreeProperties(dest, uman, args...);
}
template<typename T>
@ -135,19 +131,13 @@ inline void storeToTreeProperties(ValueTree dest, UndoManager* uman, const Owned
}
}
template<typename T>
inline void getFromTreeProperties(ValueTree src, juce::Identifier varname, T& val)
{
if (src.hasProperty(varname))
val = src.getProperty(varname);
}
template<typename... Ts, typename T>
inline void getFromTreeProperties(ValueTree src, juce::Identifier varname, T& val, Ts&... args)
{
if (src.hasProperty(varname))
val = src.getProperty(varname);
getFromTreeProperties(src, args...);
if constexpr(sizeof...(Ts)>1)
getFromTreeProperties(src, args...);
}
template<typename T>