editing note volume and hearing clicked on notes is implemented more cleanly, editing note volume only affects selected notes (or all notes if none selected), when "scribbling" note volumes, if there is a chord, it will play all 3 notes, rather than just the first one

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1909 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Andrew Kelley
2008-12-13 02:28:24 +00:00
parent d511b43088
commit b7f4f7be6d
6 changed files with 126 additions and 127 deletions

View File

@@ -91,6 +91,7 @@ public:
note( const note & _note );
virtual ~note();
// used by GUI
inline void setSelected( const bool _selected ){ m_selected = _selected; }
inline void setOldKey( const int _oldKey ){ m_oldKey = _oldKey; }
inline void setOldPos( const midiTime & _oldPos ){ m_oldPos = _oldPos; }
@@ -98,6 +99,11 @@ public:
{
m_oldLength = _oldLength;
}
inline void setIsPlaying( const bool _isPlaying )
{
m_isPlaying = _isPlaying;
}
void setLength( const midiTime & _length );
void setPos( const midiTime & _pos );
@@ -133,6 +139,11 @@ public:
{
return m_oldLength;
}
inline bool isPlaying( void ) const
{
return m_isPlaying;
}
inline midiTime endPos( void ) const
{
@@ -212,11 +223,13 @@ private:
ChangePosition
} ;*/
// for piano roll editing
bool m_selected;
int m_oldKey;
midiTime m_oldPos;
midiTime m_oldLength;
bool m_isPlaying;
int m_key;
volume m_volume;

View File

@@ -169,6 +169,7 @@ private:
void shiftPos(int amount);
void shiftSemiTone(int amount);
bool isSelection() const;
void testPlayNote( note * n );
void dragNotes( int x, int y, bool alt );