Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/widget/woverview.h

Go to the documentation of this file.
00001 //
00002 // C++ Interface: woverview
00003 //
00004 // Description:
00005 //
00006 //
00007 // Author: Tue Haste Andersen <haste@diku.dk>, (C) 2003
00008 //
00009 // Copyright: See COPYING file that comes with this distribution
00010 //
00011 //
00012 #ifndef WOVERVIEW_H
00013 #define WOVERVIEW_H
00014 
00015 #include <QPaintEvent>
00016 #include <QMouseEvent>
00017 #include <QPixmap>
00018 #include <QColor>
00019 #include <QList>
00020 
00021 #include "trackinfoobject.h"
00022 #include "widget/wwidget.h"
00023 
00024 
00031 class ControlObject;
00032 
00033 class WOverview : public WWidget
00034 {
00035     Q_OBJECT
00036   public:
00037     WOverview(const char* pGroup, QWidget *parent=NULL);
00038     virtual ~WOverview();
00039     void setup(QDomNode node);
00040     void setData(const QByteArray *pWaveformSummary, long liSampleDuration);
00041     void mouseMoveEvent(QMouseEvent *e);
00042     void mouseReleaseEvent(QMouseEvent *e);
00043     void mousePressEvent(QMouseEvent *e);
00044     void paintEvent(QPaintEvent *);
00045     void paintTrackProgress(QPainter& painter);
00046     void redrawPixmap();
00047     QColor getMarkerColor();
00048     QColor getSignalColor();
00049 
00050   public slots:
00051     void setValue(double);
00052     void slotLoadNewWaveform(TrackInfoObject* pTrack);
00053     void slotTrackLoaded(TrackPointer pTrack);
00054     void slotUnloadTrack(TrackPointer pTrack);
00055     void slotTrackProgress(TrackPointer pTrack, int progress);
00056 
00057   signals:
00058     void trackDropped(QString filename, QString group);
00059 
00060   protected:
00061     virtual void dragEnterEvent(QDragEnterEvent* event);
00062     virtual void dropEvent(QDropEvent* event);
00063 
00064   private slots:
00065     void cueChanged(double v);
00066     void loopStartChanged(double v);
00067     void loopEndChanged(double v);
00068     void loopEnabledChanged(double v);
00069 
00070   private:
00071     const char* m_pGroup;
00072     bool waveformChanged;
00073 
00074     // Current active track
00075     TrackPointer m_pCurrentTrack;
00076     bool m_analysing;
00077     int m_iProgress;
00078 
00079     // Loop controls and values
00080     ControlObject* m_pLoopStart;
00081     ControlObject* m_pLoopEnd;
00082     ControlObject* m_pLoopEnabled;
00083     double m_dLoopStart, m_dLoopEnd;
00084     bool m_bLoopEnabled;
00085 
00086     // Hotcue controls and values
00087     QList<ControlObject*> m_hotcueControls;
00088     QMap<QObject*, int> m_hotcueMap;
00089     QList<int> m_hotcues;
00090 
00092     QByteArray m_waveformSummary;
00094     int m_liSampleDuration;
00096     bool m_bDrag;
00098     int m_iPos, m_iStartMousePos;
00100     QPixmap *m_pScreenBuffer;
00101     QPixmap m_backgroundPixmap;
00102     QString m_backgroundPixmapPath;
00103     QColor m_qColorBackground;
00104     QColor m_qColorMarker;
00105     QColor m_qColorSignal;
00106     QColor m_qColorProgress;
00107     int m_iProgressAlpha;
00108 };
00109 
00110 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines