diff options
author | Tim E. Real <termtech@rogers.com> | 2012-10-20 04:10:19 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2012-10-20 04:10:19 +0000 |
commit | c4aca7b81e76e0f098ac0f855599bdf1e3cf1e22 (patch) | |
tree | 177c77d19a5867866cff997c01a187fc54530759 /muse2/muse/widgets/knob_and_meter.h | |
parent | 5821f678ca1c95a97170588a77303e2f14e4dbdb (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.h | 114 |
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 |