Store and restore free filter state
This commit is contained in:
		@@ -232,7 +232,9 @@ ValueTree PaulstretchpluginAudioProcessor::getStateTree(bool ignoreoptions, bool
 | 
			
		||||
		paramtree.setProperty("loadfilewithstate", m_load_file_with_state, nullptr);
 | 
			
		||||
	}
 | 
			
		||||
	storeToTreeProperties(paramtree, nullptr, "waveviewrange", m_wave_view_range);
 | 
			
		||||
	return paramtree;
 | 
			
		||||
    ValueTree freefilterstate = m_free_filter_envelope->saveState(Identifier("freefilter_envelope"));
 | 
			
		||||
    paramtree.addChild(freefilterstate, -1, nullptr);
 | 
			
		||||
    return paramtree;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void PaulstretchpluginAudioProcessor::setStateFromTree(ValueTree tree)
 | 
			
		||||
@@ -241,7 +243,9 @@ void PaulstretchpluginAudioProcessor::setStateFromTree(ValueTree tree)
 | 
			
		||||
	{
 | 
			
		||||
		{
 | 
			
		||||
			ScopedLock locker(m_cs);
 | 
			
		||||
			m_load_file_with_state = tree.getProperty("loadfilewithstate", true);
 | 
			
		||||
            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"))
 | 
			
		||||
			{
 | 
			
		||||
				std::vector<SpectrumProcess> order;
 | 
			
		||||
 
 | 
			
		||||
@@ -210,9 +210,9 @@ public:
 | 
			
		||||
    double GetDefValue() { return m_defvalue; }
 | 
			
		||||
    void SetDefValue(double value) { m_defvalue=value; }
 | 
			
		||||
    int GetDefShape() { return m_defshape; }
 | 
			
		||||
	ValueTree saveState()
 | 
			
		||||
	ValueTree saveState(Identifier id)
 | 
			
		||||
	{
 | 
			
		||||
		ValueTree result("envelope");
 | 
			
		||||
		ValueTree result(id);
 | 
			
		||||
		for (int i = 0; i < m_nodes.size(); ++i)
 | 
			
		||||
		{
 | 
			
		||||
			ValueTree pt_tree("pt");
 | 
			
		||||
@@ -224,7 +224,9 @@ public:
 | 
			
		||||
	}
 | 
			
		||||
	void restoreState(ValueTree state)
 | 
			
		||||
	{
 | 
			
		||||
		int numnodes = state.getNumChildren();
 | 
			
		||||
		if (state.isValid()==false)
 | 
			
		||||
            return;
 | 
			
		||||
        int numnodes = state.getNumChildren();
 | 
			
		||||
		if (numnodes > 0)
 | 
			
		||||
		{
 | 
			
		||||
			m_nodes.clear();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user