SuperDisk / hUGETracker

The music composition suite for the Nintendo Game Boy
https://superdisk.github.io/hUGETracker/
280 stars 12 forks source link

More Keyboard Shortcuts, Big list #15

Open RichardULZ opened 4 years ago

RichardULZ commented 4 years ago

Big dump of possible shortcuts, trying to cater to OpenMPT users and Milkytracker users.

Play shortcuts! Shift enter & F5 (Play from Cursor) Ctrl enter & F6 (Play from Start) Enter & F7 (Play Current order / pattern) Escape & F8 (Stop/Panic)

Alternate Note key maps

OpenMPT mode
C3-C4-C5-A5 OpenMPT current
Qwertyuiop[ ]  asdfghjkl;'\ zxcvbnm,./
MilkyTracker mode
C3-B3= zSxDcvGbHnJm      C4-E4= , L . ; / 
C4-C5= q2w3er5t6y7ui     C5-F5= 9o0p[ =] 
Dare i ask about azerty and other key types? :/
Perhaps it needs to be exposed with import presets....

Change active instrument Shift Minus - and Shift Plus += next to backspace? OpenMPT has ctrl numpad / * which sucks, and Ctrl Up Down which are far away... Milky doesn't have one except fasttracker2 mode. Active inst and Active Octave are something i change frequently, but never have good shortcuts Change active octave Plus and Minus but Milky uses = for F#5... so one might have to go in this mode Milky has Ctrl Shift 1-8

Insert and delete row Insert(insert Row on pattern) Ctrl Insert (insert Row on whole order) BackSpace(Remove Row on pattern) Ctrl Backspace (Remove Row on whole order) OpenMPT uses Ctrl, but Milkytracker uses shift, could do both?

Movement Up or Down key at edge of tracker page to cycle through Order pages. Page Up Page Down move in 16ths TAB in most trackers, moves across channels, for more keyboard only movement, would be nice when in tracker only. Ctrl Arrow keys left and right to change between orders is default in openMPT

Selection Ctrl A select entire pattern, (milky has, openMPT doesn't use) Ctrl Shift A Select channel? (Ctrl L is good too, but far away? not so bad)

Redo In addition to Ctrl Y, Ctrl Shift Z

Fake alternative to Record mode? Space bar in Milky, CtrlSpace in OpenMPT, but useless Milky users swear by this, used to test notes out before advancing by steps. Normally disables editing the pattern, but instead I propose... Use Space bar to toggle step size between 0 and UserStepSize or 1

Navigation This one's new to me, but In OpenMPT you can use Alt and G, P, S, C To jump between viewers, milky tracker has the same but with Ctrl Alt. G for General, P for Patterns, S / I for samples and instruments, C for comments or config, i guess W for wave? These allow close to full keyboard only support.

Not a keyboard shortcut Click and drag a selection to move (cut paste) Like OpenMPT? Probably a feature request worth in itself.

That's a big as list, would like to get @DeerTears / ember's thoughts as they prefer Milkytracker to OpenMPT

DeerTears commented 4 years ago

Oh thanks for @ -ing me. I need to use UGE more to test out those keyboard shortcuts, also note that I use FT2 shortcuts in Milky but just tried the normal ones and tried to be conscious of those differences. Anyways here's my big input:

I'd love to make issues for many of these but I'm gonna post one big comment since this might inform the decisions you're making right now:

I think the idea of edit mode as a whole is tacky since it mostly exists to test notes, and could be made more into a "test piano" mode enabled by Caps Lock. Milky doesn't (seem to) use Caps Lock in any way, which would free up Space. Enabling this "test piano" mode could even move the cursor to the closest Note-column, saving some arrow-key spam too when it comes off. I could make this a new issue if you'd like with more specific details?

Tab could be more useful by having it jump to the next-channel's note-column (or each channel's whatever-column configurable in options). In Milky I currently spam the arrow keys religiously because Tab is just the same use as the right arrow key, so it serves no purpose to me currently. If I knew I could cover a lot of ground with one button press (Tab), that would make me less dependent on arrow key spam for all cursor-navigation.

I REALLY like the idea of making the StepSize changed by Space and Space + Shift. This would make it worlds easier compared to using Milky's ~ to increase it and Shift + ~ to reduce it.

But...having the option to swap Enter-as-play and Space-as-play would make it more approachable to people use are used to using FL Studio, Audacity, Ableton, and other programs. I've learned to be malleable with my playback buttons because all trackers are already unconventional to most other modern DAWs. Renoise still uses Enter though. An option to switch Space and Enter around would be neat. Blender 2.8 does this well on a fresh install. This might be the best option at distinguishing user preferences between all these music programs: Enter is play = OpenMPT, Renoise and others, Space is play = Milky, Audacity and others.

From hereon out I'm just gonna assume the default is Enter = play, it's a decent migration from its OpenMPT roots.

Now, does Shift + Enter play just that one row and hold on it? I'm pretty sure that's a universal between OpenMPT and Milky, you didn't mention it so I just wanted to check. Sorry if this is already in UGE I'm really lazy/busy these days.

And lastly...personally..."drag selection to move" is my least-favourite program feature. I know this is a Windows text standard but I've always felt that text is too fine to let it work the way it wants to. It's just really inaccessible and I'd never want to count on it when there's young kids or anybody with fine-motor-difficulties who'd be unable to use it reliably.

Right click menus are nice though, I use the "right click" button on my keyboard really often. It's still not perfect in Milky since I can't use arrow keys/enter to navigate a right-click menu.

