Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Key map update for June 2024 #1076

Open
3 of 4 tasks
ScottChesworth opened this issue May 11, 2024 · 35 comments
Open
3 of 4 tasks

Key map update for June 2024 #1076

ScottChesworth opened this issue May 11, 2024 · 35 comments
Assignees

Comments

@ScottChesworth
Copy link
Collaborator

ScottChesworth commented May 11, 2024

This is where we'll be discussing and tracking work on the next OSARA key map update, aiming to merge at the end of June 2024. All changes are documented in this top post, feel free to try a test build below.
Please raise any concerns or alternative suggestions in the comments. Note that we're now only considering urgent issues, as we're nearing the end of the month.
Download OSARA for Windows with June key map changes
Download OSARA for Mac with June key map changes

Main Section Additions and Changes:

  • Moved "Solo Exclusive previous track" and "Solo exclusive next track" to Win+PageUp and Win+PageDown, because the prior bindings were taken over by Win11.
  • Moved "Item: Open in built-in MIDI editor (set default behavior in preferences)" to unmodified E.
  • Moved "SWS/PADRE: Envelope processor" to Control+Alt+E, makes more mnemonic sense as it can generate envelopes for takes and tracks (hence Control and Alt modifiers).
  • Added "OSARA: Report tempo and time signature at play cursor; press twice to add/edit tempo markers" on unmodified O key, replacing "SWS/PADRE: Envelope LFO generator". We've replaced the LFO Generator because it crashes in a handful of easily reproduced situations and doesn't seem to be getting any fixes from SWS yet.
  • Added "Time selection: Move contents of time selection to edit cursor (moving later items)" on unmodified X.
  • Added "Time selection: Copy contents of time selection to edit cursor (moving later items)" on unmodified C.
    Note: Cockos specifically designed these two move/copy actions to opperate with a single click, hence the rationale for assigning them to single letter shortcuts.
  • Moved "Item: Copy selected area of items" to Control+Shift+C, because Windows had long-since commandeered the prior keystroke. Now unifying all the "selected actions under one set of modifiers...
  • Moved "Item: Cut selected area of items" to Control+Shift+X.
  • Moved "Item: Trim items to selected area" to Control+Shift+T.
  • Moved "Item: Remove selected area of items" to Control+Shift+Delete.
  • Moved "Take: Delete active take from items (prompt to confirm)" to Control+Win+Delete.
  • Moved smart copy to Shift+C.
  • Moved "smart cut" to Shift+X.
  • Added "Reset all MIDI devices" to Shift+F3, goes hand in hand with F3 to send all notes off.
  • Add "Reset all MIDI control surface devices" to Control+F3.

MIDI Editor Section Additions and Changes:

  • Added "Edit: Insert CC event at edit cursor in current lane" on Control+I.
  • Added "Select all CC events in last clicked lane" on Control+Alt+C.
  • Added "Unselect all CC events in last clicked lane" on Control+Alt+U.
  • Moved "Invert selection" to Alt+I.
  • Added Enter as an additional keystroke for "Edit: Event properties". Requested by @Timtam.
  • Added "Edit: Select all notes" on Control+Alt+A.
  • Moved "Edit: Copy events within time selection, if any (smart copy)" to Shift+C, matching Main section.
  • Moved "Edit: Cut events within time selection, if any (smart cut)" to Shift+X, matching Main section.
  • Added "Edit: Select all CC events in time selection (in last clicked CC lane)" on Control+Shift+C.
  • Added "Edit: Select all CC events in time selection (even if CC lane is hidden)" on Control+Alt+Shift+C.

Development tasks:

@pitermach
Copy link

Fitting in the theme of removing/replacing SWS related actions what do you think about #737? It will probably require some further discussion and development time but personally I think it would be useful.

@ScottChesworth
Copy link
Collaborator Author

what do you think about #737?

I like it. Having dry run variants available as actions is great of course, but there's no way we can map them all. A single keystroke acting on context would be something I'd use a lot and I think could make checking loudness less intimidating for new users.
Hmm, the menu structure presenting all the available options feels like it's a bit beyond the scope of OSARA, but that could also be a gut reaction to me being horrible at writing that sort of C++ at the moment lol.
Re the key mapping, if we add this new action, what do you think about putting it on Control+Alt+U seeing as it applies to both items and tracks? That would mean switching "Item: Move items to subproject (non-destructive glue)" to Control+Shift+U instead, because generally working with items is on Control.

@pitermach
Copy link

pitermach commented May 11, 2024 via email

@ptorpey
Copy link

ptorpey commented May 11, 2024 via email

@ptorpey
Copy link

ptorpey commented May 11, 2024 via email

@ScottChesworth
Copy link
Collaborator Author

For some people it would be nice to easily get to all of those options, but for others, they just might want to have a single keystroke to perform an action.

