commit e7671496d39881cf6fab5f4e20b14c584d461b0a
parent 986e829eef0377b47733b2e72ee8f07981183442
Author: fundamental <mark.d.mccurry@gmail.com>
Date: Fri, 18 Sep 2009 11:22:52 -0400
Removed last parts of stack from XMLwrapper
Diffstat:
3 files changed, 34 insertions(+), 66 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -907,3 +907,4 @@
18 Sep 2009 (Mark McCurry)
- Started to use versioning information in XMLwrapper
+ - Remove last of stack helper functions in XMLwrapper
diff --git a/src/Misc/XMLwrapper.cpp b/src/Misc/XMLwrapper.cpp
@@ -245,23 +245,22 @@ void XMLwrapper::beginbranch(const string &name)
{
if(verbose)
cout << "beginbranch()" << name << endl;
- push(node);
- node=addparams(name.c_str(),0);
+ node = addparams(name.c_str(),0);
};
void XMLwrapper::beginbranch(const string &name,int id)
{
if(verbose)
cout << "beginbranch(" << id << ")" << name << endl;
- push(node);
- node=addparams(name.c_str(),1,"id",stringFrom<int>(id).c_str());
+ node = addparams(name.c_str(),1,"id",stringFrom<int>(id).c_str());
};
void XMLwrapper::endbranch()
{
if(verbose)
- cout << "endbranch()" << endl;
- node=pop();
+ cout << "endbranch()" << node << "-" << node->value.element.name << " To "
+ << node->parent << "-" << node->parent->value.element.name << endl;
+ node = node->parent;
};
@@ -283,9 +282,8 @@ int XMLwrapper::loadXMLfile(const string &filename)
if (tree==NULL) return(-2);//this is not XML
- node=root=mxmlFindElement(tree,tree,"ZynAddSubFX-data",NULL,NULL,MXML_DESCEND);
+ node = root = mxmlFindElement(tree,tree,"ZynAddSubFX-data",NULL,NULL,MXML_DESCEND);
if (root==NULL) return(-3);//the XML doesnt embbed zynaddsubfx data
- push(root);
//fetch version information
version.Major = stringTo<int>(mxmlElementGetAttr(root,"version-major"));
@@ -333,18 +331,20 @@ char *XMLwrapper::doloadfile(const string &filename) const
bool XMLwrapper::putXMLdata(const char *xmldata)
{
- if (tree!=NULL) mxmlDelete(tree);
- tree=NULL;
-
- if (xmldata==NULL) return (false);
+ if (tree!=NULL)
+ mxmlDelete(tree);
- root=tree=mxmlLoadString(NULL,xmldata,MXML_OPAQUE_CALLBACK);
+ tree=NULL;
+ if (xmldata==NULL)
+ return (false);
- if (tree==NULL) return(false);
+ root = tree = mxmlLoadString(NULL,xmldata,MXML_OPAQUE_CALLBACK);
+ if (tree==NULL)
+ return(false);
- node=root=mxmlFindElement(tree,tree,"ZynAddSubFX-data",NULL,NULL,MXML_DESCEND);
- if (root==NULL) return (false);
- push(root);
+ node = root = mxmlFindElement(tree,tree,"ZynAddSubFX-data",NULL,NULL,MXML_DESCEND);
+ if (root==NULL)
+ return (false);
return(true);
};
@@ -355,10 +355,11 @@ int XMLwrapper::enterbranch(const string &name)
{
if(verbose)
cout << "enterbranch() " << name << endl;
- mxml_node_t *tmp = mxmlFindElement(peek(),peek(),name.c_str(),NULL,NULL,MXML_DESCEND_FIRST);
- if (tmp==NULL) return(0);
+ mxml_node_t *tmp = mxmlFindElement(node,node,name.c_str(),NULL,NULL,MXML_DESCEND_FIRST);
+ if (tmp==NULL)
+ return(0);
- push(tmp);
+ node = tmp;
return(1);
};
@@ -366,10 +367,11 @@ int XMLwrapper::enterbranch(const string &name,int id)
{
if(verbose)
cout << "enterbranch("<<id<<") " << name << endl;
- mxml_node_t *tmp = mxmlFindElement(peek(),peek(),name.c_str(),"id",stringFrom<int>(id).c_str(),MXML_DESCEND_FIRST);
- if (tmp==NULL) return(0);
+ mxml_node_t *tmp = mxmlFindElement(node,node,name.c_str(),"id",stringFrom<int>(id).c_str(),MXML_DESCEND_FIRST);
+ if (tmp==NULL)
+ return(0);
- push(tmp);
+ node = tmp;
return(1);
};
@@ -377,8 +379,9 @@ int XMLwrapper::enterbranch(const string &name,int id)
void XMLwrapper::exitbranch()
{
if(verbose)
- cout << "exitbranch() " << endl;
- node = pop();
+ cout << "exitbranch()" << node << "-" << node->value.element.name << " To "
+ << node->parent << "-" << node->parent->value.element.name << endl;
+ node = node->parent;
};
@@ -395,7 +398,7 @@ int XMLwrapper::getbranchid(int min, int max) const
int XMLwrapper::getpar(const string &name,int defaultpar,int min,int max) const
{
- const mxml_node_t * tmp = mxmlFindElement(peek(),peek(),"par","name",name.c_str(),MXML_DESCEND_FIRST);
+ const mxml_node_t * tmp = mxmlFindElement(node,node,"par","name",name.c_str(),MXML_DESCEND_FIRST);
if (tmp==NULL) return(defaultpar);
@@ -416,7 +419,7 @@ int XMLwrapper::getpar127(const string &name,int defaultpar) const
int XMLwrapper::getparbool(const string &name,int defaultpar) const
{
- const mxml_node_t * tmp = mxmlFindElement(peek(),peek(),"par_bool","name",name.c_str(),MXML_DESCEND_FIRST);
+ const mxml_node_t * tmp = mxmlFindElement(node,node,"par_bool","name",name.c_str(),MXML_DESCEND_FIRST);
if (tmp==NULL) return(defaultpar);
@@ -430,7 +433,7 @@ int XMLwrapper::getparbool(const string &name,int defaultpar) const
void XMLwrapper::getparstr(const string &name,char *par,int maxstrlen) const
{
ZERO(par,maxstrlen);
- const mxml_node_t * tmp = mxmlFindElement(peek(),peek(),"string","name",name.c_str(),MXML_DESCEND_FIRST);
+ const mxml_node_t * tmp = mxmlFindElement(node,node,"string","name",name.c_str(),MXML_DESCEND_FIRST);
if (tmp==NULL) return;
if (tmp->child==NULL) return;
@@ -442,7 +445,7 @@ void XMLwrapper::getparstr(const string &name,char *par,int maxstrlen) const
REALTYPE XMLwrapper::getparreal(const char *name,REALTYPE defaultpar) const
{
- const mxml_node_t * tmp = mxmlFindElement(peek(),peek(),"par_real","name",name,MXML_DESCEND_FIRST);
+ const mxml_node_t * tmp = mxmlFindElement(node,node,"par_real","name",name,MXML_DESCEND_FIRST);
if (tmp==NULL) return(defaultpar);
const char *strval=mxmlElementGetAttr(tmp,"value");
@@ -486,31 +489,3 @@ mxml_node_t *XMLwrapper::addparams(const char *name, unsigned int params, ...) c
return element;
}
-void XMLwrapper::push(mxml_node_t *node)
-{
- if(verbose)
- cout << "push() " << node << "-" << node->value.element.name << endl;
- this->node = node;
-}
-
-mxml_node_t *XMLwrapper::pop()
-{
- if(verbose)
- cout << "pop() " << node->parent << "-" << node->parent->value.element.name << endl;
- return node->parent;
-};
-
-mxml_node_t *XMLwrapper::peek()
-{
- if(verbose)
- cout << "peek() " << node << "-" << node->value.element.name << endl;
- return node;
-}
-
-const mxml_node_t *XMLwrapper::peek() const
-{
- if(verbose)
- cout << "peek()const " << node << "-" << node->value.element.name << endl;
- return node;
-}
-
diff --git a/src/Misc/XMLwrapper.h b/src/Misc/XMLwrapper.h
@@ -229,7 +229,7 @@ private:
mxml_node_t *tree;/**<all xml data*/
mxml_node_t *root;/**<xml data used by zynaddsubfx*/
- mxml_node_t *node;/**<current node*/
+ mxml_node_t *node;/**<current subtree in parsing or writing */
mxml_node_t *info;/**<Node used to store the information about the data*/
/**
@@ -245,14 +245,6 @@ private:
*/
mxml_node_t *addparams(const char *name, unsigned int params, ...) const;
- void push(mxml_node_t *node);/**<puts node onto stack
- @deprecated just set this->node*/
- mxml_node_t *pop();/**<pops node from stack
- @deprecated just get node->parent*/
- mxml_node_t *peek();/**<returns current stack top
- @deprecated just get this->node*/
- const mxml_node_t *peek() const;
-
/**@todo keep these numbers up to date*/
struct{
int Major;/**<major version number.*/