VSE remaining UI inconsistencies #65845

Closed
opened 2019-06-16 01:16:28 +02:00 by Richard Antalik · 13 comments

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
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
Author
Member

Added subscriber: @iss

Added subscriber: @iss

Added subscriber: @tintwotin

Added subscriber: @tintwotin

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:
image.png

The contents of SEQUENCER_MT_change seems to have been moved into the Input menu in this commit: [D2665](https://archive.blender.org/developer/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: ![image.png](https://archive.blender.org/developer/F7105839/image.png)
Author
Member

Added subscriber: @WilliamReynish

Added subscriber: @WilliamReynish
Author
Member

In #65845#701847, @tintwotin wrote:
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".

@WilliamReynish is there convention for this? Or should I treat this as a bug?

> In #65845#701847, @tintwotin wrote: > 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". @WilliamReynish is there convention for this? Or should I treat this as a bug?

Added subscriber: @Enetheru

Added subscriber: @Enetheru

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?

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?

Added subscriber: @brecht

Added subscriber: @brecht

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.

> 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.

@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.

@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?:
image.png

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?: ![image.png](https://archive.blender.org/developer/F7557692/image.png) > 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?
Author
Member

In #65845#710258, @tintwotin wrote:

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?:
image.png

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 #59540 (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

> In #65845#710258, @tintwotin wrote: >> 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?: > ![image.png](https://archive.blender.org/developer/F7557692/image.png) 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 #59540 (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](https://archive.blender.org/developer/D5157)
Author
Member

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Richard Antalik self-assigned this 2019-07-10 00:50:41 +02:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#65845
No description provided.