changed the way selection works, and the general editing feel of piano roll. See ChangeLog for more details.

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1837 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Andrew Kelley
2008-11-13 20:12:57 +00:00
parent e609b6fcc7
commit be67937c63
8 changed files with 310 additions and 44 deletions

View File

@@ -90,7 +90,8 @@ public:
detuningHelper * _detuning = NULL );
note( const note & _note );
virtual ~note();
void setSelected( const bool selected );
void setLength( const midiTime & _length );
void setPos( const midiTime & _pos );
void setKey( const int _key );
@@ -99,6 +100,16 @@ public:
void quantizeLength( const int _q_grid );
void quantizePos( const int _q_grid );
inline bool operator<(const note & rhs)
{
return m_pos < rhs.pos();
}
inline bool getSelected( void ) const
{
return m_selected;
}
inline midiTime endPos( void ) const
{
const int l = length();
@@ -177,7 +188,7 @@ private:
ChangePosition
} ;*/
bool m_selected; // for piano roll editing
int m_key;
volume m_volume;
panning m_panning;

View File

@@ -74,7 +74,7 @@ public:
note * rearrangeNote( const note * _note_to_proc,
const bool _quant_pos = TRUE );
void rearrangeAllNotes( void );
void clearNotes( void );
inline const noteVector & notes( void )

View File

@@ -250,8 +250,10 @@ private:
bool mouseOverNote( void );
note * noteUnderMouse( void );
noteVector::const_iterator noteIteratorUnderMouse( void );
// turn a selection rectangle into selected notes
void computeSelectedNotes( bool shift );
void clearSelectedNotes( void );
friend class engine;