update note frequency when changing base note in instrument track
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@146 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
@@ -27,6 +27,8 @@
|
||||
#ifndef _NOTE_PLAY_HANDLE_H
|
||||
#define _NOTE_PLAY_HANDLE_H
|
||||
|
||||
#include <qobject.h>
|
||||
|
||||
#include "play_handle.h"
|
||||
#include "basic_filters.h"
|
||||
#include "note.h"
|
||||
@@ -39,12 +41,15 @@ typedef vvector<notePlayHandle *> notePlayHandleVector;
|
||||
typedef vvector<const notePlayHandle *> constNotePlayHandleVector;
|
||||
|
||||
|
||||
class notePlayHandle : public playHandle, public note
|
||||
class notePlayHandle : public QObject, public playHandle, public note
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
void * m_pluginData;
|
||||
basicFilters<> * m_filter;
|
||||
|
||||
float m_frequency;
|
||||
|
||||
notePlayHandle( instrumentTrack * _chnl_trk, const f_cnt_t _frames_ahead,
|
||||
const f_cnt_t _frames, const note & _n,
|
||||
const bool _arp_note = FALSE );
|
||||
@@ -191,6 +196,10 @@ private:
|
||||
// sub-note)
|
||||
bool m_muted; // indicates whether note is muted
|
||||
|
||||
|
||||
private slots:
|
||||
void updateFrequency( void );
|
||||
|
||||
} ;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -59,6 +59,10 @@ notePlayHandle::notePlayHandle( instrumentTrack * _it,
|
||||
m_arpNote( _arp_note ),
|
||||
m_muted( FALSE )
|
||||
{
|
||||
connect( m_instrumentTrack, SIGNAL( baseNoteChanged() ),
|
||||
this, SLOT( updateFrequency() ) );
|
||||
updateFrequency();
|
||||
|
||||
setFrames( _frames );
|
||||
if( !configManager::inst()->value( "ui",
|
||||
"manualchannelpiano" ).toInt() )
|
||||
@@ -391,4 +395,15 @@ bool notePlayHandle::operator==( const notePlayHandle & _nph ) const
|
||||
|
||||
|
||||
|
||||
|
||||
void notePlayHandle::updateFrequency( void )
|
||||
{
|
||||
m_frequency = m_instrumentTrack->frequency( this );
|
||||
}
|
||||
|
||||
|
||||
|
||||
#include "note_play_handle.moc"
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user