summaryrefslogtreecommitdiff
path: root/muse/awl
diff options
context:
space:
mode:
Diffstat (limited to 'muse/awl')
-rw-r--r--muse/awl/aslider.cpp6
-rw-r--r--muse/awl/aslider.h13
-rw-r--r--muse/awl/checkbox.h4
-rw-r--r--muse/awl/combobox.h6
-rw-r--r--muse/awl/floatentry.cpp16
-rw-r--r--muse/awl/floatentry.h14
-rw-r--r--muse/awl/knob.cpp4
-rw-r--r--muse/awl/midimeter.cpp4
-rw-r--r--muse/awl/midimeter.h4
-rw-r--r--muse/awl/midimslider.cpp4
-rw-r--r--muse/awl/midimslider.h4
-rw-r--r--muse/awl/midipanentry.h4
-rw-r--r--muse/awl/midipanknob.h4
-rw-r--r--muse/awl/midivolentry.cpp4
-rw-r--r--muse/awl/midivolentry.h2
-rw-r--r--muse/awl/mslider.cpp2
-rw-r--r--muse/awl/mslider.h6
-rw-r--r--muse/awl/tcanvas.cpp43
-rw-r--r--muse/awl/tcanvas.h1
19 files changed, 74 insertions, 71 deletions
diff --git a/muse/awl/aslider.cpp b/muse/awl/aslider.cpp
index 5f751bf6..3c5b1780 100644
--- a/muse/awl/aslider.cpp
+++ b/muse/awl/aslider.cpp
@@ -134,7 +134,7 @@ void AbstractSlider::wheelEvent(QWheelEvent* ev)
void AbstractSlider::keyPressEvent(QKeyEvent* ev)
{
- float oval = _value;
+ double oval = _value;
switch (ev->key()) {
case Qt::Key_Home: _value = _minValue; break;
@@ -160,7 +160,7 @@ void AbstractSlider::keyPressEvent(QKeyEvent* ev)
// setValue
//---------------------------------------------------------
-void AbstractSlider::setValue(float val)
+void AbstractSlider::setValue(double val)
{
if (_log) {
if (val == 0.0f)
@@ -189,7 +189,7 @@ void AbstractSlider::valueChange()
// value
//---------------------------------------------------------
-float AbstractSlider::value() const
+double AbstractSlider::value() const
{
return _log ? (_value <= _minValue) ? 0.0f : pow(10.0, _value*0.05f)
: _value;
diff --git a/muse/awl/aslider.h b/muse/awl/aslider.h
index eed73277..058114e3 100644
--- a/muse/awl/aslider.h
+++ b/muse/awl/aslider.h
@@ -26,7 +26,8 @@ namespace Awl {
//---------------------------------------------------------
// AbstractSlider
//
-//! The AwlAbstractSlider class provides an float value within a range
+//! The AwlAbstractSlider class provides an double value
+//! within a range
//
//! The class is designed as a common super class for
//! widgets like AwlKnob and AwlSlider
@@ -35,7 +36,7 @@ namespace Awl {
class AbstractSlider : public QWidget {
Q_OBJECT
- Q_PROPERTY(float value READ value WRITE setValue)
+ Q_PROPERTY(double value READ value WRITE setValue)
Q_PROPERTY(bool center READ center WRITE setCenter)
Q_PROPERTY(bool invertedAppearance READ invertedAppearance WRITE setInvertedAppearance)
@@ -55,7 +56,7 @@ class AbstractSlider : public QWidget {
protected:
int _id;
- float _value;
+ double _value;
double _minValue, _maxValue, _lineStep, _pageStep;
bool _center;
bool _invert;
@@ -70,10 +71,10 @@ class AbstractSlider : public QWidget {
virtual void valueChange();
signals:
- void valueChanged(float, int);
+ void valueChanged(double, int);
public slots:
- virtual void setValue(float v);
+ virtual void setValue(double v);
public:
AbstractSlider(QWidget* parent = 0);
@@ -101,7 +102,7 @@ class AbstractSlider : public QWidget {
int id() const { return _id; }
void setId(int i) { _id = i; }
- virtual float value() const;
+ virtual double value() const;
double minValue() const { return _minValue; }
void setMinValue(double v) { _minValue = v; }
diff --git a/muse/awl/checkbox.h b/muse/awl/checkbox.h
index 145105bf..7a6252c1 100644
--- a/muse/awl/checkbox.h
+++ b/muse/awl/checkbox.h
@@ -35,13 +35,13 @@ class CheckBox : public QCheckBox {
private slots:
void hasToggled(bool val) {
- emit valueChanged(float(val), _id);
+ emit valueChanged(double(val), _id);
}
signals:
void valueChanged(float, int);
public slots:
- void setValue(float val) { setDown(val > 0.5f); }
+ void setValue(double val) { setDown(val > 0.5f); }
public:
CheckBox(QWidget* parent);
diff --git a/muse/awl/combobox.h b/muse/awl/combobox.h
index c3c4d91b..d335d993 100644
--- a/muse/awl/combobox.h
+++ b/muse/awl/combobox.h
@@ -35,14 +35,14 @@ class ComboBox : public QComboBox {
private slots:
void activatedIntern(int val) {
- emit valueChanged(float(val), _id);
+ emit valueChanged(double(val), _id);
}
signals:
- void valueChanged(float, int);
+ void valueChanged(double, int);
public slots:
- void setValue(float val) { setCurrentIndex(int(val)); }
+ void setValue(double val) { setCurrentIndex(int(val)); }
public:
ComboBox(QWidget* parent);
diff --git a/muse/awl/floatentry.cpp b/muse/awl/floatentry.cpp
index a9875594..7831614f 100644
--- a/muse/awl/floatentry.cpp
+++ b/muse/awl/floatentry.cpp
@@ -55,7 +55,7 @@ FloatEntry::FloatEntry(QWidget* parent)
// setString
//---------------------------------------------------------
-bool FloatEntry::setString(float v)
+bool FloatEntry::setString(double v)
{
QString s;
// if (v < _minValue || v > _maxValue) {
@@ -80,7 +80,7 @@ bool FloatEntry::setString(float v)
void FloatEntry::setSValue(const QString& s)
{
bool ok;
- float v = s.toFloat(&ok);
+ double v = s.toFloat(&ok);
if (ok && (v != _value)) {
if (v < _minValue)
v = _minValue;
@@ -105,7 +105,7 @@ void FloatEntry::valueChange()
// incValue
//---------------------------------------------------------
-void FloatEntry::incValue(float)
+void FloatEntry::incValue(double)
{
if (_value + 1.0 < _maxValue) {
_value = _value + 1.0;
@@ -118,7 +118,7 @@ void FloatEntry::incValue(float)
// decValue
//---------------------------------------------------------
-void FloatEntry::decValue(float)
+void FloatEntry::decValue(double)
{
if (_value - 1.0 > _minValue) {
_value = _value - 1.0;
@@ -169,7 +169,7 @@ void FloatEntry::mousePressEvent(QMouseEvent* event)
{
button = event->button();
starty = event->y();
- evx = float(event->x());
+ evx = double(event->x());
timecount = 0;
repeat();
timer->start(TIMER1);
@@ -272,7 +272,7 @@ void FloatEntry::mouseDoubleClickEvent(QMouseEvent* event)
// setValue
//---------------------------------------------------------
-void FloatEntry::setValue(float val)
+void FloatEntry::setValue(double val)
{
if (_log) {
if (val == 0.0f)
@@ -304,9 +304,9 @@ void FloatEntry::updateValue()
// value
//---------------------------------------------------------
-float FloatEntry::value() const
+double FloatEntry::value() const
{
- float rv;
+ double rv;
if (_log)
rv = pow(10.0, _value * 0.05f);
else
diff --git a/muse/awl/floatentry.h b/muse/awl/floatentry.h
index 1fbdc7bc..a90232a9 100644
--- a/muse/awl/floatentry.h
+++ b/muse/awl/floatentry.h
@@ -56,15 +56,15 @@ class FloatEntry : public QLineEdit {
virtual void mouseDoubleClickEvent(QMouseEvent*);
virtual void mouseReleaseEvent(QMouseEvent*);
virtual void setSValue(const QString&);
- virtual bool setString(float);
- virtual void incValue(float);
- virtual void decValue(float);
+ virtual bool setString(double);
+ virtual void incValue(double);
+ virtual void decValue(double);
void updateValue();
protected:
int _id;
- float _value;
+ double _value;
virtual void valueChange();
private slots:
@@ -74,15 +74,15 @@ class FloatEntry : public QLineEdit {
void endEdit();
public slots:
- virtual void setValue(float);
+ virtual void setValue(double);
signals:
- void valueChanged(float, int);
+ void valueChanged(double, int);
public:
FloatEntry(QWidget*);
virtual QSize sizeHint() const;
- virtual float value() const;
+ virtual double value() const;
int id() const { return _id; }
void setId(int i) { _id = i; }
double minValue() const { return _minValue; }
diff --git a/muse/awl/knob.cpp b/muse/awl/knob.cpp
index 8fb57508..30956859 100644
--- a/muse/awl/knob.cpp
+++ b/muse/awl/knob.cpp
@@ -134,7 +134,7 @@ void Knob::mouseReleaseEvent(QMouseEvent*)
void Knob::mouseMoveEvent(QMouseEvent* ev)
{
int y = ev->y();
- float delta = (maxValue() - minValue()) / 100.0f;
+ double delta = (maxValue() - minValue()) / 100.0f;
if (delta == 0)
delta = 1;
_value += (startY - y) * delta;
@@ -188,7 +188,7 @@ void Knob::paint(const QRect& r)
// draw arc
//-----------------------------------------
- float dvalue = maxValue() - minValue();
+ double dvalue = maxValue() - minValue();
if (_center) {
int size = _scaleSize * 8;
if (_value >= 0) {
diff --git a/muse/awl/midimeter.cpp b/muse/awl/midimeter.cpp
index aa6e528b..eaae83ee 100644
--- a/muse/awl/midimeter.cpp
+++ b/muse/awl/midimeter.cpp
@@ -44,7 +44,7 @@ MidiMeter::MidiMeter(QWidget* parent)
// v - 0.0 < 1.0
//---------------------------------------------------------
-void MidiMeter::setMeterVal(float v)
+void MidiMeter::setMeterVal(double v)
{
if (v < 0.001)
v = .0f;
@@ -72,7 +72,7 @@ void MidiMeter::mouseDoubleClickEvent(QMouseEvent*)
void MidiMeter::paint(const QRect& r)
{
int pixel = height() - sliderSize().height();
- float range = maxValue() - minValue();
+ double range = maxValue() - minValue();
int ppos = int(pixel * (_value - minValue()) / range);
if (_invert)
ppos = pixel - ppos;
diff --git a/muse/awl/midimeter.h b/muse/awl/midimeter.h
index 1624fd97..80f3c52a 100644
--- a/muse/awl/midimeter.h
+++ b/muse/awl/midimeter.h
@@ -34,7 +34,7 @@ class MidiMeter : public Slider
Q_PROPERTY(int meterWidth READ meterWidth WRITE setMeterWidth)
Q_OBJECT
- float meterval;
+ double meterval;
int _meterWidth;
virtual void paint(const QRect& r);
@@ -43,7 +43,7 @@ class MidiMeter : public Slider
virtual void mouseDoubleClickEvent(QMouseEvent*);
public slots:
- void setMeterVal(float value);
+ void setMeterVal(double value);
public:
MidiMeter(QWidget* parent = 0);
diff --git a/muse/awl/midimslider.cpp b/muse/awl/midimslider.cpp
index 0c3ffc0e..c7d7efa8 100644
--- a/muse/awl/midimslider.cpp
+++ b/muse/awl/midimslider.cpp
@@ -44,7 +44,7 @@ MidiMeterSlider::MidiMeterSlider(QWidget* parent)
// v - 0.0 < 1.0
//---------------------------------------------------------
-void MidiMeterSlider::setMeterVal(float v)
+void MidiMeterSlider::setMeterVal(double v)
{
if (v < 0.001)
v = .0f;
@@ -72,7 +72,7 @@ void MidiMeterSlider::mouseDoubleClickEvent(QMouseEvent*)
void MidiMeterSlider::paint(const QRect& r)
{
int pixel = height() - sliderSize().height();
- float range = maxValue() - minValue();
+ double range = maxValue() - minValue();
int ppos = int(pixel * (_value - minValue()) / range);
if (_invert)
ppos = pixel - ppos;
diff --git a/muse/awl/midimslider.h b/muse/awl/midimslider.h
index f2f58a4d..15533b09 100644
--- a/muse/awl/midimslider.h
+++ b/muse/awl/midimslider.h
@@ -34,7 +34,7 @@ class MidiMeterSlider : public Slider
Q_PROPERTY(int meterWidth READ meterWidth WRITE setMeterWidth)
Q_OBJECT
- float meterval;
+ double meterval;
int _meterWidth;
virtual void paint(const QRect& r);
@@ -43,7 +43,7 @@ class MidiMeterSlider : public Slider
virtual void mouseDoubleClickEvent(QMouseEvent*);
public slots:
- void setMeterVal(float value);
+ void setMeterVal(double value);
public:
MidiMeterSlider(QWidget* parent = 0);
diff --git a/muse/awl/midipanentry.h b/muse/awl/midipanentry.h
index 913339f8..25f7333a 100644
--- a/muse/awl/midipanentry.h
+++ b/muse/awl/midipanentry.h
@@ -36,12 +36,12 @@ class MidiPanEntry : public FloatEntry {
virtual void valueChange();
public slots:
- virtual void setValue(float v) {
+ virtual void setValue(double v) {
FloatEntry::setValue(v - 64.0f);
}
public:
MidiPanEntry(QWidget* parent);
- virtual float value() const { return _value + 64.0f; }
+ virtual double value() const { return _value + 64.0f; }
};
}
diff --git a/muse/awl/midipanknob.h b/muse/awl/midipanknob.h
index 5c4b715a..9b628e6b 100644
--- a/muse/awl/midipanknob.h
+++ b/muse/awl/midipanknob.h
@@ -42,12 +42,12 @@ class MidiPanKnob : public Knob {
}
public slots:
- virtual void setValue(float v) {
+ virtual void setValue(double v) {
AbstractSlider::setValue(v - 64.0f);
}
public:
MidiPanKnob(QWidget* parent = 0);
- virtual float value() const { return _value + 64.0f; }
+ virtual double value() const { return _value + 64.0f; }
};
}
diff --git a/muse/awl/midivolentry.cpp b/muse/awl/midivolentry.cpp
index 80aa1d1d..0b74afcc 100644
--- a/muse/awl/midivolentry.cpp
+++ b/muse/awl/midivolentry.cpp
@@ -42,9 +42,9 @@ MidiVolEntry::MidiVolEntry(QWidget* parent)
// setValue
//---------------------------------------------------------
-void MidiVolEntry::setValue(float v)
+void MidiVolEntry::setValue(double v)
{
- FloatEntry::setValue(-fast_log10(float(_max*_max)/(v*v))*20.0f);
+ FloatEntry::setValue(-fast_log10(double(_max*_max)/(v*v))*20.0f);
}
}
diff --git a/muse/awl/midivolentry.h b/muse/awl/midivolentry.h
index 45216521..99155877 100644
--- a/muse/awl/midivolentry.h
+++ b/muse/awl/midivolentry.h
@@ -36,7 +36,7 @@ class MidiVolEntry : public FloatEntry {
int _max;
public:
- virtual void setValue(float);
+ virtual void setValue(double);
void setMax(int val) { _max = val; }
int max() const { return _max; }
MidiVolEntry(QWidget* parent);
diff --git a/muse/awl/mslider.cpp b/muse/awl/mslider.cpp
index 2f910731..0bfac826 100644
--- a/muse/awl/mslider.cpp
+++ b/muse/awl/mslider.cpp
@@ -67,7 +67,7 @@ void MeterSlider::setChannel(int n)
// setMeterVal
//---------------------------------------------------------
-void MeterSlider::setMeterVal(int channel, float v, float peak)
+void MeterSlider::setMeterVal(int channel, double v, double peak)
{
bool mustRedraw = false;
if (meterval[channel] != v) {
diff --git a/muse/awl/mslider.h b/muse/awl/mslider.h
index 24e67889..7f02eee6 100644
--- a/muse/awl/mslider.h
+++ b/muse/awl/mslider.h
@@ -37,8 +37,8 @@ class MeterSlider : public VolSlider
Q_OBJECT
int _channel;
- std::vector<float> meterval;
- std::vector<float> meterPeak;
+ std::vector<double> meterval;
+ std::vector<double> meterPeak;
int yellowScale, redScale;
int _meterWidth;
@@ -50,7 +50,7 @@ class MeterSlider : public VolSlider
public slots:
void resetPeaks();
- void setMeterVal(int channel, float value, float peak);
+ void setMeterVal(int channel, double value, double peak);
public:
MeterSlider(QWidget* parent = 0);
diff --git a/muse/awl/tcanvas.cpp b/muse/awl/tcanvas.cpp
index ef515f50..3cd0d9ff 100644
--- a/muse/awl/tcanvas.cpp
+++ b/muse/awl/tcanvas.cpp
@@ -891,6 +891,26 @@ void TimeCanvas::canvasPaintEvent(const QRect& r, QPainter& p)
int y1 = r.y();
int y2 = y1 + r.height();
+ if (drawRuler) {
+ p.setClipRect(hor);
+ int w = r.width();
+ int x = r.x();
+ int y = rulerHeight - 16;
+ QColor lcColors[3] = { Qt::red, Qt::blue, Qt::blue };
+
+ for (int i = 0; i < 3; ++i) {
+ p.setPen(lcColors[i]);
+ int xp = pos2pix(pos[i]) + rRuler.x();
+ QPixmap* pm = markIcon[i];
+ int pw = (pm->width() + 1) / 2;
+ int x1 = x - pw;
+ int x2 = x + w + pw;
+ if (xp >= x1 && xp < x2) {
+ p.drawPixmap(xp - pw, y-2, *pm);
+ p.drawLine(xp, y1, xp, y2);
+ }
+ }
+ }
if (marker) {
int yy1 = y1;
if (yy1 < rCanvasA.x())
@@ -900,33 +920,14 @@ void TimeCanvas::canvasPaintEvent(const QRect& r, QPainter& p)
if (start != marker->begin())
--start;
AL::iMarker end = marker->lower_bound(pos2.tick());
+ if (end != marker->end())
+ ++end;
for (AL::iMarker m = start; m != end; ++m) {
AL::Pos pm(m->second);
int x = pos2pix(pm) + rRuler.x();
p.drawLine(x, yy1, x, y2);
}
}
- if (!drawRuler)
- return;
-
- p.setClipRect(hor);
- int w = r.width();
- int x = r.x();
- int y = rulerHeight - 16;
- QColor lcColors[3] = { Qt::red, Qt::blue, Qt::blue };
-
- for (int i = 0; i < 3; ++i) {
- p.setPen(lcColors[i]);
- int xp = pos2pix(pos[i]) + rRuler.x();
- QPixmap* pm = markIcon[i];
- int pw = (pm->width() + 1) / 2;
- int x1 = x - pw;
- int x2 = x + w + pw;
- if (xp >= x1 && xp < x2) {
- p.drawPixmap(xp - pw, y-2, *pm);
- p.drawLine(xp, y1, xp, y2);
- }
- }
}
//---------------------------------------------------------
diff --git a/muse/awl/tcanvas.h b/muse/awl/tcanvas.h
index df4b9d70..cdecdbe6 100644
--- a/muse/awl/tcanvas.h
+++ b/muse/awl/tcanvas.h
@@ -244,6 +244,7 @@ class TimeCanvas : public QFrame {
void setCanvasBackground(const QPixmap& pm);
void updateCanvasB() { _widget->update(rCanvasB); }
+ void updateRuler() { _widget->update(rRuler); }
static FollowMode followMode;
friend class CtrlEdit;