Page MenuHome

VSE remaining UI inconsistencies
Closed, ResolvedPublic

Description

Here are some issues I found during working on manual:

  • Changing strip start does not move strip start, but rather creates offset, and changes strip duration

Details

Type
Bug

Event Timeline

Richard Antalik (ISS) lowered the priority of this task from Needs Triage by Developer to Normal.Jun 16 2019, 1:16 AM
Richard Antalik (ISS) created this task.

The contents of SEQUENCER_MT_change seems to have been moved into the Input menu in this commit: D2665

If the hidden elements(many different strip types and their options) all should be visible, but greyed out, it would be overkill. As it is now with a submenu changing contents depending on the current active strip will mean less clutter IMO, however image and sound strips does not have a sub-menu, because there are too few entries.

The major challenge in the VSE menus is to avoid they become that high that scrolling is needed to see the full contents. Currently the Strip menu is at maximum height(without scrolling) on a 1920x1080 screen:

If the hidden elements(many different strip types and their options) all should be visible, but greyed out, it would be overkill. As it is now with a submenu changing contents depending on the current active strip will mean less clutter IMO, however image and sound strips does not have a sub-menu, because there are too few entries.

I was a bit confused by this..
In a collective submenu for specific tasks for specific types there would be ~10 items, even if most would be grayed you can build "muscle memory".

@William Reynish (billreynish) is there convention for this? Or should I treat this as a bug?

Sorry if this is the wrong place to write this, but in the markers menu->jump to next marker, previous marker should instead be in the view->navigation menu instead with the other jump to commands?

We are hiding entries in strip menu based on selection. Should they be preferably grayed?

There is some UI convention regarding this, though not exactly this case. In case of a boolean controlling the availability of something, it should be greyed out. For an enum it should switch between showing the buttons for each value, not grey out.

In this case I think hiding is ok.

Some renamed menu items or labels are not consistent with operator names. Not sure if this is problem, but I guess it should definitely be rectified in future.

Ideally the operator user interface names would indeed match. The operator names in the API should only be changed when really needed, since it breaks API compatibility.

Not sure if render image/animation is appropriate in View menus

We have a similar operator in the 3D viewport, though perhaps the naming could be better. There is a difference between a final render and a preview render using the viewport settings.

Missing option to premultiply alpha for non-image strips. This could be missing in 2.79 also. I will have to check pipeline code to see if this is supported.

Sounds like a bug.

@Richard Antalik (ISS) - If you have a moment while going through the VSE functions when updating the manual, could you check the values in the "Timecode" Panel, if they make sense to you? For me, several of them do not. Here are my notes:

  • Is it correct 'frame_start' should show the mouse position in relation to original insertion point(or something like that)? - this value is no longer used in the panel.
  • 'frame_end' seems broken(not used in panel).
  • If the Hold Offset Start is less than the start point of Strip Offset Start, and Strip Offset Start value is changes it will jump to zero, and if extended to the left the hold part of the strip will not be drawn, until the Hold Offset Start value is changed.
  • The 'Strip Offset End' shows the number of frames to the end of the source material, this is not very useful in the UI. Ex. to get the strip end to extend to the right(make it longer) you'll have to drag to the left(opposite direction) to decrease the value.
  • The Hold Offset Start/animation_offset_start seems completely off. It extends the strip in the end, not in the start.
  • There are commented out hold frame duration values in the code.
  • Several of the values can be illegal, causing the strips to turn the 'inside out".
  • The panel titel "Timecodes" can be misleading - because often time codes means in most cases file embedded time codes. This panel is just Transform values written in SMPTE and frames - and not time codes.

How I would expect the values to show:

  • The start/end/duration sets the values for the strip i/o and duration in the timeline. These values are often referred to as recorder/project values. They are working as expected.

The Strip and Hold values are the inside the strip values. These values are often referred to as player/source values:

    • Changing the Strip Offset start/end function should change the inside start/end point of the strip by sliding the it, so these settings are only for changing the contents of a strip(the start/end/duration above these functions, already sets the strip position and duration in the timeline).
  • Changing the Hold values should move the hold/hard cuts inside the strip but not move the strip in the timeline.

The Playerhead value is labeled a bit misleading, because it is not the playhead position, but actually showing the duration between the playhead and the strip start. Maybe it should be called something like Time Measure or Duration to Start.

view item Show Frame Number Indicator does nothing. (global search shows no usage)

This used to toggle this on/off. The option is also in the timeline View menu, so maybe the operator hasn't been removed, but renamed?:

