mltframework / shotcut

cross-platform (Qt), open-source (GPLv3) video editor
https://www.shotcut.org
GNU General Public License v3.0
10.94k stars 1.13k forks source link

Pressing Del key while editing filter keyframes delete the track, not the selected keyframe #992

Open brunetton opened 3 years ago

brunetton commented 3 years ago

While editing filter's keyframes, pressing Del key do not delete the selected keyframe but this delete the entiere track. It's really surprising and different from all other video or audio editing software behavior I can think of in similar cases (Audacity, Ardour, Reaper, etc, and CAD softwares, Blender, etc)

Shotcut v20.11.28

ddennedy commented 3 years ago

This is more of complaint than a bug: See the shortcut reference. Shotcut does not try to overload many shortcuts and make them depend on context or what was last selected as that can be ambiguous and confusing to some. I have not yet decided whether to change it.

brunetton commented 3 years ago

This is more of complaint than a bug

Sorry, I really thought it was a bug :s

Shotcut does not try to overload many shortcuts and make them depend on context or what was last selected as that can be ambiguous and confusing to some

This would makes Shotcut the only software in the world (or almost) that doesn't have a contextual use of wildly used keys :-1:

that can be ambiguous and confusing to some

I hardly believe those "some" would ever be able to use a video editing software ! Even in a web browser (probably the most used UI by users) the Del key is contextual: when the focus is on the text you're currently editing (let's say you're editing a form) this would delete a char in that form. If the focus is in the address bar, pressing Del will delete a char in the URL. This is an international behavior. The same type is used for "back" action on mobile phones. My grandfather and my 3-years daughter both understood super easily that the "back" button means "come back to last screen". This is contextual to whatever "last screen" is. Understanding that Del key is contextual to last selected element is similar and as simple concept. I really don't get your point here, sorry !

Do you know the [https://en.wikipedia.org/wiki/Principle_of_least_astonishment](Principle of least astonishment) in UX design ? IMHO this behavior violates this principle. And deleting selected timeline clip while editing applied filters is so a not common wish that I hardly think that your "some" users may ever notice this change.

Ps: In shotcut there already are some shortcuts that are contextual. Example: Up and Down.

ddennedy commented 3 years ago

In fields focus is obvious, there is a text cursor, and backspace and delete keys do something expected and other than delete the selected timeline clip. When a field does not have focus, especially when there are multiple panels showing at the same time, it can easily be unclear what is affected by a key that can do multiple things. Some tools, for example Adobe Premiere, show that a panel has a focus with an outline color around that panel. Not only does Shotcut not have that but I think most Shotcut users would not observe it as meaningful. They already struggle to understand that things like Properties and Filters depend on what is selected. In Shotcut both Timeline and Keyframes can be visible at the same time and are not always tabbed together.

brunetton commented 3 years ago

Thanks for your answer. I hope that you don't mind to continue exchanges on this subject as I'm very sensitive to UX design; and maybe I could bring a little thing here (like my first contribution before real code contibution).

In Shotcut both Timeline and Keyframes can be visible at the same time and are not always tabbed together.

Yes I got this, and I'm using this in this way (keyframes edition on the same screen as timeline)

When a field does not have focus, especially when there are multiple panels showing at the same time, it can easily be unclear what is affected by a key that can do multiple things

Yes, this is why all video edition softwares have a way to remind user where focus is. Like you said, Adbode Premiere does that; and all other softwares I used do that. I don't know if you use Blender but something comparable is implemented in Blender: we can animate all objects properties and edit corresponding curves. Typically we can edit an object placement curve (xyz variables). When we're editing those curves's keyframes:

image

(I added red arrows to show what is selected; in orange in Blender)

it can easily be unclear what is affected by a key that can do multiple things

I can get it. But IMHO, and in my own experience, it was very surprising (and I thought it was a bug !) when using tabbed keyframes edition that pressing Del key would actually delete something that **is not visible*** ! And I asked a friend of mine to try Shotcut as well (he's used to basic video editing softwares like Windows Movie Maker, and Audacity for sound) and he was also very agape by this pitfall. As I suppose that all beginners are using default layout, there's a big probability that there are in the same case.

Don't you agree that:

?

The actual implementation have some drawbacks; for example:

This happened to me a lot of time in my first hours of discovering Shotcut. I had many clips that disappeared and I never understood why. As those clips were not always visible I didn't always noticed immediately that I deleted a clip and I seen it when checking exported video: clips where missing ! What a strange feeling :(

Thanks for reading !

ddennedy commented 3 years ago

I just happened upon this video about Backspace in Firefox: https://www.youtube.com/watch?v=N14QAZRDnQU

Firefox removed this shortcut to navigate back because they said common shortcuts should not be overloaded. That rationale would perhaps have us remove backspace/del from editing the timeline except that for most users, the timeline is like the main document in Shotcut, and perhaps common document editing shortcuts should apply there. I tried searching for this bug in bugzilla.mozilla.org, and there are several. I am not necessarily using this video and bug resolution to make a position statement here, but I am noting the similarity.

last selected clip on current selected track is deleted. Not the track.

A lot of the timeline editing keyboard shortcuts operate on the first clip (top-down with multiple tracks) under the playhead when no clip is selected. This is an idea borrowed from some other video editors and improves the usability of specialized controllers like a jog/shuttle with buttons where selection is not convenient or would require an extra step. Visible is not a criteria if you mean that the selected clip is within the visible range of the scrolling viewport of the timeline. However, it can definitely be considered a bug if a track is selected or the timeline panel is not the topmost tab.

tom-combet commented 1 year ago

I agree with @brunetton. It's super annoying when editing keyframes. I usually use my keyboard the most I can in softwares.

Here, when I press "Del" on the keyframe, it's removing the clip on the timeline at the same position as the keyframe. As you can see on the screenshot below, the "Keyframes" tab is the selected/topmost tab, so timeline is not visible.

image

By the way, even without talking about visibility, I guess "Del" should delete the last selected element that can be deleted (clip, filter, keyframe...).