LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
8.16k stars 1.01k forks source link

Quick notes duplication in the Piano Roll #1876

Open unfa opened 9 years ago

unfa commented 9 years ago

I frequently find myself doing one tedious task: copying a bunch of notes and moving them so that the head of the newly created group touches the tail of the previously present notes.

I wish a quick Ctrl+D hotkey could do this for me, it'd save me a lot of Piano-Roll time.

What do you think?

Also: same functionality for Song Editor would rock even more (but not without the ability to remove multiple selected clips at once with Delete key).

Sti2nd commented 9 years ago

Yup to this. Should it work for selected notes, like when you have selected a few notes they get duplicated and pasted at the end of the last note in the Piano Roll? Or should they then get pasted at the end of the last selected note?

Added to the table https://github.com/LMMS/lmms/issues/1488

musikBear commented 9 years ago

woulden the most common workflow be: user made one bar of notes he wants 4 identical bars he selects all ( ctrl+a hold ctrl + press D then all notes inside the selection, would be copied to pos first empty tick in first empty bar to the right

I remember i have made a similar sugestion where ctrl+ u/d arrow-keys would copy resp one octave up / dn -Also a very common work situation

In song-editor this would be an amazing new feature -a real time saver, so a huge :+1: for that too

tresf commented 9 years ago

FYI, Ctrl + D is often a deselect shortcut (also Ctrl + Shift + A)

unfa commented 9 years ago

@Stiand

Yup to this. Should it work for selected notes, like when you have selected a few notes they get duplicated and pasted at the end of the last note in the Piano Roll? Or should they then get pasted at the end of the last selected note?

That's a non-obvious choice to make. I'd say pasting a the end of all notes is safer, as it won't ever produce a situation where the user has to undo the operation to avoid stacked, overlapping notes.

How about a hybrid solution? LMMS searches for continuous free space in the piano roll that can hold the selected notes, and pastes them here, aligning to the left, so they touch older notes. This way the notes will never overlap, and the user can duplicate in the middle of a long notes sequence, if he has room for it.

Potentially Ctrl+Shift+D could paste immediately after current selection (no matter if there's room or not), but first shift latter notes forward to make space for the new notes. Similar to Shift+Insert in Song Editor:

Visual examples:

AAA - selected notes BBB - not selected notes CCC - notes created via duplication

Ctrl+D:

AAABBB AAABBBCCC

Ctrl+Shift+D:

AAABBB AAACCCBBB

@tresf

FYI, Ctrl + D is often a deselect shortcut (also Ctrl + Shift + A)

I didn't know that! In Inkscape and Corel Draw Ctrl+D is "duplicate" though ;)

Sti2nd commented 9 years ago

FYI, Ctrl + D is often a deselect shortcut (also Ctrl + Shift + A)

I added Ctrl + Shift + A to the table as deselect.

Sti2nd commented 9 years ago

I'd say pasting a the end of all notes is safer

And easier to think of / more logical. I think we should wait with extending the functionality to after this has been implemented and see how useful it is.

unfa commented 9 years ago

I agree. On 17 Mar 2015 19:35, "Stian Jørgensrud" notifications@github.com wrote:

I'd say pasting a the end of all notes is safer

And easier to think of / more logical. I think we should wait with extending the functionality to after this has been implemented and see how useful it is.

— Reply to this email directly or view it on GitHub https://github.com/LMMS/lmms/issues/1876#issuecomment-82515305.

tresf commented 9 years ago

FYI, CTRL + SHIFT + A has kindly been implemented by @Wallacoloo via #1963 (#1488)

musikBear commented 9 years ago

:+1: