action.groups.show_expanded datablock is broken #63649

Closed
opened 2019-04-16 08:50:26 +02:00 by Trent Stanley · 17 comments

System Information
Operating system: Windows-10-10.0.17134 64 Bits
Graphics card: GeForce GTX 1060 with Max-Q Design/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 419.67

Blender Version
Broken: version: 2.80 (sub 57), branch: master, commit date: 2019-04-16 01:41, hash: db80d5c560
Also broken in 2.79b (release)

Short description of error
Checking or unchecking the "Expanded" checkbox for groups of f-curves in the data-blocks view of the outliner does not change whether or not that group is expanded in the graph editor.

This is printed in info when change the checkbox:
bpy.data.actions["CubeAction"].(null) = True

Setting bpy.data.actions.groups.show_expanded using the console/a script also does not work.

Exact steps for others to reproduce the error

  1. Press I twice to add a group of keyframe to the default cube.
  2. In the data-blocks view of the outliner, navigate to:
    actions.groups
  3. Note that checking or unchecking the Expanded checkbox will not expand or minimise the group of f-curves created in Step #1 in the graph editor. (see image)Screenshot (222).png
**System Information** Operating system: Windows-10-10.0.17134 64 Bits Graphics card: GeForce GTX 1060 with Max-Q Design/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 419.67 **Blender Version** Broken: version: 2.80 (sub 57), branch: master, commit date: 2019-04-16 01:41, hash: `db80d5c560` Also broken in 2.79b (release) **Short description of error** Checking or unchecking the "Expanded" checkbox for groups of f-curves in the data-blocks view of the outliner does not change whether or not that group is expanded in the graph editor. This is printed in info when change the checkbox: bpy.data.actions["CubeAction"].(null) = True Setting bpy.data.actions.groups.show_expanded using the console/a script also does not work. **Exact steps for others to reproduce the error** 1. Press I twice to add a group of keyframe to the default cube. 2. In the data-blocks view of the outliner, navigate to: actions.groups 3. Note that checking or unchecking the Expanded checkbox will not expand or minimise the group of f-curves created in Step #1 in the graph editor. (see image)![Screenshot (222).png](https://archive.blender.org/developer/F6950625/Screenshot__222_.png)
Author

Added subscriber: @TrentStanley

Added subscriber: @TrentStanley
Campbell Barton was assigned by Sebastian Parborg 2019-04-16 13:35:37 +02:00
Member

Added subscribers: @ZedDB, @JacquesLucke

Added subscribers: @ZedDB, @JacquesLucke
Member

@ZedDB, are you sure we have a bug here?

It seems to work as expected.
expanded setting.gif

Looks like the setting @TrentStanley is looking for (to expand the Action), is not available in the API.

