Opción para ejecutar sin mostrar la GUI. Los controles de la interfaz no son reactivos, no están conectados a las órdenes de audio. cambio en la personalidad dmx para procesar los canales en mejor orden. evita mandar dos veces los canales dobles por cada dmx frame, incluyendo file/folder.
43 lines
1.3 KiB
C++
43 lines
1.3 KiB
C++
#include "slidergroup.h"
|
|
|
|
SliderGroup::SliderGroup(int min,
|
|
int max,
|
|
int decimals,
|
|
QWidget *parent)
|
|
: QWidget(parent)
|
|
{
|
|
QVBoxLayout *layout = new QVBoxLayout;
|
|
layout->setAlignment(Qt::AlignHCenter);
|
|
this->setMaximumWidth(65);
|
|
slider = new QSlider(Qt::Orientation::Vertical);
|
|
slider->setFocusPolicy(Qt::StrongFocus);
|
|
slider->setTickPosition(QSlider::TicksBothSides);
|
|
slider->setTickInterval((max - min) / 11);
|
|
slider->setSingleStep(1);
|
|
slider->setRange(min, max);
|
|
slider->setMaximumWidth(65);
|
|
valueBox = new QDoubleSpinBox();
|
|
valueBox->setFocusPolicy(Qt::NoFocus);
|
|
valueBox->setButtonSymbols(QAbstractSpinBox::NoButtons);
|
|
valueBox->setMaximumWidth(65);
|
|
valueBox->setRange(min, max);
|
|
valueBox->setDecimals(decimals);
|
|
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(sliderValueChanged(int)));
|
|
layout->addWidget(slider);
|
|
layout->addWidget(valueBox);
|
|
this->setLayout(layout);
|
|
}
|
|
|
|
void SliderGroup::sliderValueChanged(int value)
|
|
{
|
|
valueBox->setValue(value);
|
|
if (valueBox->decimals() > 1)
|
|
value /= 100.0f;
|
|
emit valueChanged(value);
|
|
};
|
|
|
|
void SliderGroup::setValue(float value)
|
|
{
|
|
slider->setValue(value);
|
|
valueBox->setValue(value);
|
|
}
|