zynaddsubfx

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

commit 3cd5c20a1ea62ea2c3f86a155c81dd06fc3ec48d
parent 557629897f97ea9f7ec05f35720bf08d22354bd5
Author: Daniel Sheeler <dsheeler@pobox.com>
Date:   Mon,  4 Mar 2019 02:16:47 -0600

Fix gui failing to update on instrament load

Diffstat:
Msrc/Misc/MiddleWare.cpp | 14+++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/Misc/MiddleWare.cpp b/src/Misc/MiddleWare.cpp @@ -466,7 +466,7 @@ public: bank.loadbank(bank.banks[par].dir); } - void loadPart(int npart, const char *filename, Master *master) + void loadPart(int npart, const char *filename, Master *master, rtosc::RtData &d) { actual_load[npart]++; @@ -524,7 +524,7 @@ public: //Give it to the backend and wait for the old part to return for //deallocation parent->transmitMsg("/load-part", "ib", npart, sizeof(Part*), &p); - GUI::raiseUi(ui, "/damage", "s", ("/part"+to_s(npart)+"/").c_str()); + d.broadcast("/damage", "s", ("/part"+to_s(npart)+"/").c_str()); } //Load a new cleared Part instance @@ -1424,14 +1424,14 @@ static rtosc::Ports middwareSnoopPorts = { const int part_id = rtosc_argument(msg,0).i; const char *file = rtosc_argument(msg,1).s; impl.pending_load[part_id]++; - impl.loadPart(part_id, file, impl.master); + impl.loadPart(part_id, file, impl.master, d); rEnd}, {"load-part:is", 0, 0, rBegin; const int part_id = rtosc_argument(msg,0).i; const char *file = rtosc_argument(msg,1).s; impl.pending_load[part_id]++; - impl.loadPart(part_id, file, impl.master); + impl.loadPart(part_id, file, impl.master, d); rEnd}, {"load-part:iss", 0, 0, rBegin; @@ -1439,7 +1439,7 @@ static rtosc::Ports middwareSnoopPorts = { const char *file = rtosc_argument(msg,1).s; const char *name = rtosc_argument(msg,2).s; impl.pending_load[part_id]++; - impl.loadPart(part_id, file, impl.master); + impl.loadPart(part_id, file, impl.master, d); impl.uToB->write(("/part"+to_s(part_id)+"/Pname").c_str(), "s", name); rEnd}, @@ -1449,7 +1449,7 @@ static rtosc::Ports middwareSnoopPorts = { const int slot = rtosc_argument(msg, 0).i + 128*bank.bank_lsb; if(slot < BANK_SIZE) { impl.pending_load[0]++; - impl.loadPart(0, impl.master->bank.ins[slot].filename.c_str(), impl.master); + impl.loadPart(0, impl.master->bank.ins[slot].filename.c_str(), impl.master, d); impl.uToB->write("/part0/Pname", "s", impl.master->bank.ins[slot].name.c_str()); } rEnd}, @@ -1545,7 +1545,7 @@ static rtosc::Ports middlewareReplyPorts = { Bank &bank = impl.master->bank; const int part = rtosc_argument(msg, 0).i; const int program = rtosc_argument(msg, 1).i + 128*bank.bank_lsb; - impl.loadPart(part, impl.master->bank.ins[program].filename.c_str(), impl.master); + impl.loadPart(part, impl.master->bank.ins[program].filename.c_str(), impl.master, d); impl.uToB->write(("/part"+to_s(part)+"/Pname").c_str(), "s", impl.master->bank.ins[program].name.c_str()); rEnd}, {"setbank:c", 0, 0,