From bbb7bcc4c9af9a64a4200bdf37c2b1274e4cb4ae Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 16 Dec 2008 00:01:27 +0000 Subject: [PATCH] if you move *or resize* a single note, it is deselected after the move to allow note editing git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1934 0778d3d1-df1d-0410-868b-ea421aaaa00d --- ChangeLog | 4 ++-- TODO | 3 ++- include/piano_roll.h | 3 ++- src/gui/piano_roll.cpp | 5 +++++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8dc4f7492..8bebfde2d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,8 +8,8 @@ * include/piano_roll.h: * src/gui/piano_roll.cpp: - - if you move a single note, it is deselected after the move to allow - note editing + - if you move or resize a single note, it is deselected after the move + to allow note editing - if you pressed both controls at the same time, the piano roll would get stuck in selection mode (FIXED) - shift drag on an unselected note didn't work (FIXED) diff --git a/TODO b/TODO index fd5a4a969..ff6285963 100644 --- a/TODO +++ b/TODO @@ -52,6 +52,8 @@ - add FLAC as export-format? Andrew Kelley's todo: +- when you resize a note, it should deselect single notes too +- when looking at a piano roll, if the song is playing that pattern, move the position ticker to where it should be - multiview button - show notes from every instrument in the current beat+bassline with different colors - undo/redo for piano roll - add a tools menu to piano roll @@ -59,7 +61,6 @@ Andrew Kelley's todo: * humanizing tool * quick slice * look through FL Studio's tools and implement some of them -- when looking at a piano roll, if the song is playing that pattern, move the position ticker to where it should be - slice tool for piano roll - recording automation diff --git a/include/piano_roll.h b/include/piano_roll.h index 7b6aea303..d7d950416 100644 --- a/include/piano_roll.h +++ b/include/piano_roll.h @@ -219,7 +219,8 @@ private: toolButton * m_drawButton; toolButton * m_eraseButton; toolButton * m_selectButton; - + toolButton * m_detuneButton; + toolButton * m_cutButton; toolButton * m_copyButton; toolButton * m_pasteButton; diff --git a/src/gui/piano_roll.cpp b/src/gui/piano_roll.cpp index eb2a0b3f1..44921cdbc 100644 --- a/src/gui/piano_roll.cpp +++ b/src/gui/piano_roll.cpp @@ -1795,6 +1795,10 @@ void pianoRoll::mouseReleaseEvent( QMouseEvent * _me ) m_pattern->rearrangeAllNotes(); + } + if( _me->button() & Qt::LeftButton && + ( m_action == ActionMoveNote || m_action == ActionResizeNote ) ) + { // if we only moved one note, deselect it so we can // edit the notes in the note edit area if( selectionCount() == 1 ) @@ -1802,6 +1806,7 @@ void pianoRoll::mouseReleaseEvent( QMouseEvent * _me ) clearSelectedNotes(); } } + if( validPattern() == true ) {