The people who need all the options can get to those using the actions list, they could also set up render presets if they're not comfortable with remembering all the terminology and variants.
A single keystroke that could dry run acting on context is what I'm more likely to try working on here, got a hunch that adds something new and useful. IE,

  • Select the master track and hit our new action, it dry runs master for entire project length.
  • If you select master and there's a time selection set, then we dry run master within time selection instead.
  • Select an item and hit it, we dry run that.
  • Ditto track or multiple tracks.

What I can't work out is how we'll report what's being dry run reliably. I think I see a way to speak a summary soon after the dry run has started using a recently added callLater function, but hmm, the process starting then we report what's happening seems weird to me. I do think there's something in this though, will keep thinking.

@ptorpey
Copy link

ptorpey commented May 11, 2024 via email

@pitermach
Copy link

pitermach commented May 11, 2024 via email

day-garwood added a commit to day-garwood/osara that referenced this issue May 14, 2024
Formatted code to conform to overall project and based on additional suggestions by @jcsteh in PR jcsteh#1073.

Removed keymap entries from config and readme due to ongoing discussion about possible reassignment (see issue jcsteh#1076).
@ScottChesworth
Copy link
Collaborator Author

while the calculation is running you see the standard reaper rendering progress screen, so knowing what's happening is mostly apparent.

On a decently powerful computer, yeah. However, I've seen plenty of machines where trying to navigate when that screen is being shown was like dancing in quicksand with a shoe full of glue.

@FelipeZanabria
Copy link

I think that the Close this project tab action mapped to ctrl+F4, could be mapped to ctrl+W, being consistent with Windows with respect to tab and shift+tab, which moves through the project tabs.
Currently the action "Automation: Write the Moves that have just been made in all Write envelopes from the cursor to the end of the project", is mapped to ctrl+W, which could be mapped to ctrl+alt+W.
What do you think?

@MatejGolian
Copy link
Contributor

I'd have a MIDI editor suggestion.
Could we map "Edit: Insert CC event at edit cursor in current lane" to plain C and remap "Edit: Toggle selection of all CC events under selected notes to Shift+C"? Remapping the latter action to use Shift as a modifier feels logical since the Shift key is often associated with selection.

@MatejGolian
Copy link
Contributor

In case the CC lane update makes it into a public release, could we map the action Select all CC events in last clicked lane (ID 40668) to Ctrl+Alt+A?

@ScottChesworth
Copy link
Collaborator Author

I've added those MIDI editor suggestions to the top post, thanks.
One concern, "Edit: Insert CC event at edit cursor in current lane" requires REAPER 7.16. It was released on 21st May. Feels a bit soon to assume all users will have that. Any advice @jcsteh?

@jcsteh
Copy link
Owner

jcsteh commented Jun 9, 2024

I mean... that action just won't work for users who are running 7.15 or earlier. It is what it is. I don't know what you want me to say, LOL.

@jcsteh
Copy link
Owner

jcsteh commented Jun 9, 2024

Unless you're concerned that 7.16 bindings will break 7.15 and earlier? I don't think they will. My guess is it'll just be like a binding for an action in an extension which isn't installed, which just means that binding does nothing.

@MatejGolian
Copy link
Contributor

MatejGolian commented Jun 13, 2024

@ScottChesworth, I have suggestions for more MIDI editor changes if you don't mind.

  1. Ctrl+Alt+A - Edit: Select all notes
  2. Ctrl+Alt+C - Select all CC events in last clicked lane
  3. Ctrl+Alt+Shift+C - Unselect all CC events in last clicked lane
  4. Ctrl+Shift+C - Edit: Select all CC events in time selection (in last clicked CC lane)
  5. Shift+C - Edit: Copy events within time selection, if any (smart copy)
    I think you see the pattern here (A for notes and C for CCs in the last clicked lane). Regarding the Shift+C command, that should than be in line with what you're planning to do outside of the MIDI editor.

@MatejGolian
Copy link
Contributor

@ScottChesworth, I've updated my wish list in my previous comment a bit. 🙂

@ScottChesworth
Copy link
Collaborator Author

Top comment updated, couple of questions to think on in the MIDI Editor section. Any entries with an unchecked check box at the beginning are things I'm not so sure about.

@MatejGolian
Copy link
Contributor

Good idea about swapping the commands for selecting CCs as it really feels more logical, but in that case I would propose using Ctrl+Alt+Shift+A for note selection instead - consistency is key.
Could Edit: Toggle selection of all CC events under selected notes be mapped to Ctrl+Alt+Shift+U? "U" as in under selected notes? The Ctrl+Alt+Shift modifier would make it consistent with those other 2 commands plus probably that's not such a widely used action so better keep the simpler modifiers free for something more essential.

@ScottChesworth
Copy link
Collaborator Author

Hmm I don't love the amount of Control+Alt+Shift that's creeping in here man. Multiple people have griped that they find that a tricky combination of modifiers, plus we have more users who have some difficulties around dexterity nowadays. Let's both keep thinking...

@MatejGolian
Copy link
Contributor

I can definitely see that point. Anyway I hope we manage to find a solution that will result in the key map being reasonably consistent.
IMO we probably won't be able to avoid the Ctrl+Shift+Alt modifier anyway - it's just a matter of what commands we will be using it with.
BTW, I bet that Ctrl+Shift+Alt+A annoys you the most. It annoys me as well, it's just that I think it would feel nice if there was an analogy between selecting all notes and selecting all CCs in the current lane. Regarding CCs, we could also use Alt+Shift+C for something, and there's also room for using a different key/modifier for toggling CC selection under selected notes, but as you know maintaining consistency can get difficult - like in the aforementioned case.
Ctrl+Alt+A feels right for selecting all notes, but than it's incosistent with selecting/unselecting CCs.

@MatejGolian
Copy link
Contributor

I've got another one for ya. It's not that consistent, but perhaps it isn't all that bad after all:
Ctrl+Alt+A - Edit: Select all notes
Alt+Shift+C - Select all CC events in last clicked lane
Ctrl+Alt+C - Unselect all CC events in last clicked lane
Ctrl+Alt+Shift+C - Edit: Toggle selection of all CC events under selected notes
Ctrl+Alt+A would be back and all the CC commands would use the C key in one way or another.

@Timtam
Copy link

Timtam commented Jun 16, 2024

Another thing that just came to mind @ScottChesworth. I often run into a situation where I, either intentionally or unintentionally, unplug a MIDI device while REAPER is open. There are two ways to resolve this, I think, either restarting REAPER or opening preferences, going into the MIDI device category and hitting the Reset all MIDI devices button. Both of them are really tidious to do, and I have seen various students doing the same thing when things like these happen. Wouldn't it be more convenient to:

  1. Add speech feedback to the action and
  2. map it to some key on the main keymap? It doesn't need to be prominently placed, just so that you have quicker access, anyone who frequently needs it will remember it anyway.

@ScottChesworth
Copy link
Collaborator Author

I don't think I knew there was an action for that. Neat! Will get that done.

@ScottChesworth
Copy link
Collaborator Author

Another one, should add feedback for "Send all-notes-off and all-sounds-off to all MIDI outputs/plug-ins" while I'm at it. That's been on F3 forever. Resetting can go on Shift+F3.

@MatejGolian
Copy link
Contributor

@Timtam, great idea. I didn't know about that action either. That one will be a game changer.
And @ScottChesworth (and everyone else), what do you say to the suggestions in my previous comment?

@MatejGolian
Copy link
Contributor

If Shift+C gets mapped to Edit: Copy events within time selection, if any (smart copy), shouldn't Edit: Cut events within time selection, if any (smart cut) than be remapped to Shift+X? Unfortunately though, the action Edit: Paste preserving position in measure that's currently mapped to Ctrl+Shift+V can't be remapped according this same logic. Not saying that Ctrl+Shift+X or V absolutely have to be remapped - just have been wondering about this.

@MatejGolian
Copy link
Contributor

Another thing I'd suggest regarding CC actions is dropping Edit: Toggle selection of all CC events under selected notes and mapping Edit: Select all CC events in time selection (even if CC lane is hidden) instead. Of course the latter action behaves different, but it allows you to do the same thing plus more since you have more precise control over which section you want to select CCs from.

@ScottChesworth
Copy link
Collaborator Author

Top comment updated. This is likely what I'll build for wider testing unless there are any objections soon. Most amount of changes are in the MIDI Editor section.

@Timtam
Copy link

Timtam commented Jun 24, 2024

This one is in there twice:

• Added "Select all CC events in last clicked lane" on Control+Alt+C.

Thats all though. Still thinking about where to put the Solo in front actions though, thats the only thing open atm right?

@ScottChesworth
Copy link
Collaborator Author

DOH! Fixed it, thanks. It's solo previous and next track exclusive we need new homes for, not solo in front.

@Timtam
Copy link

Timtam commented Jun 24, 2024

Yeah, thats the one I meant, had a decently stinky brainfart there.

@MatejGolian
Copy link
Contributor

If it's OK, I'll rather comment here instead of starting a new issue.
For a future update, could we add the CC movement commands to the key map? It seems that people do want to use them. Dunow about the letter to use though.

@jcsteh
Copy link
Owner

jcsteh commented Jul 9, 2024

This issue is still open, but it should probably be closed since the PR associated with it is merged. I would suggest filing a new issue, since otherwise, this request is likely to get lost.

@MatejGolian
Copy link
Contributor

@jcsteh, thanks. 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants