ModPlug Central

OpenMPT Development (Archive) => Feature Requests => Topic started by: pelya on February 01, 2007, 20:55:12

Title: Moovy-Groovy-Copy&Paste
Post by: pelya on February 01, 2007, 20:55:12
How about having multiple clipboard buffers like in later version of Microsoft Word?
However in Word they done it so lame ... that filthy window that pops up to obscure your document when you accidentally hit Ctrl-C twice ... and you should paste with mouse and close it with mouse too, and I'm a tractorist (use only a keyboard in hacking mode).
So I came up with this: you press Ctrl-C twice in a row, block is pushed to second buffer and so on. To paste you should press Ctrl-V twice - first time it pastes from first buffer, second time undoes the change and pastes from second buffer.
But what about Fancy-Dancy-Cut&Paste - it uses same technique to paste with different base corner. Right now it enabled for both Copy and Cut - i think to remember corner only for Cut (it's designed for moving, not copying), and if Copy applied - paste from upper-left corner as usual.
So with e.x. 3 buffers buffers in memory pasting will be like this: first time you hit Ctrl-V first buffer pastes from original corner position, second hit - second buffer, third hit - third buffer, fourth hit will paste first buffer from another corner and so on.
To delete buffer you just paste there an empty note.
And then you'll end up with pressed and stuck V key that can be released only with screwdriver  ::)  .
So... Any comments or suggestions?
Title: Moovy-Groovy-Copy&Paste
Post by: LPChip on February 01, 2007, 21:43:58
Although I can see benefit for multiple clipboards, the way you describe it is way to technical that will probably only confuse people rather than making this program easy.

I don't really need multiple clipboards either. Usually what I copy and paste is so little that I don't see a reason for requiring this. In word and excel and those things, yes, but in a tracker? Really?
Title: Moovy-Groovy-Copy&Paste
Post by: Snu on February 01, 2007, 21:58:59
i like the idea of multiple copy/paste buffers, but an easier way to use it i think would be to have a shortcut to switch which buffer is 'active', and there could be a part in the toolbar that would have a combo box showing which clipboard is active, and allowing selecting via the mouse.  whatever it is, it needs to be pretty obvious, so new users wont wonder 'what the heck happened to my copy???'.
Title: Moovy-Groovy-Copy&Paste
Post by: pelya on February 02, 2007, 14:30:04
Okay, seems that the feature isn't actually needed.
Title: Moovy-Groovy-Copy&Paste
Post by: Saga Musix on February 02, 2007, 17:29:54
No, i think it's great, really.

I accidently copy parts of patterns while i have a needed pattern in the clipboard... this would help a lot. also, when i copy some text from notepad or copy a sample, the pattern data is lost. this is also bad....
Title: Moovy-Groovy-Copy&Paste
Post by: Sam_Zen on February 03, 2007, 00:57:43
Just a bad mistake, actually. One I'm making also occasionally. A matter of the wrong order of actions.
And I wonder if some construction to avoid these user-mistakes will help much. You'll have new frames, more clicks to do, etc.

If sometimes the occasion occurs to do a second copy/paste, while the first one isn't pasted yet, one can also create buffers with files. To save a copy of some text temporary, one could paste it in an empty ascii-file. The same with parts of patterns.
Open a new, empty module in the same session, and use it to store things away for a moment.
I admit, this produces more frames and clicks also..
Title: Moovy-Groovy-Copy&Paste
Post by: LPChip on February 03, 2007, 02:28:54
In order to make this the best workable, I'd suggest to create several buffers which you can set using hotkeys/mouseclicks. Copy/pasting then will use that buffer. I would certainly move sampledata and instrument data to different buffers and I guess that in addition, an option to move the current content of the clipboard can be copied to the windows clipboard so you can move it outside modplug is a good way to support this.

Another alternative would be keeping a history which you can toggle using hotkeys.

So you copy, and before it gets in the buffer, the content of buffer 1 is being moved to buffer 2, buffer 2 is being moved to 3 etc... then the content is being placed in buffer 1. You want older data, then press ctrl-alt-2 or so to paste that data. Or maybe pasting several times could work, but if you'd do that, I suggest to make it optional so you can disable this incase you'd accidentally double paste...
Title: Moovy-Groovy-Copy&Paste
Post by: Saga Musix on February 03, 2007, 22:33:27
Yes, a simple history buffer which holds the last patterns and wave data would be the beast and simplest method... you could hit a shortcut to select a former data then...
Title: Some kind of summary
Post by: pelya on February 05, 2007, 17:25:31
Currently any cut/copy/paste uses Windows clipboard.
The alternative is to create inside ModPlug a different clipboard for each type of data - pattern block, whole pattern, sample block or instrument envelope. It can overwrite Windows clipboard if needed, but I think that's not needed, because it can be useful only to transfer data to another ModPlug instance, and since ModPlug may open multiple documents that's a rare case ( exception is the sample data which is the wave data that can be copied from/to standard Windows Sound Recorder tool - I've just learned this :D ).
So, final user interface I think of should look like this:
On the main toolbar there should be combobox with number of currently active buffer. That should be duplicated in "Edit" menu with submenu "Active copy buffer" and group of radiobuttons there. Also there may be four (I think that's enough :wink: ) little buttons on GUI of pattern/sample/instrument editor that will change color if we copy something or select another buffer. If user clicks second button then second buffer is selected and block pastes from there and so on.
For selection of the buffer there will be shortcut keys like Ctrl-Alt-1. Also there will be togglable off :P  feature to hit Ctrl-C/Ctrl-V several times to copy to/paste from different buffer - that won't change active buffer number, feature will have it's own buffer counter. Fancy-Dancy-Cut&Paste corner rotation (if fancydanciness enabled at ModPlug options at all) should be done after user tried to paste from all available buffers ( look what is fancydanciness  in ModPlug v 1.17.02.46, if Relabs will keep that version number and doesn't strip the actual feature at all 'cause it's hackishly implemented and noone voted for it on forum :? ).
Also when switching between Pattern/Sample/Instrument tab active buffer number should be updated to last one used in that tab.
And also there will be good to update copy routines to copy all instrument data, not just envelope.
Wow. A lot of text. Have you read through all of that? :shock:
Title: Re: Moovy-Groovy-Copy&Paste
Post by: Saga Musix on March 12, 2013, 19:47:44
In the latest test versions, you can use more than one internal clipboard. However, I have implemented it in a way so that you can cycle through these clipboards using shortcuts, instead of having to press Ctrl+V several times.
Title: Re: Moovy-Groovy-Copy&Paste
Post by: LPChip on March 12, 2013, 21:49:44
I'm using a clipboard manager nowadays actually (ClipX (http://www.portablefreeware.com/index.php?q=clipx&m=)), so I don't realy need it anymore, and it works great with OpenMPT although I may have only used it once or twice. I use CTRL-SHIFT-V to get the list of clipboard items, select what I want to paste, and it then sets it as the clipboard then issues a CTRL-V to paste the data. If it for some reason cannot paste, then you can manually paste it yourself.

But its a good feature nontheless.
Title: Re: Moovy-Groovy-Copy&Paste
Post by: Saga Musix on March 13, 2013, 01:55:46
Well, one nice thing with OpenMPT's clipboard manager is that you actually see the size of the clipboard selection (rows * columns, or number of orders in case of multi-pattern copying), which you won't get with external applications.
Title: Re: Moovy-Groovy-Copy&Paste
Post by: LPChip on March 13, 2013, 11:50:13
Ah, that is nice indeed. :)