@ZedDB, are you sure we have a bug here? It seems to work as expected. ![expanded setting.gif](https://archive.blender.org/developer/F6954595/expanded_setting.gif) Looks like the setting @TrentStanley is looking for (to expand the Action), is not available in the API.

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'

Right, my bad.

Right, my bad.
Author

My bad for not expanding the action in the f-curve editor in the screenshot. However I've just downloaded the latest version of 2.8 available on builder.blender.org and it is still not working. Same for latest version of 2.79.show_expanded_bug_2.8.gif

My bad for not expanding the action in the f-curve editor in the screenshot. However I've just downloaded the latest version of 2.8 available on builder.blender.org and it is still not working. Same for latest version of 2.79.![show_expanded_bug_2.8.gif](https://archive.blender.org/developer/F6955679/show_expanded_bug_2.8.gif)

Changed status from 'Archived' to: 'Open'

Changed status from 'Archived' to: 'Open'

@JacquesLucke The second time over, we looked at the dope sheet. This is for the f-curve editor

@JacquesLucke The second time over, we looked at the dope sheet. This is for the f-curve editor
Member

Ah, found the reason:

lang=c
case ACHANNEL_SETTING_EXPAND: /* expanded */
    {
      /* NOTE: Graph Editor uses a different flag to everywhere else for this,
       * allowing different collapsing of groups there, since sharing the flag
       * proved to be a hazard for workflows...
       */
      return (ac->spacetype == SPACE_GRAPH) ? AGRP_EXPANDED_G : /* Graph Editor case */
                 AGRP_EXPANDED;                                 /* DopeSheet and elsewhere */
    }

There are two separate flags for expansion. This is to make it possible to expand different groups in the graph editor and dopesheet.
However, only the one for the dopesheet is defined in rna_action.c. We could easily add the flag for the graph editor as well, I'm just not sure about the naming. Ideas?

Ah, found the reason: ``` lang=c case ACHANNEL_SETTING_EXPAND: /* expanded */ { /* NOTE: Graph Editor uses a different flag to everywhere else for this, * allowing different collapsing of groups there, since sharing the flag * proved to be a hazard for workflows... */ return (ac->spacetype == SPACE_GRAPH) ? AGRP_EXPANDED_G : /* Graph Editor case */ AGRP_EXPANDED; /* DopeSheet and elsewhere */ } ``` There are two separate flags for expansion. This is to make it possible to expand different groups in the graph editor and dopesheet. However, only the one for the dopesheet is defined in `rna_action.c`. We could easily add the flag for the graph editor as well, I'm just not sure about the naming. Ideas?

You mean that we should rename AGRP_EXPANDED_G to something else?

You mean that we should rename `AGRP_EXPANDED_G` to something else?
Member

Currently there is

lang=c
prop = RNA_def_property(srna, "show_expanded", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_flag(prop, PROP_NO_DEG_UPDATE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", AGRP_EXPANDED);
RNA_def_property_ui_text(prop, "Expanded", "Action group is expanded");
RNA_def_property_update(prop, NC_ANIMATION | ND_ANIMCHAN | NA_EDITED, NULL);

in rna_action.c.
To expose the AGRP_EXPANDED_G we need some other name like show_expanded_g. But that looks quite ugly.

Currently there is ``` lang=c prop = RNA_def_property(srna, "show_expanded", PROP_BOOLEAN, PROP_NONE); RNA_def_property_flag(prop, PROP_NO_DEG_UPDATE); RNA_def_property_boolean_sdna(prop, NULL, "flag", AGRP_EXPANDED); RNA_def_property_ui_text(prop, "Expanded", "Action group is expanded"); RNA_def_property_update(prop, NC_ANIMATION | ND_ANIMCHAN | NA_EDITED, NULL); ``` in `rna_action.c`. To expose the `AGRP_EXPANDED_G` we need some other name like `show_expanded_g`. But that looks quite ugly.

Eh, I think that it would be ok for now just to stick with the bad naming so we are consistent with the code in place.

I do agree though that perhaps we could do something in the future about this.

Eh, I think that it would be ok for now just to stick with the bad naming so we are consistent with the code in place. I do agree though that perhaps we could do something in the future about this.

Added subscriber: @brecht

Added subscriber: @brecht

There is no need to be consistent with obscure internal names, the Python API should have readable names.

The simple solution would be to rename show_expanded to show_expanded_dopesheet and add show_expanded_graph.

There is no need to be consistent with obscure internal names, the Python API should have readable names. The simple solution would be to rename `show_expanded` to `show_expanded_dopesheet` and add `show_expanded_graph`.
Campbell Barton was unassigned by Jacques Lucke 2019-04-21 08:36:18 +02:00
Jacques Lucke self-assigned this 2019-04-21 08:36:18 +02:00
Member

Added subscriber: @ideasman42

Added subscriber: @ideasman42

This issue was referenced by c9ed39925a

This issue was referenced by c9ed39925a51fc421a734027c2ef386157392f3b
Member

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
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
5 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#63649
No description provided.