36
36
class WOverview : public WWidget
40
40
WOverview(const char* pGroup, ConfigObject<ConfigValue>* pConfig, QWidget *parent=NULL);
41
41
virtual ~WOverview();
42
42
void setup(QDomNode node);
44
QColor getMarkerColor();
47
45
void mouseMoveEvent(QMouseEvent *e);
48
46
void mouseReleaseEvent(QMouseEvent *e);
49
47
void mousePressEvent(QMouseEvent *e);
50
48
void paintEvent(QPaintEvent *);
51
void timerEvent(QTimerEvent *);
52
49
void resizeEvent(QResizeEvent *);
55
52
void setValue(double);
57
53
void slotLoadNewTrack(TrackPointer pTrack);
54
void slotTrackLoaded(TrackPointer pTrack);
58
55
void slotUnloadTrack(TrackPointer pTrack);
61
58
void trackDropped(QString filename, QString group);
64
61
virtual void dragEnterEvent(QDragEnterEvent* event);
65
62
virtual void dropEvent(QDropEvent* event);
68
void onTotalGainChange(double v);
69
65
void onEndOfTrackChange(double v);
71
67
void onMarkChanged(double v);
72
68
void onMarkRangeChange(double v);
74
70
void slotWaveformSummaryUpdated();
71
void slotAnalyserProgress(int progress);
77
74
/** append the waveform overview pixmap according to available data in waveform */
78
75
bool drawNextPixmapPart();
79
inline int valueToPosition( float value) const {
80
return floor(m_a * value + m_b + 0.5);
82
inline double positionToValue( int position) const {
83
return (float(position) - m_b) / m_a;
76
void paintText(const QString &text, QPainter *painter);
77
inline int valueToPosition(float value) const {
78
return (int)(m_a * value - m_b + 0.5);
80
inline double positionToValue(int position) const {
81
return ((float)position + m_b) / m_a;
85
const QString m_pGroup;
87
86
ConfigObject<ConfigValue>* m_pConfig;
88
ControlObjectThreadMain* m_totalGainControl;
90
87
ControlObjectThreadMain* m_endOfTrackControl;
91
88
double m_endOfTrack;
92
89
ControlObjectThreadMain* m_trackSamplesControl;
90
ControlObjectThreadMain* m_playControl;
95
QPixmap m_waveformPixmap;
92
Waveform* m_pWaveform;
93
QImage* m_pWaveformSourceImage;
94
QImage m_waveformImageScaled;
98
97
float m_waveformPeak;
100
99
/** Hold the last visual sample processed to generate the pixmap*/
101
100
int m_actualCompletion;
102
double m_visualSamplesByPixel;
103
int m_renderSampleLimit;
105
int m_timerPixmapRefresh;
107
102
// Current active track
108
103
TrackPointer m_pCurrentTrack;
110
105
/** True if slider is dragged. Only used when m_bEventWhileDrag is false */
112
107
/** Internal storage of slider position in pixels */
113
int m_iPos, m_iStartMousePos;
115
110
QPixmap m_backgroundPixmap;
116
111
QString m_backgroundPixmapPath;
117
112
QColor m_qColorBackground;
118
QColor m_qColorMarker;
119
113
QColor m_endOfTrackColor;
121
115
WaveformSignalColors m_signalColors;