Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/dlgtrackinfo.h

Go to the documentation of this file.
00001 
00002 #ifndef DLGTRACKINFO_H
00003 #define DLGTRACKINFO_H
00004 
00005 #include <QDialog>
00006 #include <QMutex>
00007 #include <QHash>
00008 #include <QList>
00009 
00010 #include "ui_dlgtrackinfo.h"
00011 
00012 #include "trackinfoobject.h"
00013 #include "controlbeat.h"
00014 
00015 class Cue;
00016 
00017 class DlgTrackInfo : public QDialog, public Ui::DlgTrackInfo {
00018     Q_OBJECT
00019   public:
00020     DlgTrackInfo(QWidget* parent);
00021     virtual ~DlgTrackInfo();
00022 
00023   public slots:
00024     // Not thread safe. Only invoke via AutoConnection or QueuedConnection, not
00025     // directly!
00026     void loadTrack(TrackPointer pTrack);
00027 
00028   signals:
00029     void next();
00030     void previous();
00031 
00032   private slots:
00033     void slotNext();
00034     void slotPrev();
00035     void apply();
00036     void cancel();
00037     void trackUpdated();
00038 
00039     void cueActivate();
00040     void cueDelete();
00041 
00042     void slotBpmDouble();
00043     void slotBpmHalve();
00044     void slotBpmTap();
00045 
00046     void reloadTrackMetadata();
00047 
00048   private:
00049     void populateFields(TrackPointer pTrack);
00050     void populateCues(TrackPointer pTrack);
00051     void unloadTrack(bool save);
00052     void clear();
00053 
00054     QHash<int, Cue*> m_cueMap;
00055     TrackPointer m_pLoadedTrack;
00056 
00057     CSAMPLE m_bpmTapFilter[filterLength];
00058     QTime m_bpmTapTimer;
00059 
00060     QMutex m_mutex;
00061 
00062 };
00063 
00064 #endif /* DLGTRACKINFO_H */
00065 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines