void Filter::processFilter(const QDomNode &filterNode) { QSharedPointer<Filter> filter(new Filter(m_docVersion)); filter->processNode(filterNode); m_filterType->addFilter(filter); // process next sibling QDomNode nextSibling = filterNode.nextSibling(); if (!nextSibling.isNull()) { if (nextSibling.nodeName() == QString("File")) processFile(nextSibling); else processFilter(nextSibling); } }
float processFilterBank(BiQuadFilter *filterBank, float input, unsigned bankSize){ float output = 0; //go through the filters in the list and process the ones enabled unsigned i=0; for(i=0; i<bankSize; i++){ if(filterBank[i].enabled){ output = processFilter(&(filterBank[i]),input); input = output; } else { output = input; } } return output; }
void Filter::processNode(const QDomNode &node) { if (node.isNull()) return; // vc_dbg << "Node Name: " << node.nodeName(); // vc_dbg << "Node type: " << node.nodeType(); if (node.nodeType() == QDomNode::ElementNode) processNodeAttributes(node.toElement()); if (node.hasChildNodes()) { QDomNode firstChild = node.firstChild(); if (!firstChild.isNull()) { if (firstChild.nodeName() == QString("Filter")) processFilter(firstChild); else if (firstChild.nodeName() == QString("File")) processFile(firstChild); } } }