Mercurial > hg > svgui
comparison widgets/LevelPanWidget.h @ 1203:ff042979331b 3.0-integration
Merge from branch svg, and thus (in some subrepos) from levelpanwidget
| author | Chris Cannam |
|---|---|
| date | Mon, 19 Dec 2016 16:34:38 +0000 |
| parents | a68c25ba1153 |
| children | 8ef67917c301 |
comparison
equal
deleted
inserted
replaced
| 1185:f32828ea63d9 | 1203:ff042979331b |
|---|---|
| 27 | 27 |
| 28 public: | 28 public: |
| 29 LevelPanWidget(QWidget *parent = 0); | 29 LevelPanWidget(QWidget *parent = 0); |
| 30 ~LevelPanWidget(); | 30 ~LevelPanWidget(); |
| 31 | 31 |
| 32 /// Return level as a gain value in the range [0,1] | 32 /// Return level as a gain value. The basic level range is [0,1] but the |
| 33 /// gain scale may go up to 4.0 | |
| 33 float getLevel() const; | 34 float getLevel() const; |
| 34 | 35 |
| 35 /// Return pan as a value in the range [-1,1] | 36 /// Return pan as a value in the range [-1,1] |
| 36 float getPan() const; | 37 float getPan() const; |
| 37 | 38 |
| 45 void renderTo(QPaintDevice *, QRectF, bool asIfEditable) const; | 46 void renderTo(QPaintDevice *, QRectF, bool asIfEditable) const; |
| 46 | 47 |
| 47 QSize sizeHint() const; | 48 QSize sizeHint() const; |
| 48 | 49 |
| 49 public slots: | 50 public slots: |
| 50 /// Set level in the range [0,1] -- will be rounded | 51 /// Set level. The basic level range is [0,1] but the scale may go |
| 52 /// higher. The value will be rounded. | |
| 51 void setLevel(float); | 53 void setLevel(float); |
| 52 | 54 |
| 53 /// Set pan in the range [-1,1] -- will be rounded | 55 /// Set pan in the range [-1,1]. The value will be rounded |
| 54 void setPan(float); | 56 void setPan(float); |
| 55 | 57 |
| 58 /// Set left and right peak monitoring levels in the range [0,1] | |
| 59 void setMonitoringLevels(float, float); | |
| 60 | |
| 56 /// Specify whether the widget is editable or read-only (default editable) | 61 /// Specify whether the widget is editable or read-only (default editable) |
| 57 void setEditable(bool); | 62 void setEditable(bool); |
| 58 | 63 |
| 59 /// Specify whether the level range should include muting or not | 64 /// Specify whether the level range should include muting or not |
| 60 void setIncludeMute(bool); | 65 void setIncludeMute(bool); |
| 61 | 66 |
| 67 // public so it can be called from LevelPanToolButton (ew) | |
| 68 virtual void wheelEvent(QWheelEvent *ev); | |
| 69 | |
| 62 signals: | 70 signals: |
| 63 void levelChanged(float); | 71 void levelChanged(float); // range [0,1] |
| 64 void panChanged(float); | 72 void panChanged(float); // range [-1,1] |
| 65 | 73 |
| 74 void mouseEntered(); | |
| 75 void mouseLeft(); | |
| 76 | |
| 66 protected: | 77 protected: |
| 67 virtual void mousePressEvent(QMouseEvent *ev); | 78 virtual void mousePressEvent(QMouseEvent *ev); |
| 68 virtual void mouseMoveEvent(QMouseEvent *ev); | 79 virtual void mouseMoveEvent(QMouseEvent *ev); |
| 69 virtual void mouseReleaseEvent(QMouseEvent *ev); | 80 virtual void mouseReleaseEvent(QMouseEvent *ev); |
| 70 virtual void wheelEvent(QWheelEvent *ev); | |
| 71 virtual void paintEvent(QPaintEvent *ev); | 81 virtual void paintEvent(QPaintEvent *ev); |
| 82 virtual void enterEvent(QEvent *); | |
| 83 virtual void leaveEvent(QEvent *); | |
| 72 | 84 |
| 73 void emitLevelChanged(); | 85 void emitLevelChanged(); |
| 74 void emitPanChanged(); | 86 void emitPanChanged(); |
| 75 | 87 |
| 76 int m_level; | 88 int m_level; |
| 77 int m_pan; | 89 int m_pan; |
| 90 float m_monitorLeft; | |
| 91 float m_monitorRight; | |
| 78 bool m_editable; | 92 bool m_editable; |
| 79 bool m_includeMute; | 93 bool m_includeMute; |
| 80 | 94 |
| 95 static int audioLevelToLevel(float audioLevel, bool withMute); | |
| 96 static float levelToAudioLevel(int level, bool withMute); | |
| 97 | |
| 98 static int audioPanToPan(float audioPan); | |
| 99 static float panToAudioPan(int pan); | |
| 100 | |
| 81 QSizeF cellSize(QRectF) const; | 101 QSizeF cellSize(QRectF) const; |
| 82 QPointF cellCentre(QRectF, int level, int pan) const; | 102 QPointF cellCentre(QRectF, int level, int pan) const; |
| 83 QSizeF cellLightSize(QRectF) const; | 103 QSizeF cellLightSize(QRectF) const; |
| 84 QRectF cellLightRect(QRectF, int level, int pan) const; | 104 QRectF cellLightRect(QRectF, int level, int pan) const; |
| 85 double thinLineWidth(QRectF) const; | 105 double thinLineWidth(QRectF) const; |
