Example #1
0
QbElementPtr Qb::create(QString pluginId, QString elementName)
{
    QbElementPtr element = application.newInstance(pluginId);

    if (!elementName.isEmpty())
        element->setObjectName(elementName);

    return element;
}
Example #2
0
bool QbElement::link(QbElementPtr dstElement)
{
    if (!this->link(static_cast<QObject *>(dstElement.data())))
        return false;

    this->setSinks(this->sinks() << dstElement.data());
    dstElement->setSrcs(dstElement->srcs() << this);

    return true;
}
Example #3
0
QString Pipeline::addElement(QbElementPtr element)
{
    QString name;

    if (element->objectName().isEmpty())
        name = QString("&%1").arg((quint64) element.data());
    else
        name = element->objectName();

    this->m_elements[name] = element;

    return name;
}
Example #4
0
bool QbElement::unlink(QbElementPtr dstElement)
{
    if (!this->unlink(static_cast<QObject *>(dstElement.data())))
        return false;

    QList<QbElement *> sinks = this->m_sinks;
    sinks.removeOne(dstElement.data());
    this->setSinks(sinks);

    QList<QbElement *> srcs = dstElement->m_srcs;
    srcs.removeOne(this);
    dstElement->setSrcs(srcs);

    return true;
}