Ejemplo n.º 1
0
void VCSlider::setValue(int value, bool setDMX, bool updateFeedback)
{
    if (m_value == value)
        return;

    Tardis::instance()->enqueueAction(VCSliderSetValue, id(), m_value, value);

    m_value = value;

    switch(sliderMode())
    {
        case Level:
            if (m_monitorEnabled == true && m_isOverriding == false && setDMX)
            {
                m_priority = DMXSource::Override;
                m_doc->masterTimer()->requestNewPriority(this);
                m_isOverriding = true;
                emit isOverridingChanged();
            }

            if (clickAndGoType() == CnGPreset)
                updateClickAndGoResource();
        break;
        case Submaster:
            emit submasterValueChanged(SCALE(qreal(m_value), qreal(0),
                    qreal(UCHAR_MAX), qreal(0), qreal(1.0)) * intensity());
        break;
        case GrandMaster:
            m_doc->inputOutputMap()->setGrandMasterValue(value);
        break;
        case Adjust:
            m_adjustChangeCounter++;
        break;
    }

    emit valueChanged(value);

    if (setDMX)
        m_levelValueChanged = true;

    Q_UNUSED(updateFeedback)
    /* TODO
    if (updateFeedback)
    {
        int fbv = 0;
        if (invertedAppearance() == true)
            fbv = levelHighLimit() - m_value;
        else
            fbv = m_value;
        fbv = (int)SCALE(float(fbv), float(levelLowLimit()),
                         float(levelHighLimit()), float(0), float(UCHAR_MAX));
        sendFeedback(fbv);
    }
    */
}
Ejemplo n.º 2
0
void VCSlider::setIsOverriding(bool enable)
{
    if (enable == m_isOverriding)
        return;

    if (enable == false && m_monitorEnabled)
        setValue(m_monitorValue, false, false);

    m_isOverriding = enable;
    emit isOverridingChanged();
}