Mixxx

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

Go to the documentation of this file.
00001 #ifndef BASETRACKPLAYER_H
00002 #define BASETRACKPLAYER_H
00003 
00004 #include "configobject.h"
00005 #include "trackinfoobject.h"
00006 #include "baseplayer.h"
00007 #include "analyserqueue.h"
00008 #include "engine/enginechannel.h"
00009 
00010 class EngineMaster;
00011 class ControlObject;
00012 class ControlObjectThreadMain;
00013 class WaveformRenderer;
00014 
00015 class BaseTrackPlayer : public BasePlayer {
00016     Q_OBJECT
00017   public:
00018     BaseTrackPlayer(QObject* pParent,
00019                     ConfigObject<ConfigValue>* pConfig,
00020                     EngineMaster* pMixingEngine,
00021                     EngineChannel::ChannelOrientation defaultOrientation,
00022                     AnalyserQueue* pAnalyserQueue,
00023                     QString group);
00024     virtual ~BaseTrackPlayer();
00025 
00026     AnalyserQueue* getAnalyserQueue() const;
00027     WaveformRenderer* getWaveformRenderer() const;
00028     TrackPointer getLoadedTrack() const;
00029 
00030   public slots:
00031     void slotLoadTrack(TrackPointer track, bool bStartFromEndPos=false);
00032     void slotFinishLoading(TrackPointer pTrackInfoObject);
00033     void slotLoadFailed(TrackPointer pTrackInfoObject, QString reason);
00034     void slotUnloadTrack(TrackPointer track);
00035 
00036   signals:
00037     void loadTrack(TrackPointer pTrack);
00038     void newTrackLoaded(TrackPointer pLoadedTrack);
00039     void unloadingTrack(TrackPointer pAboutToBeUnloaded);
00040 
00041   private:
00042     ConfigObject<ConfigValue>* m_pConfig;
00043     TrackPointer m_pLoadedTrack;
00044     AnalyserQueue* m_pAnalyserQueue;
00045 
00046     ControlObjectThreadMain* m_pCuePoint;
00047     ControlObjectThreadMain* m_pLoopInPoint;
00048     ControlObjectThreadMain* m_pLoopOutPoint;
00049     ControlObjectThreadMain* m_pPlayPosition;
00050     ControlObject* m_pDuration;
00051     ControlObjectThreadMain* m_pBPM;
00052     ControlObjectThreadMain* m_pReplayGain;
00053     WaveformRenderer* m_pWaveformRenderer;
00054 };
00055 
00056 
00057 #endif /* BASETRACKPLAYER_H */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines