void RGBMatrix::insertStartValues(FadeChannel& fc, uint fadeTime) const { Q_ASSERT(m_fader != NULL); // To create a nice and smooth fade, get the starting value from // m_fader's existing FadeChannel (if any). Otherwise just assume // we're starting from zero. QHash <FadeChannel,FadeChannel>::const_iterator oldChannelIterator = m_fader->channels().find(fc); if (oldChannelIterator != m_fader->channels().end()) { FadeChannel old = oldChannelIterator.value(); fc.setCurrent(old.current()); if (fc.target() == old.target()) { fc.setStart(old.start()); fc.setElapsed(old.elapsed()); } else fc.setStart(old.current()); } else { fc.setCurrent(0); fc.setStart(0); } // The channel is not ready yet fc.setReady(false); // Fade in speed is used for all non-zero targets if (fc.target() == 0) fc.setFadeTime(fadeOutSpeed()); else fc.setFadeTime(fadeTime); }
void FadeChannel_Test::target() { FadeChannel fch; QCOMPARE(fch.target(), uchar(0)); for (uint i = 0; i <= 255; i++) { fch.setTarget(i); QCOMPARE(fch.target(), uchar(i)); } }
void RGBMatrix::insertStartValues(FadeChannel& fc) const { Q_ASSERT(m_fader != NULL); // To create a nice and smooth fade, get the starting value from // m_fader's existing FadeChannel (if any). Otherwise just assume // we're starting from zero. if (m_fader->channels().contains(fc) == true) { FadeChannel old = m_fader->channels()[fc]; fc.setCurrent(old.current()); fc.setStart(old.current()); } else { fc.setCurrent(0); fc.setStart(0); } // The channel is not ready yet fc.setReady(false); // Fade in speed is used for all non-zero targets if (fc.target() == 0) fc.setFadeTime(fadeOutSpeed()); else fc.setFadeTime(fadeInSpeed()); }
void CueStack::writeDMX(MasterTimer* timer, QList<Universe*> ua) { Q_UNUSED(timer); if (isFlashing() == true && m_cues.size() > 0) { QHashIterator <uint,uchar> it(m_cues.first().values()); while (it.hasNext() == true) { it.next(); FadeChannel fc; fc.setChannel(it.key()); fc.setTarget(it.value()); int uni = floor(fc.channel() / 512); if (uni < ua.size()) ua[uni]->write(fc.channel() - (uni * 512), fc.target()); } } }