Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2019-01-31 05:42:59 +0300
committerJoshua Leung <aligorith@gmail.com>2019-02-03 14:41:14 +0300
commit65340ad73f4c70936a5132bc5d8f911408cfb826 (patch)
treecf11e4039221c3bd8ebfdf5b5b0a2772de34ffdb /source/blender
parent744f6339865fa8ed00b2e98aa5812b94d67a8604 (diff)
Fix T60753: Graph Editor showing cache curves regardless of filters
This commit adds a datablock filtering option for cache files channels, so that a shot with lots of these in addition to standard animation (e.g. the Spring production files) don't become bogged down by these. Furthermore, these channels also respect the "Only Selected" toggle too now.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/animation/anim_filter.c8
-rw-r--r--source/blender/makesdna/DNA_action_types.h9
-rw-r--r--source/blender/makesrna/intern/rna_action.c6
3 files changed, 17 insertions, 6 deletions
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c
index 0c44a4a2c2c..03d16dd078d 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -2980,9 +2980,11 @@ static size_t animdata_filter_dopesheet(bAnimContext *ac, ListBase *anim_data, b
}
/* Cache files level animations (frame duration and such). */
- CacheFile *cache_file = ac->bmain->cachefiles.first;
- for (; cache_file; cache_file = cache_file->id.next) {
- items += animdata_filter_ds_cachefile(ac, anim_data, ads, cache_file, filter_mode);
+ if (!(ads->filterflag2 & ADS_FILTER_NOCACHEFILES) && !(ads->filterflag & ADS_FILTER_ONLYSEL)) {
+ CacheFile *cache_file = ac->bmain->cachefiles.first;
+ for (; cache_file; cache_file = cache_file->id.next) {
+ items += animdata_filter_ds_cachefile(ac, anim_data, ads, cache_file, filter_mode);
+ }
}
/* movie clip's animation */
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h
index 2e5b4c57375..2036284a279 100644
--- a/source/blender/makesdna/DNA_action_types.h
+++ b/source/blender/makesdna/DNA_action_types.h
@@ -727,12 +727,12 @@ typedef struct bDopeSheet {
/** Flags to use for filtering data. */
int filterflag;
+ int filterflag2;
/** Standard flags. */
int flag;
/** Index+1 of channel to rename - only gets set by renaming operator. */
int renameIndex;
- int pad;
} bDopeSheet;
@@ -795,6 +795,11 @@ typedef enum eDopeSheet_FilterFlag {
ADS_FILTER_NOOBDATA = (ADS_FILTER_NOCAM | ADS_FILTER_NOMAT | ADS_FILTER_NOLAM | ADS_FILTER_NOCUR | ADS_FILTER_NOPART | ADS_FILTER_NOARM | ADS_FILTER_NOSPK | ADS_FILTER_NOMODIFIERS),
} eDopeSheet_FilterFlag;
+/* DopeSheet filter-flags - Overflow (filterflag2) */
+typedef enum eDopeSheet_FilterFlag2 {
+ ADS_FILTER_NOCACHEFILES = (1 << 1),
+} eDopeSheet_FilterFlag2;
+
/* DopeSheet general flags */
typedef enum eDopeSheet_Flag {
/** when summary is shown, it is collapsed, so all other channels get hidden */
@@ -807,8 +812,6 @@ typedef enum eDopeSheet_Flag {
ADS_FLAG_FUZZY_NAMES = (1 << 2),
/** do not sort datablocks (mostly objects) by name (NOTE: potentially expensive operation) */
ADS_FLAG_NO_DB_SORT = (1 << 3),
-
- /* NOTE: datablock filter flags continued (1 << 10) onwards... */
} eDopeSheet_Flag;
diff --git a/source/blender/makesrna/intern/rna_action.c b/source/blender/makesrna/intern/rna_action.c
index 225045ed286..47a5401e25a 100644
--- a/source/blender/makesrna/intern/rna_action.c
+++ b/source/blender/makesrna/intern/rna_action.c
@@ -483,6 +483,12 @@ static void rna_def_dopesheet(BlenderRNA *brna)
RNA_def_property_ui_icon(prop, ICON_OUTLINER_OB_SPEAKER, 0);
RNA_def_property_update(prop, NC_ANIMATION | ND_ANIMCHAN | NA_EDITED, NULL);
+ prop = RNA_def_property(srna, "show_cache_files", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "filterflag2", ADS_FILTER_NOCACHEFILES);
+ RNA_def_property_ui_text(prop, "Display Cache Files", "Include visualization of cache file related animation data");
+ RNA_def_property_ui_icon(prop, ICON_FILE, 0);
+ RNA_def_property_update(prop, NC_ANIMATION | ND_ANIMCHAN | NA_EDITED, NULL);
+
prop = RNA_def_property(srna, "show_gpencil", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "filterflag", ADS_FILTER_NOGPENCIL);
RNA_def_property_ui_text(prop, "Display Grease Pencil", "Include visualization of Grease Pencil related animation data and frames");