From 2bd22ec559114ac4c2c55cffb207f4661f58e59c Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Fri, 1 Apr 2011 12:21:41 +0000 Subject: Animation Editors: Name-based filtering I'm finally yielding to months of feature requesting, and adding support for filtering F-Curves by name, where the "name" here is the text which is displayed for each F-Curve in the Animation Editor channel lists. To use, just enable the magnifying-glass toggle on the DopeSheet filtering settings, and enter a snippet of text to find within the names of channels you wish to filter. This is case insensitive, and currently doesn't support any wildcard/regrex fanciness. Some examples: loc <--- location curves only x loc <--- x location curves only x eul <--- x rotation curves only rot <--- rotation curves only etc. --- source/blender/makesdna/DNA_action_types.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source/blender/makesdna/DNA_action_types.h') diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h index 863d49a40b0..412b9bc56f6 100644 --- a/source/blender/makesdna/DNA_action_types.h +++ b/source/blender/makesdna/DNA_action_types.h @@ -511,7 +511,8 @@ typedef struct bDopeSheet { ID *source; /* currently ID_SCE (for Dopesheet), and ID_SC (for Grease Pencil) */ ListBase chanbase; /* cache for channels (only initialised when pinned) */ // XXX not used! - struct Group *filter_grp; /* object group for ADS_FILTER_ONLYOBGROUP filtering option */ + struct Group *filter_grp; /* object group for ADS_FILTER_ONLYOBGROUP filtering option */ + char searchstr[64]; /* string to search for in displayed names of F-Curves for ADS_FILTER_BY_FCU_NAME filtering option */ int filterflag; /* flags to use for filtering data */ int flag; /* standard flags */ @@ -554,6 +555,7 @@ typedef enum eDopeSheet_FilterFlag { /* general filtering 3 */ ADS_FILTER_INCL_HIDDEN = (1<<26), /* include 'hidden' channels too (i.e. those from hidden Objects/Bones) */ + ADS_FILTER_BY_FCU_NAME = (1<<27), /* for F-Curves, filter by the displayed name (i.e. to isolate all Location curves only) */ /* combination filters (some only used at runtime) */ ADS_FILTER_NOOBDATA = (ADS_FILTER_NOCAM|ADS_FILTER_NOMAT|ADS_FILTER_NOLAM|ADS_FILTER_NOCUR|ADS_FILTER_NOPART|ADS_FILTER_NOARM) -- cgit v1.2.3