Thanks to the wait-for-input patch: D12255 it is now possible to expose some of the mouse position based functions in the menus.
This patch exposes these functions:
Scrub Strip Solo.
Jog +/-.
Pick side of current frame.
Pick both neighbors.
Pick linked in channel
Pick linked in time.
Details
Diff Detail
Event Timeline
SEQUENCER_OT_select_side_of_frame does not depend on cursor position, so that is correct behavior. It can have mouse cursor mode, but then this can't be supported with OPTYPE_DEPENDS_ON_CURSOR because that will insert that modal loop before execution.
| release/scripts/startup/bl_ui/space_sequencer.py | ||
|---|---|---|
| 470 | Why not use sequencer.select_linked_pick? | |
| 550 | Names shouldn't contain / character if I am not mistaken. | |
The question here is how to expose the ctrl+mouse click on either side of the playhead, which does depend on the mouse position.
As mentioned above does the new function allow for some functions exposed in the menus, but several of them do not work and/or do not show the correct shortcuts. Maybe this should be a bug report instead? Or a To Do(but not something I'll be able to do)?
These are not working:
layout.operator("sequencer.select", text="Pick Time").linked_time = True # doesn't show Ctrl+Left Mouse shortcut.
SEQUENCER_OT_select_side_of_frame - doesn't work with wait for input.
layout.operator("screen.frame_offset", text="Jog") Alt + mouse wheel doesn't work and doesn't show shortcut keys.
And this T90619 is broken is so many ways, adding wait for input will not solve the problems with it.
These are working:
layout.operator("sequencer.select", text="Pick Both").linked_handle = True #both handles
layout.operator("SEQUENCER_OT_select_linked_pick", text="Pick") # select adjoined strips
Btw. Mute/Hide menu uses a slash.
Ctrl+LMB is assigned to sequencer.select operator.
As mentioned above does the new function allow for some functions exposed in the menus, but several of them do not work and/or do not show the correct shortcuts. Maybe this should be a bug report instead? Or a To Do(but not something I'll be able to do)?
These are not working:
layout.operator("sequencer.select", text="Pick Time").linked_time = True # doesn't show Ctrl+Left Mouse shortcut.
This is probably, because with Ctrl+LMB shortcut both linked time and side of frame is set. This works, because one mode works only when you click on empty space, another only when you click on strip. I think these should be separated into own operators ideally. especially when there is another select_side_of_frame operator...
SEQUENCER_OT_select_side_of_frame - doesn't work with wait for input.
Yes, because it doesn't depend on mouse position
layout.operator("screen.frame_offset", text="Jog") Alt + mouse wheel doesn't work and doesn't show shortcut keys.
I haven't look but this one probably doesn't depend on mouse position too. Though Alt + mouse wheel works fine for me.
Added:
Scrub Strip Solo.
Nudge +/-
Pick side of current frame.
Pick both neighbors.
Pick linked in channel
Pick linked in time.
Alt+mouse doesn't seem to possible to expose in the menus, instead nudge has been exposed.
Correct shortcuts for Jog(renamed from nudge).
NB. Scrub Strip Solo is showing Left Click as shortcut. This works in modal context, however it would be better if Shift + Right Click was showed.
Select linked in time is not displaying the shortcut: Ctrl+Left Mouse(in empty sequencer area).
Unless there is a way to fix the Scrub Strip Solo shortcut key, I think this patch is good to go.
Note: exposing SEQUENCER_OT_select_linked_pick implies this operator should be included in other areas too, eg:
ARMATURE_OT_select_linked_pick, POSE_OT_select_linked_pick, CURVE_OT_select_linked_pick, MASK_OT_select_linked_pick, MESH_OT_select_linked_pick, PARTICLE_OT_select_linked_pick, PAINT_OT_face_select_linked_pick, UV_OT_select_linked_pick.
This kind of change should not be done per-editor, so best first get agreement from the UI team on this.
Suggest to keep this patch for sequencer spesific operators only, other changes can be proposed and applied separately.
| release/scripts/presets/keyconfig/keymap_data/blender_default.py | ||
|---|---|---|
| 3192 ↗ | (On Diff #42997) | Why is this needed? |
This patch didn't make it into 3.0. As I do not have anymore time or motivation for a continued investment in the Blender project, I'm giving up on this patch for now.