unify method to set a base note

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@147 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Javier Serrano Polo
2006-06-05 18:31:51 +00:00
parent 5034c4f4d5
commit 690fb87f5e
4 changed files with 25 additions and 19 deletions

View File

@@ -121,10 +121,8 @@ public:
volume getVolume( void ) const;
void FASTCALL setSurroundAreaPos( const QPoint & _p );
const QPoint & surroundAreaPos( void ) const;
// base-tone stuff
void FASTCALL setBaseTone( tones _new_tone );
void FASTCALL setBaseOctave( octaves _new_octave );
void FASTCALL setBaseNote( Uint32 _new_note );
inline tones baseTone( void ) const
{
@@ -176,6 +174,10 @@ public slots:
void toggledInstrumentTrackButton( bool _on );
signals:
void baseNoteChanged( void );
protected:
// capture close-events for toggling instrument-track-button
virtual void closeEvent( QCloseEvent * _ce );
@@ -258,6 +260,10 @@ private:
friend class presetPreviewPlayHandle;
friend class flpImport;
// base-tone stuff
void FASTCALL setBaseTone( tones _new_tone );
void FASTCALL setBaseOctave( octaves _new_octave );
signals:
void noteDone( const note & _n );

View File

@@ -475,10 +475,7 @@ bool flpImport::tryImport( trackContainer * _tc )
case FLP_MiddleNote:
data += 8;
it->setBaseTone( static_cast<tones>( data %
NOTES_PER_OCTAVE ) );
it->setBaseOctave( static_cast<octaves>( data /
NOTES_PER_OCTAVE ) );
it->setBaseNote( data );
it->m_pianoWidget->update();
break;

View File

@@ -221,7 +221,7 @@ void pianoWidget::mousePressEvent( QMouseEvent * _me )
if( _me->button() == Qt::LeftButton )
{
// get pressed key
int key_num = getKeyFromMouse( _me->pos() );
Uint32 key_num = getKeyFromMouse( _me->pos() );
if( _me->pos().y() > PIANO_BASE )
{
int y_diff = _me->pos().y() - PIANO_BASE;
@@ -250,10 +250,7 @@ void pianoWidget::mousePressEvent( QMouseEvent * _me )
}
else
{
m_instrumentTrack->setBaseTone( static_cast<tones>(
key_num % NOTES_PER_OCTAVE ) );
m_instrumentTrack->setBaseOctave( static_cast<octaves>(
key_num / NOTES_PER_OCTAVE ) );
m_instrumentTrack->setBaseNote( key_num );
}
// and let the user see that he pressed a key... :)
@@ -328,10 +325,7 @@ void pianoWidget::mouseMoveEvent( QMouseEvent * _me )
}
else
{
m_instrumentTrack->setBaseTone( (tones)
( key_num % NOTES_PER_OCTAVE ) );
m_instrumentTrack->setBaseOctave( (octaves)
( key_num / NOTES_PER_OCTAVE ) );
m_instrumentTrack->setBaseNote( key_num );
}
}
// and let the user see that he pressed a key... :)

View File

@@ -821,13 +821,23 @@ const QPoint & instrumentTrack::surroundAreaPos( void ) const
void instrumentTrack::setBaseNote( Uint32 _new_note )
{
setBaseTone( (tones)( _new_note % NOTES_PER_OCTAVE ) );
setBaseOctave( (octaves)( _new_note / NOTES_PER_OCTAVE ) );
eng()->getSongEditor()->setModified();
emit baseNoteChanged();
}
void instrumentTrack::setBaseTone( tones _new_tone )
{
if( _new_tone >= C && _new_tone <= H )
{
m_baseTone = _new_tone;
}
eng()->getSongEditor()->setModified();
}
@@ -839,7 +849,6 @@ void instrumentTrack::setBaseOctave( octaves _new_octave )
{
m_baseOctave = _new_octave;
}
eng()->getSongEditor()->setModified();
}