From 1b4c75df0a1dd135e3882d8a0cc45dbd1b32241e Mon Sep 17 00:00:00 2001 From: xenakios Date: Tue, 5 Jun 2018 21:40:03 +0300 Subject: [PATCH] Added duplicate method for breakpoint envelope. NOTE : the copy is not fully implemented yet. Get free filter envelope duplicate for use with offline rendering. --- Source/PluginProcessor.cpp | 2 ++ Source/jcdp_envelope.h | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/Source/PluginProcessor.cpp b/Source/PluginProcessor.cpp index a622d3b..df3468e 100644 --- a/Source/PluginProcessor.cpp +++ b/Source/PluginProcessor.cpp @@ -467,6 +467,8 @@ String PaulstretchpluginAudioProcessor::offlineRender(File outputfile) File outputfiletouse = outputfile.getNonexistentSibling(); int numoutchans = *getIntParameter(cpi_num_outchans); auto ss = std::make_shared(numoutchans,m_afm,m_sm_enab_pars); + shared_envelope free_env = m_free_filter_envelope->duplicate(); + ss->setFreeFilterEnvelope(free_env); int blocksize = 2048; ss->setAudioFile(m_current_file); diff --git a/Source/jcdp_envelope.h b/Source/jcdp_envelope.h index 5ef04a3..cac13b0 100644 --- a/Source/jcdp_envelope.h +++ b/Source/jcdp_envelope.h @@ -208,6 +208,15 @@ public: m_value_grid={0.0,0.25,0.5,0.75,1.0}; m_randbuf.resize(1024); } + std::unique_ptr duplicate() + { + auto result = std::make_unique(); + result->m_nodes = m_nodes; + result->m_randbuf = m_randbuf; + result->m_transform_wrap_x = m_transform_wrap_x; + result->m_transform_x_shift = m_transform_x_shift; + return result; + } void SetName(String Name) { m_name=Name; }