And...that's it for now.

Edit: Outlined keys in backticks and clarified some words about StepSizes.

RichardULZ commented 4 years ago

So @DeerTears Tab in tracker view, Jump to next channel Within the same selected column (note, inst, effect) is OpenMPT default, sounds good.

Context Menu Right Click Key Already works, has navigation! My keyboard removed this key for fn keys...

Drag Selection Move yes no Split off into new thread. #16

CapsLock Preview keyboard mode? Would this still enter notes without step? Otherwise sounds exactly the same as edit mode... May interfere with naming instruments/song title, needs discussion.

Space and Shift Space Change Step Size. Toggle, or step sizeUp Down, depends on if caps lock edit mode is a good idea, Understandably need a key to change step size up down for keyboard only use. OpenMPT Space currently has a weird hybrid for clearing notes, or repeating the last effect values? I guess that's how people repeat stuff with double digit columns?

Play shortcuts Space option to swap with enter key for Play Pause Note: Enter is not play in OpenMPT, only Milkytracker Defaults are F5 - F8. Does Shift + Enter play just that one row and hold on it? OpenMPT has the play 1 step/row function, but as Ctrl Enter, hUGE has no play 1 step function, may need driver editing to do this, This was my suggested shortcuts list, if we want play 1 step/row and pause, will have to modify the list, there are no implemented shortcuts for play yet.

Play shortcuts! Shift enter & F5 (Play from Cursor) Ctrl enter & F6 (Play from Start) Enter & F7 (Play from Current order / pattern) Escape & F8 (Stop/Panic)

Perhaps try UGE first, there are not many shortcuts yet, it's much more mouse focused right now. A number of non keyboard features you might want, like the tracker doesn't follow the play head, peak next pattern, center view to cursor, would be separate feature requests.

SuperDisk commented 4 years ago

@RichardULZ I took a crack at some of the things listed here today.

Play shortcuts! Shift enter & F5 (Play from Cursor) Ctrl enter & F6 (Play from Start) Enter & F7 (Play Current order / pattern) Escape & F8 (Stop/Panic)

Done!

Alternate Note key maps

Not implemented yet. I think the best way to do this is to have a file which maps keys to note constants, so anyone can create their own custom binding.

Change active instrument

Implemented as Shift Minus - and Shift Plus +=. These are indeed next to backspace, but I don't think that's a big deal.

Change active octave

Not implemented yet. I kinda like the Milky Ctrl Shift 1-8.

Insert and delete row Insert (insert Row on pattern) Ctrl Insert (insert Row on whole order) BackSpace (Remove Row on pattern) Ctrl Backspace (Remove Row on whole order) OpenMPT uses Ctrl, but Milkytracker uses shift, could do both?

Implemented with both ctrl and shift!

Movement Up or Down key at edge of tracker page to cycle through Order pages. Page Up Page Down move in 16ths TAB in most trackers, moves across channels, for more keyboard only movement, would be nice when in tracker only. Ctrl Arrow keys left and right to change between orders is default in openMPT

All done except for the last one. I guess the analog would be Ctrl + arrow keys + up/down ?

Selection Ctrl A select entire pattern, (milky has, openMPT doesn't use) Ctrl Shift A Select channel? (Ctrl L is good too, but far away? not so bad)

Ctrl A is used to increase/decrease values in the tracker grid, same as OpenMPT, so I think Ctrl L is the best option here because that's what MPT uses. I implemented Shift + Ctrl + L to select all columns.

Redo In addition to Ctrl Y, Ctrl Shift Z

Done!

Fake alternative to Record mode? Space bar in Milky, CtrlSpace in OpenMPT, but useless Milky users swear by this, used to test notes out before advancing by steps. Normally disables editing the pattern, but instead I propose... Use Space bar to toggle step size between 0 and UserStepSize or 1

I haven't touched this yet. I like the idea of toggling step size.

Navigation This one's new to me, but In OpenMPT you can use Alt and G, P, S, C To jump between viewers, milky tracker has the same but with Ctrl Alt. G for General, P for Patterns, S / I for samples and instruments, C for comments or config, i guess W for wave? These allow close to full keyboard only support.

Implemented Alt G/P/I/W/C/R.

@DeerTears Regarding your suggestions:

I like the caps lock idea, but personally I have caps lock mapped to function as an extra control key. Although I never use a step greater than zero anyway, so this wouldn't affect me, lol. I think this is a pretty decent idea, and space can be used for incrementing/decrementing step size.

I implemented the tab thing today. Enter right now does start playback, but Shift + Enter doesn't do the single row thing. That will probably be a bit of extra work, but maybe not too hard....


Thanks for the suggestions, you two! Feel free to comment more or discuss changes to the current stuff, I'm open to any ideas.

dotmatrixgirl commented 3 years ago

Home and End to hop to the beginning and end of a pattern.

Numpad / to lower octave, and numpad * to increase octave. (Milkytracker style would be fine, but this feels more standard to me)

Spacebar to toggle recording. This'll be very nice once note previews are implemented. Esc works as an alternative, possibly?

Also, Tab wrapping from last to first would be nice, Shift + Tab doing the opposite too.

SuperDisk commented 3 years ago

@Ravancloak The home/end hotkeys are already in. Note previews are also already implemented-- Did you check the options to make sure they're enabled?

I'll definitely add numpad * and / as well as tab wrapping!

Edit: When you mention the numpad's * and / keys for octave changing, do you mean increasing the tracker's current octave that new notes use, or to increase/decrease the octave under the cursor?