commit c19535569474756e2bd3e227fdc59d77acd4efaf
parent 3242297932bfd856ccb492cd76a8e3482471c975
Author: Johannes Lorenz <[email protected]>
Date: Fri, 5 Feb 2021 06:31:01 +0100
Implement ZynAddSubFX::loadProgram
Diffstat:
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);
}
/* --------------------------------------------------------------------------------------------------------