summaryrefslogtreecommitdiff
path: root/muse2/muse/widgets/knob_and_meter.h
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2012-10-20 04:10:19 +0000
committerTim E. Real <termtech@rogers.com>2012-10-20 04:10:19 +0000
commitc4aca7b81e76e0f098ac0f855599bdf1e3cf1e22 (patch)
tree177c77d19a5867866cff997c01a187fc54530759 /muse2/muse/widgets/knob_and_meter.h
parent5821f678ca1c95a97170588a77303e2f14e4dbdb (diff)
Improved: Midi initializations. New settings options, can be 'quiet'. Complete rewrite of initializations coding.
Improved: Midi controller graphs: Control selector 'S' popup now stay-open, AND NOW with multi-coloured dots. Bonus! Pianoroll and drum edit 'Ctrl' buttons ALSO now popup this very same menu. Improved: 'Old' drum track 'drum controllers' display and operation: Fixed several problems.
Diffstat (limited to 'muse2/muse/widgets/knob_and_meter.h')
-rw-r--r--muse2/muse/widgets/knob_and_meter.h114
1 files changed, 114 insertions, 0 deletions
diff --git a/muse2/muse/widgets/knob_and_meter.h b/muse2/muse/widgets/knob_and_meter.h
new file mode 100644
index 00000000..989c8567
--- /dev/null
+++ b/muse2/muse/widgets/knob_and_meter.h
@@ -0,0 +1,114 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// knob_and_meter.h
+// (C) Copyright 2012 Tim E. Real (terminator356 on users dot sourceforge dot net)
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; version 2 of
+// the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+//=========================================================
+#ifndef __KNOB_AND_METER_H__
+#define __KNOB_AND_METER_H__
+
+#include "knob.h"
+#include "sclif.h"
+#include <QColor>
+#include <QResizeEvent>
+#include <QPaintEvent>
+
+namespace MusEGui {
+
+//---------------------------------------------------------
+// KnobWithMeter
+//---------------------------------------------------------
+
+class KnobWithMeter : public Knob
+ {
+ Q_OBJECT
+
+// public:
+// enum Symbol { Line, Dot };
+//
+// enum KnobType {
+// panType,
+// auxType,
+// gainType,
+// };
+//
+// private:
+// bool hasScale;
+//
+// int d_borderWidth;
+// int d_shineWidth;
+// int d_scaleDist;
+// int d_maxScaleTicks;
+// int d_newVal;
+// int d_knobWidth;
+// int d_dotWidth;
+//
+// Symbol d_symbol;
+// double d_angle;
+// double d_oldAngle;
+// double d_totalAngle;
+// double d_nTurns;
+//
+// double l_const;
+// double l_slope;
+//
+// QRect kRect;
+// bool _faceColSel;
+// QColor d_faceColor;
+// QColor d_shinyColor;
+// QColor d_rimColor;
+// QColor d_curFaceColor;
+// QColor d_altFaceColor;
+// QColor d_markerColor;
+//
+// void recalcAngle();
+// void valueChange();
+// void rangeChange();
+ void drawKnob(QPainter *p, const QRect &r);
+// void drawMarker(QPainter *p, double arc, const QColor &c);
+
+ virtual void paintEvent(QPaintEvent *e);
+ virtual void resizeEvent(QResizeEvent *e);
+ virtual void mousePressEvent(QMouseEvent *e);
+// double getValue(const QPoint &p);
+// void getScrollMode( QPoint &p, const Qt::MouseButton &button, int &scrollMode, int &direction );
+// void scaleChange() { repaint(); }
+// void fontChange(const QFont &) { repaint(); }
+
+ public:
+ KnobWithMeter(QWidget* parent = 0, const char *name = 0);
+ ~KnobWithMeter() {}
+
+// void setRange(double vmin, double vmax, double vstep = 0.0,
+// int pagesize = 1);
+// void setKnobWidth(int w);
+// void setTotalAngle (double angle);
+// void setBorderWidth(int bw);
+// void selectFaceColor(bool alt);
+// bool selectedFaceColor() { return _faceColSel; }
+// QColor faceColor() { return d_faceColor; }
+// void setFaceColor(const QColor c);
+// QColor altFaceColor() { return d_altFaceColor; }
+// void setAltFaceColor(const QColor c);
+// QColor markerColor() { return d_markerColor; }
+// void setMarkerColor(const QColor c);
+ };
+
+} // namespace MusEGui
+
+#endif