Changing strip start does not move strip start, but rather creates offset, and changes strip duration

Where does this happen? In the Time panel?

If it is I'm posting this stuff here too which explains how I think the values in the Time panel should work:

Reading the manual text on the Time panel, I would like to add some words on how I think the values of the Time panel should have been for most usability:

  • Start, End are relative to zero in the timeline. The End value should not be able to go lower than the Start value. These values could be called Timeline Start, Timeline End.
  • Duration is relative to the Start frame. A toggle lock function on the duration value would mean that the start or end value would move the entire strip position in the timeline, without changing the duration. With the lock on, changing the value would be similar to the Move(X) function(in normal NLE lingo this is called 'slide').
  • The Strip Offset Start/End should not move the strip position or handles in the timeline, but only the contents of the strip, like the slip(S) function. Changing Strip Offset Start will also change Strip Offset End and vice versa. The values should be relative to and zero to the hard cut start value(or source start?). The Strip Offset End value should not be able to go lower than the Strip Offset Start value. These values could be called Strip Start/End.
  • The Hold Offset Start/End should not move the strip position or handles in the timeline, but only change the hard start/end frames respectively. The Hold Offset Start/End values should be relative to and zero to the start value of the (full)source strip. The Hold Offset End value should not be able to go lower than the Hold Offset Start value. These values could be called Source Start/End.
  • In the UI script there commented code for values for the number of hold frames in the start or the end of the strip. I don't know if anyone will find then useful to have exposed in the panel?
  • The Playhead function could be renamed to something which reflects that the value represents - the timespan from the playhead to the timeline start frame of the strip - and therefore relative to and zero to the timeline start frame of the strip. Something along the lines of Timespan.../Distance... /Duration.../Time... to Start. This value could also be a floatproperty.

Missing option to premultiply alpha for non-image strips. Supported by all, but sound strips.

Can you elaborate a bit more. Where do you see premultiply alpha? What needs to be done?

view item Show Frame Number Indicator does nothing. (global search shows no usage)

This used to toggle this on/off. The option is also in the timeline View menu, so maybe the operator hasn't been removed, but renamed?:

We can restore this functionality, but right now it's unused.

Changing strip start does not move strip start, but rather creates offset, and changes strip duration

Where does this happen? In the Time panel?
If it is I'm posting this stuff here too which explains how I think the values in the Time panel should work:
Reading the manual text on the Time panel, I would like to add some words on how I think the values of the Time panel should have been for most usability:

  • Start, End are relative to zero in the timeline. The End value should not be able to go lower than the Start value. These values could be called Timeline Start, Timeline End.
  • Duration is relative to the Start frame. A toggle lock function on the duration value would mean that the start or end value would move the entire strip position in the timeline, without changing the duration. With the lock on, changing the value would be similar to the Move(X) function(in normal NLE lingo this is called 'slide').
  • The Strip Offset Start/End should not move the strip position or handles in the timeline, but only the contents of the strip, like the slip(S) function. Changing Strip Offset Start will also change Strip Offset End and vice versa. The values should be relative to and zero to the hard cut start value(or source start?). The Strip Offset End value should not be able to go lower than the Strip Offset Start value. These values could be called Strip Start/End.
  • The Hold Offset Start/End should not move the strip position or handles in the timeline, but only change the hard start/end frames respectively. The Hold Offset Start/End values should be relative to and zero to the start value of the (full)source strip. The Hold Offset End value should not be able to go lower than the Hold Offset Start value. These values could be called Source Start/End.
  • In the UI script there commented code for values for the number of hold frames in the start or the end of the strip. I don't know if anyone will find then useful to have exposed in the panel?
  • The Playhead function could be renamed to something which reflects that the value represents - the timespan from the playhead to the timeline start frame of the strip - and therefore relative to and zero to the timeline start frame of the strip. Something along the lines of Timespan.../Distance... /Duration.../Time... to Start. This value could also be a floatproperty.

These changes can be done, but personally I would be happier if they were done in context of T59540: VSE timeline manipulation API
With great deal of luck I can start work on that task in next release, but it wont be priority.

Missing option to premultiply alpha for non-image strips. Supported by all, but sound strips.

Can you elaborate a bit more. Where do you see premultiply alpha? What needs to be done?

With search https://docs.blender.org/api/master/search.html?q=alpha_mode&check_keywords=yes&area=default you can see where it is used.
What needs to be done is D5157: Move alpha_mode to color panel

Richard Antalik (ISS) closed this task as Resolved.Jul 10 2019, 12:50 AM
Richard Antalik (ISS) claimed this task.