summaryrefslogtreecommitdiff
path: root/dgedit/volumefader.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dgedit/volumefader.cc')
-rw-r--r--dgedit/volumefader.cc21
1 files changed, 20 insertions, 1 deletions
diff --git a/dgedit/volumefader.cc b/dgedit/volumefader.cc
index 9a153a6..c7cb9d0 100644
--- a/dgedit/volumefader.cc
+++ b/dgedit/volumefader.cc
@@ -29,10 +29,20 @@
#include <QSlider>
#include <QVBoxLayout>
+#include <math.h>
+
+#define SCALAR 10
+
VolumeFader::VolumeFader()
{
+ volslider = new QSlider();
+ volslider->setRange(-60 * SCALAR , 10 * SCALAR);
+
+ connect(volslider, SIGNAL(valueChanged(int)), this, SLOT(handleValueChanged()));
+
QVBoxLayout* lo = new QVBoxLayout();
- lo->addWidget(new QSlider());
+ lo->addWidget(volslider);
+
setLayout(lo);
}
@@ -59,3 +69,12 @@ void VolumeFader::setVolumePower(double vol)
{
}
+
+void VolumeFader::handleValueChanged()
+{
+ double db = ((double)volslider->value())/((double)SCALAR);
+ double power = pow(10, db/10);
+// printf("Volume %f db, %f power\n", vol, pow(10, vol/10));
+ emit volumeChangedDb(db);
+ emit volumeChangedPower(power);
+}