add everyNLamp parameter
This commit is contained in:
@ -222,6 +222,13 @@ ColumnLayout {
|
|||||||
realValue: 60
|
realValue: 60
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SpinBox {
|
||||||
|
id: advanceEveryNLamp
|
||||||
|
Layout.preferredWidth: 120
|
||||||
|
from: 1
|
||||||
|
value: 2
|
||||||
|
}
|
||||||
|
|
||||||
SpinBox {
|
SpinBox {
|
||||||
id: generateSteps
|
id: generateSteps
|
||||||
Layout.preferredWidth: 120
|
Layout.preferredWidth: 120
|
||||||
@ -233,7 +240,7 @@ ColumnLayout {
|
|||||||
|
|
||||||
Button {
|
Button {
|
||||||
text: qsTr('Rainbow')
|
text: qsTr('Rainbow')
|
||||||
onPressed: patternMaker.setRainbow(0, phaseAdvanceSlider.realValue / 360.)
|
onPressed: patternMaker.setRainbow(0, phaseAdvanceSlider.realValue / 360., advanceEveryNLamp.value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -141,7 +141,7 @@ void PatternMaker::setPattern(int n, int k, DeviceTypeRegisterType registerType,
|
|||||||
m_controller->setSliderStates(std::move(sliderStates));
|
m_controller->setSliderStates(std::move(sliderStates));
|
||||||
}
|
}
|
||||||
|
|
||||||
void PatternMaker::setRainbow(float phase, float advancePerLamp)
|
void PatternMaker::setRainbow(float phase, float advancePerLamp, int advanceEveryNLamp)
|
||||||
{
|
{
|
||||||
if (!m_controller)
|
if (!m_controller)
|
||||||
{
|
{
|
||||||
@ -157,8 +157,6 @@ void PatternMaker::setRainbow(float phase, float advancePerLamp)
|
|||||||
int i{};
|
int i{};
|
||||||
for (const auto &device : devices)
|
for (const auto &device : devices)
|
||||||
{
|
{
|
||||||
const auto current_i = i++;
|
|
||||||
|
|
||||||
const auto color = QColor::fromHsvF(fmod(phase,1.),1.,1.);
|
const auto color = QColor::fromHsvF(fmod(phase,1.),1.,1.);
|
||||||
|
|
||||||
std::vector<quint8> sliderState;
|
std::vector<quint8> sliderState;
|
||||||
@ -192,8 +190,14 @@ void PatternMaker::setRainbow(float phase, float advancePerLamp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
sliderStates.push_back(std::move(sliderState));
|
sliderStates.push_back(std::move(sliderState));
|
||||||
|
|
||||||
|
//qWarning() << "i=" << i << " advanceEveryNLamp=" << advanceEveryNLamp << " phase=" << phase;
|
||||||
|
|
||||||
|
if(++i >= advanceEveryNLamp){
|
||||||
|
i = 0;
|
||||||
phase += advancePerLamp;
|
phase += advancePerLamp;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
m_controller->setSliderStates(std::move(sliderStates));
|
m_controller->setSliderStates(std::move(sliderStates));
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ public:
|
|||||||
Q_INVOKABLE void setAllFadersLow();
|
Q_INVOKABLE void setAllFadersLow();
|
||||||
Q_INVOKABLE void setAllFadersMax();
|
Q_INVOKABLE void setAllFadersMax();
|
||||||
Q_INVOKABLE void setPattern(int n, int k, DeviceTypeRegisterType registerType, quint8 value);
|
Q_INVOKABLE void setPattern(int n, int k, DeviceTypeRegisterType registerType, quint8 value);
|
||||||
Q_INVOKABLE void setRainbow(float phase, float advancePerLamp);
|
Q_INVOKABLE void setRainbow(float phase, float advancePerLamp, int advanceEveryNLamp);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void controllerChanged(DmxController *controller);
|
void controllerChanged(DmxController *controller);
|
||||||
|
Reference in New Issue
Block a user