![]() |
Mixxx
|
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 */