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 ) {