RGBAlgorithm* RGBAlgorithm::loader(const Doc * doc, const QDomElement& root) { RGBAlgorithm* algo = NULL; if (root.tagName() != KXMLQLCRGBAlgorithm) { qWarning() << Q_FUNC_INFO << "RGB Algorithm node not found"; return NULL; } QString type = root.attribute(KXMLQLCRGBAlgorithmType); if (type == KXMLQLCRGBImage) { RGBImage image(doc); if (image.loadXML(root) == true) algo = image.clone(); } else if (type == KXMLQLCRGBText) { RGBText text(doc); if (text.loadXML(root) == true) algo = text.clone(); } else if (type == KXMLQLCRGBAudio) { RGBAudio audio(doc); if (audio.loadXML(root) == true) algo = audio.clone(); } else if (type == KXMLQLCRGBScript) { RGBScript scr = RGBScript::script(doc, root.text()); if (scr.apiVersion() > 0 && scr.name().isEmpty() == false) algo = scr.clone(); } else { qWarning() << "Unrecognized RGB algorithm type:" << type; } return algo; }
RGBMatrix::RGBMatrix(Doc* doc) : Function(doc, Function::RGBMatrix) , m_fixtureGroup(FixtureGroup::invalidId()) , m_algorithm(NULL) , m_startColor(Qt::red) , m_endColor(QColor()) , m_fader(NULL) , m_step(0) , m_roundTime(new QTime) , m_stepColor(QColor()) , m_crDelta(0) , m_cgDelta(0) , m_cbDelta(0) { setName(tr("New RGB Matrix")); setDuration(500); RGBScript scr = RGBScript::script(doc, "Full Columns"); setAlgorithm(scr.clone()); }
RGBMatrix::RGBMatrix(Doc* doc) : Function(doc, Function::RGBMatrixType) , m_dimmerControl(true) , m_fixtureGroupID(FixtureGroup::invalidId()) , m_group(NULL) , m_algorithm(NULL) , m_algorithmMutex(QMutex::Recursive) , m_startColor(Qt::red) , m_endColor(QColor()) , m_stepHandler(new RGBMatrixStep()) , m_fader(NULL) , m_roundTime(new QElapsedTimer()) , m_stepsCount(0) , m_stepBeatDuration(0) { setName(tr("New RGB Matrix")); setDuration(500); RGBScript scr = doc->rgbScriptsCache()->script("Stripes"); setAlgorithm(scr.clone()); }
RGBMatrix::RGBMatrix(Doc* doc) : Function(doc, Function::RGBMatrix) , m_fixtureGroupID(FixtureGroup::invalidId()) , m_algorithm(NULL) , m_algorithmMutex(QMutex::Recursive) , m_startColor(Qt::red) , m_endColor(QColor()) , m_fader(NULL) , m_step(0) , m_roundTime(new QTime) , m_stepColor(QColor()) , m_crDelta(0.0) , m_cgDelta(0.0) , m_cbDelta(0.0) , m_stepCount(0) { setName(tr("New RGB Matrix")); setDuration(500); RGBScript scr = doc->rgbScriptsCache()->script("Stripes"); setAlgorithm(scr.clone()); }