Page MenuHome

Dopesheet in cache file mode - Type Error val:enum "DRAW_POLY" not found in ...
Confirmed, LowPublicBUG

Description

Blender Version
Broken: version: 2.79, 2.80rc1, 2.82a, 2.83 (sub 8), branch: master, commit date: 2020-03-13 11:24, hash: rBcf9b3310c032
Worked: Probably since the Cache File mode was added

Short description of error
Switching in Dopesheet editor to Cache File mode thows an error in the console.

Exact steps for others to reproduce the error

  • Open Blender.
  • Switch to Animation workspace
  • In the Dope Sheet eidtor change the Editing context to Cache File.
  • Watch the console.

Related Objects

Event Timeline

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Thu, Mar 19, 7:06 PM
Germano Cavalcante (mano-wii) updated the task description. (Show Details)
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".

@Sybren A. Stüvel (sybren) I looked into this and the issue is that in blender/source/blender/editors/animation/anim_filter.c:211 we say that the thing we want to filter is a ANIMCONT_CHANNEL but instead of assigning a channel to the data variable we assign the bDopeSheet data.

This obviously leads to issues in animdata_filter_animchan where it gets a bDopeSheet instead of a bAnimListElem. (We do infact already have a pointer to the dopesheet data at this point as well, so this function gets the same dopesheet pointer twice in different variables *ads and *channel)

However, I do not see and easy solution to this as it seems like there are no cache channels stored. Instead these are created on the fly in animdata_filter_ds_cachefile which would be called if the dope sheet summary view was used.
This would also be called if the animdata_filter_animchan call succeeded, which seems wrong to me as we would in this case already have a channel containing the cache data.

So to me it seems like the code to make this work is simply missing and it might not have worked at all?

To me, it seems like we would have to make a ANIMCONT_CACHE enum or something to make this work. Simply having it be bundled with ANIMCONT_CHANNEL will not work with the current way the data is stored I guess.

Sybren A. Stüvel (sybren) triaged this task as Low priority.Tue, Mar 24, 9:41 AM

So to me it seems like the code to make this work is simply missing and it might not have worked at all?

That seems to be it. The manual, it is "documented" as "Cache File: Alembic Todo 2.78". 2.78 was the version in which Alembic was introduced, so this never worked.

To me, it seems like we would have to make a ANIMCONT_CACHE enum or something to make this work.

That makes sense, yes.

I think the use of the dope sheet will have to be re-evaluated for T73363: Alembic / USD milestone 4 anyway. I think for now it's fine to keep things as they are. I mean, it's been in there for three years and it's just a message (no crash/data loss).

I agree, let's keep it as is until the Alembic/USD cache is further along.