summaryrefslogtreecommitdiffstats
path: root/src/basetrackplayer.cpp
diff options
context:
space:
mode:
authorOwen Williams <owilliams@mixxx.org>2013-12-06 13:24:37 -0500
committerOwen Williams <owilliams@mixxx.org>2013-12-06 13:24:37 -0500
commit39db221aa07a308b25c1c2682a17e0bff6c12110 (patch)
tree765ab9d04210897b98d3b7902b2ce80362230714 /src/basetrackplayer.cpp
parentc5cbb1cbfbef61684068ac19dd7059ff9ee1217d (diff)
parent18010692cc51acdf1a48dab246a1592aec8c4345 (diff)
Merge branch 'master' into master_sync
Conflicts: src/engine/enginebuffer.cpp src/engine/enginebuffer.h src/engine/ratecontrol.cpp
Diffstat (limited to 'src/basetrackplayer.cpp')
-rw-r--r--src/basetrackplayer.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/basetrackplayer.cpp b/src/basetrackplayer.cpp
index f8f49ca6ca..df55098b32 100644
--- a/src/basetrackplayer.cpp
+++ b/src/basetrackplayer.cpp
@@ -78,6 +78,7 @@ BaseTrackPlayer::BaseTrackPlayer(QObject* pParent,
//BPM of the current song
m_pBPM = new ControlObjectThread(group, "file_bpm");
+ m_pKey = new ControlObjectThread(group, "file_key");
m_pReplayGain = new ControlObjectThread(group, "replaygain");
m_pPlay = new ControlObjectThread(group, "play");
}
@@ -95,6 +96,7 @@ BaseTrackPlayer::~BaseTrackPlayer()
delete m_pLoopInPoint;
delete m_pLoopOutPoint;
delete m_pBPM;
+ delete m_pKey;
delete m_pReplayGain;
delete m_pPlay;
}
@@ -132,6 +134,7 @@ void BaseTrackPlayer::slotLoadTrack(TrackPointer track, bool bPlay) {
// m_pLoadedTrack->disconnect();
disconnect(m_pLoadedTrack.data(), 0, m_pBPM, 0);
disconnect(m_pLoadedTrack.data(), 0, this, 0);
+ disconnect(m_pLoadedTrack.data(), 0, m_pKey, 0);
m_pReplayGain->slotSet(0);
@@ -145,6 +148,9 @@ void BaseTrackPlayer::slotLoadTrack(TrackPointer track, bool bPlay) {
connect(m_pLoadedTrack.data(), SIGNAL(bpmUpdated(double)),
m_pBPM, SLOT(slotSet(double)));
+ connect(m_pLoadedTrack.data(), SIGNAL(keyUpdated(double)),
+ m_pKey, SLOT(slotSet(double)));
+
// Listen for updates to the file's Replay Gain
connect(m_pLoadedTrack.data(), SIGNAL(ReplayGainUpdated(double)),
this, SLOT(slotSetReplayGain(double)));
@@ -172,6 +178,7 @@ void BaseTrackPlayer::slotUnloadTrack(TrackPointer) {
// m_pLoadedTrack->disconnect();
disconnect(m_pLoadedTrack.data(), 0, m_pBPM, 0);
disconnect(m_pLoadedTrack.data(), 0, this, 0);
+ disconnect(m_pLoadedTrack.data(), 0, m_pKey, 0);
// Causes the track's data to be saved back to the library database and
// for all the widgets to unload the track and blank themselves.
@@ -179,6 +186,7 @@ void BaseTrackPlayer::slotUnloadTrack(TrackPointer) {
}
m_pDuration->set(0);
m_pBPM->slotSet(0);
+ m_pKey->slotSet(0);
m_pReplayGain->slotSet(0);
m_pLoopInPoint->slotSet(-1);
m_pLoopOutPoint->slotSet(-1);
@@ -200,6 +208,7 @@ void BaseTrackPlayer::slotFinishLoading(TrackPointer pTrackInfoObject)
// Update the BPM and duration values that are stored in ControlObjects
m_pDuration->set(m_pLoadedTrack->getDuration());
m_pBPM->slotSet(m_pLoadedTrack->getBpm());
+ m_pKey->slotSet(m_pLoadedTrack->getKey());
m_pReplayGain->slotSet(m_pLoadedTrack->getReplayGain());
// Update the PlayerInfo class that is used in EngineShoutcast to replace