Unified set all faders methods

This commit is contained in:
2023-03-05 02:08:44 +01:00
parent e9d982112b
commit e081b199fa
3 changed files with 5 additions and 44 deletions

View File

@ -172,11 +172,11 @@ ColumnLayout {
RowLayout {
Button {
text: qsTr('Alle auf\n0 setzen');
onPressed: patternMaker.setAllFadersLow()
onPressed: patternMaker.setAllFaders(0)
}
Button {
text: qsTr('Alle auf\nMaximum setzen');
onPressed: patternMaker.setAllFadersMax()
onPressed: patternMaker.setAllFaders(255)
}
}

View File

@ -24,7 +24,7 @@ void PatternMaker::setController(DmxController *controller)
emit controllerChanged(m_controller);
}
void PatternMaker::setAllFadersLow()
void PatternMaker::setAllFaders(quint8 value)
{
if (!m_controller)
{
@ -52,45 +52,7 @@ void PatternMaker::setAllFadersLow()
sliderState.reserve(deviceType.registers.size());
for (const auto &register_ : deviceType.registers)
sliderState.push_back(0);
}
}
sliderStates.push_back(std::move(sliderState));
}
m_controller->setSliderStates(std::move(sliderStates));
}
void PatternMaker::setAllFadersMax()
{
if (!m_controller)
{
qDebug() << "hilfe" << __LINE__;
return;
}
const auto &devices = m_controller->lightProject().devices;
sliders_state_t sliderStates;
sliderStates.reserve(devices.size());
for (const auto &device : devices)
{
std::vector<quint8> sliderState;
if (device.deviceTypeId != -1)
{
const auto deviceTypePtr = m_controller->lightProject().deviceTypes.findById(device.deviceTypeId);
if (!deviceTypePtr)
qWarning() << "hilfe" << __LINE__;
else
{
const auto &deviceType = *deviceTypePtr;
sliderState.reserve(deviceType.registers.size());
for (const auto &register_ : deviceType.registers)
sliderState.push_back(255);
sliderState.push_back(value);
}
}

View File

@ -18,8 +18,7 @@ public:
const DmxController *controller() const { return m_controller; }
void setController(DmxController *controller);
Q_INVOKABLE void setAllFadersLow();
Q_INVOKABLE void setAllFadersMax();
Q_INVOKABLE void setAllFaders(quint8 value);
Q_INVOKABLE void setPattern(int n, int k, DeviceTypeRegisterType registerType, quint8 value);
Q_INVOKABLE void setRainbow(float phase, float advancePerLamp, int advanceEveryNLamp);