commit 08e3b4afa851b6cf2bd9f75fdbe34abbaf126518
parent b21a0275304ef0a82331d9b2615304229f7a5082
Author: fundamental <mark.d.mccurry@gmail.com>
Date: Thu, 1 Oct 2015 20:45:07 -0400
EffectUI: Update Parameters On Preset Change
Diffstat:
1 file changed, 11 insertions(+), 0 deletions(-)
diff --git a/src/Effects/EffectMgr.cpp b/src/Effects/EffectMgr.cpp
@@ -62,12 +62,23 @@ static const rtosc::Ports local_ports = {
{"preset::i", rProp(alias) rDoc("Effect Preset Selector"), NULL,
[](const char *msg, rtosc::RtData &d)
{
+ char loc[1024];
EffectMgr *eff = (EffectMgr*)d.obj;
if(!rtosc_narguments(msg))
d.reply(d.loc, "i", eff->getpreset());
else {
eff->changepresetrt(rtosc_argument(msg, 0).i);
d.broadcast(d.loc, "i", eff->getpreset());
+
+ //update parameters as well
+ strncpy(loc, d.loc, 1024);
+ char *tail = rindex(loc, '/');
+ if(!tail)
+ return;
+ for(int i=0;i<128;++i) {
+ sprintf(tail+1, "parameter%d", i);
+ d.broadcast(loc, "i", eff->geteffectparrt(i));
+ }
}
}},
{"eq-coeffs:", rProp(internal) rDoc("Get equalizer Coefficients"), NULL,