zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit c19535569474756e2bd3e227fdc59d77acd4efaf
parent 3242297932bfd856ccb492cd76a8e3482471c975
Author: Johannes Lorenz <[email protected]>
Date:   Fri,  5 Feb 2021 06:31:01 +0100

Implement ZynAddSubFX::loadProgram

Diffstat:
Msrc/Misc/MiddleWare.cpp | 5+++++
Msrc/Misc/MiddleWare.h | 2++
Msrc/Plugin/ZynAddSubFX/ZynAddSubFX-UI.cpp | 1+
Msrc/Plugin/ZynAddSubFX/ZynAddSubFX.cpp | 5+++--
4 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/Misc/MiddleWare.cpp b/src/Misc/MiddleWare.cpp @@ -2545,6 +2545,11 @@ void MiddleWare::pendingSetProgram(int part, int program) impl->bToU->write("/setprogram", "cc", part, program); } +std::string zyn::MiddleWare::getProgramName(int program) const +{ + return impl->master->bank.ins[program].name; +} + std::string MiddleWare::activeUrl(void) const { return impl->last_url; diff --git a/src/Misc/MiddleWare.h b/src/Misc/MiddleWare.h @@ -76,6 +76,8 @@ class MiddleWare //NOTE: Can only be called by realtime thread void pendingSetProgram(int part, int program); + std::string getProgramName(int program) const; + //Get/Set the active bToU url std::string activeUrl(void) const; void activeUrl(std::string u); diff --git a/src/Plugin/ZynAddSubFX/ZynAddSubFX-UI.cpp b/src/Plugin/ZynAddSubFX/ZynAddSubFX-UI.cpp @@ -72,6 +72,7 @@ protected: */ void programLoaded(uint32_t index) override { + (void)index; // ZynAddSubFX::loadProgram already informs the UI } /** diff --git a/src/Plugin/ZynAddSubFX/ZynAddSubFX.cpp b/src/Plugin/ZynAddSubFX/ZynAddSubFX.cpp @@ -274,7 +274,7 @@ protected: */ void initProgramName(uint32_t index, String& programName) override { - programName = "Default"; + programName = middleware->getProgramName(index).c_str(); } /** @@ -283,7 +283,8 @@ protected: */ void loadProgram(uint32_t index) override { - setState(nullptr, defaultState); + //in plugin mode, only the first part is useful + middleware->pendingSetProgram(0, index); } /* --------------------------------------------------------------------------------------------------------