diff --git a/include/InstrumentTrack.h b/include/InstrumentTrack.h index b09ecaa6f..20200e1a7 100644 --- a/include/InstrumentTrack.h +++ b/include/InstrumentTrack.h @@ -160,6 +160,8 @@ public: { return &m_baseNoteModel; } + + int baseNote() const; Piano *pianoModel() { diff --git a/src/core/NotePlayHandle.cpp b/src/core/NotePlayHandle.cpp index 84933e431..8806d65e3 100644 --- a/src/core/NotePlayHandle.cpp +++ b/src/core/NotePlayHandle.cpp @@ -68,7 +68,7 @@ NotePlayHandle::NotePlayHandle( InstrumentTrack* instrumentTrack, m_muted( false ), m_bbTrack( NULL ), m_origTempo( engine::getSong()->getTempo() ), - m_origBaseNote( instrumentTrack->baseNoteModel()->value() ), + m_origBaseNote( instrumentTrack->baseNote() ), m_frequency( 0 ), m_unpitchedFrequency( 0 ), m_baseDetuning( NULL ), @@ -182,7 +182,7 @@ void NotePlayHandle::setPanning( panning_t panning ) int NotePlayHandle::midiKey() const { - return key() - m_origBaseNote + instrumentTrack()->baseNoteModel()->value(); + return key() - m_origBaseNote + instrumentTrack()->baseNote(); } diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index 532431e6c..e661f4f4c 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -135,6 +135,11 @@ InstrumentTrack::InstrumentTrack( TrackContainer* tc ) : } +int InstrumentTrack::baseNote() const +{ + return m_baseNoteModel.value() - engine::getSong()->masterPitch(); +} + InstrumentTrack::~InstrumentTrack() @@ -537,7 +542,7 @@ void InstrumentTrack::updatePitchRange() int InstrumentTrack::masterKey( int _midi_key ) const { - int key = m_baseNoteModel.value() - engine::getSong()->masterPitch(); + int key = baseNote(); return tLimit( _midi_key - ( key - DefaultKey ), 0, NumKeys ); }