commit dedd40a47a20e1caed3d5cee86a3eb2c79e953ff
parent 6661ccd99f57100d34356d47b6e1d631e04a73b2
Author: fundamental <mark.d.mccurry@gmail.com>
Date: Sat, 21 Feb 2015 17:33:02 -0500
Fix Master Reset
Diffstat:
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/Misc/MiddleWare.cpp b/src/Misc/MiddleWare.cpp
@@ -661,8 +661,10 @@ public:
void loadMaster(const char *filename)
{
Master *m = new Master();
- m->loadXML(filename);
- m->applyparameters();
+ if(filename) {
+ m->loadXML(filename);
+ m->applyparameters();
+ }
//Update resource locator table
obj_store.clear();
@@ -1049,6 +1051,8 @@ void MiddleWareImpl::handleMsg(const char *msg)
savePart(rtosc_argument(msg,0).i,rtosc_argument(msg,1).s);
} else if(strstr(msg, "/load_xmz") && !strcmp(rtosc_argument_string(msg), "s")) {
loadMaster(rtosc_argument(msg,0).s);
+ } else if(strstr(msg, "/reset_master") && !strcmp(rtosc_argument_string(msg), "")) {
+ loadMaster(NULL);
} else if(!strcmp(msg, "/load_xiz") && !strcmp(rtosc_argument_string(msg), "is")) {
pending_load[rtosc_argument(msg,0).i]++;
loadPart(rtosc_argument(msg,0).i, rtosc_argument(msg,1).s, master, osc);
diff --git a/src/UI/MasterUI.fl b/src/UI/MasterUI.fl
@@ -1532,6 +1532,7 @@ simplelistitemgroup->redraw();} {}
}
Function {do_new_master_unconditional()} {} {
code {delete microtonalui;
+microtonalui=new MicrotonalUI(osc, "/microtonal/");
osc->write("/reset_master");
npartcounter->value(1);