DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit 290df2b2fb0cb99e18ba70b977b0ff7d71805594
parent 87e9b0f8441229815c1cc8b0eb518ae760f9bf47
Author: falkTX <falktx@falktx.com>
Date:   Sun, 30 Oct 2022 15:58:46 +0000

Reorganize TODO items

Signed-off-by: falkTX <falktx@falktx.com>

Diffstat:
Mdistrho/src/DistrhoPluginCLAP.cpp | 19++++++++++++++-----
Mdistrho/src/DistrhoPluginVST3.cpp | 45++++++++++++++++++++++-----------------------
2 files changed, 36 insertions(+), 28 deletions(-)

diff --git a/distrho/src/DistrhoPluginCLAP.cpp b/distrho/src/DistrhoPluginCLAP.cpp @@ -14,6 +14,14 @@ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +/* TODO items: + * CV: write a specification + * INFO: define url, manual url, support url and string version + * PARAMETERS: test parameter triggers + * States: skip DSP/UI only states as appropriate + * UI: expose external-only UIs + */ + #include "DistrhoPluginInternal.hpp" #include "extra/ScopedPointer.hpp" @@ -1070,8 +1078,7 @@ public: fPlugin.run(audioInputs, audioOutputs, frames); #endif - // TODO set last frame - flushParameters(nullptr, process->out_events); + flushParameters(nullptr, process->out_events, frames - 1); fOutputEvents = nullptr; } @@ -1210,7 +1217,9 @@ public: return true; } - void flushParameters(const clap_input_events_t* const in, const clap_output_events_t* const out) + void flushParameters(const clap_input_events_t* const in, + const clap_output_events_t* const out, + const uint32_t frameOffset) { if (const uint32_t len = in != nullptr ? in->size(in) : 0) { @@ -1231,7 +1240,7 @@ public: if (out != nullptr) { clap_event_param_value_t clapEvent = { - { sizeof(clap_event_param_value_t), 0, 0, CLAP_EVENT_PARAM_VALUE, CLAP_EVENT_IS_LIVE }, + { sizeof(clap_event_param_value_t), frameOffset, 0, CLAP_EVENT_PARAM_VALUE, CLAP_EVENT_IS_LIVE }, 0, nullptr, 0, 0, 0, 0, 0.0 }; @@ -2336,7 +2345,7 @@ static CLAP_ABI bool clap_plugin_params_text_to_value(const clap_plugin_t* plugi static CLAP_ABI void clap_plugin_params_flush(const clap_plugin_t* plugin, const clap_input_events_t* in, const clap_output_events_t* out) { PluginCLAP* const instance = static_cast<PluginCLAP*>(plugin->plugin_data); - return instance->flushParameters(in, out); + return instance->flushParameters(in, out, 0); } static const clap_plugin_params_t clap_plugin_params = { diff --git a/distrho/src/DistrhoPluginVST3.cpp b/distrho/src/DistrhoPluginVST3.cpp @@ -14,28 +14,6 @@ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include "DistrhoPluginInternal.hpp" -#include "../DistrhoPluginUtils.hpp" -#include "../extra/ScopedPointer.hpp" - -#define DPF_VST3_MAX_BUFFER_SIZE 32768 -#define DPF_VST3_MAX_SAMPLE_RATE 384000 -#define DPF_VST3_MAX_LATENCY DPF_VST3_MAX_SAMPLE_RATE * 10 - -#if DISTRHO_PLUGIN_HAS_UI -# include "../extra/RingBuffer.hpp" -#endif - -#include "travesty/audio_processor.h" -#include "travesty/component.h" -#include "travesty/edit_controller.h" -#include "travesty/factory.h" -#include "travesty/host.h" - -#include <map> -#include <string> -#include <vector> - /* TODO items: * == parameters * - test parameter triggers @@ -43,7 +21,6 @@ * - parameter groups via unit ids * - test parameter changes from DSP (aka requestParameterValueChange) * - implement getParameterNormalized/setParameterNormalized for MIDI CC params ? - * - fully implemented parameter stuff and verify * - float to int safe casting * - verify that latency changes works (with and without DPF_VST3_USES_SEPARATE_CONTROLLER) * == MIDI @@ -60,6 +37,28 @@ * - do something with set_io_mode? */ +#include "DistrhoPluginInternal.hpp" +#include "../DistrhoPluginUtils.hpp" +#include "../extra/ScopedPointer.hpp" + +#define DPF_VST3_MAX_BUFFER_SIZE 32768 +#define DPF_VST3_MAX_SAMPLE_RATE 384000 +#define DPF_VST3_MAX_LATENCY DPF_VST3_MAX_SAMPLE_RATE * 10 + +#if DISTRHO_PLUGIN_HAS_UI +# include "../extra/RingBuffer.hpp" +#endif + +#include "travesty/audio_processor.h" +#include "travesty/component.h" +#include "travesty/edit_controller.h" +#include "travesty/factory.h" +#include "travesty/host.h" + +#include <map> +#include <string> +#include <vector> + START_NAMESPACE_DISTRHO // --------------------------------------------------------------------------------------------------------------------