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:
-rw-r--r--source/blender/src/drawnla.c29
-rw-r--r--source/blender/src/editnla.c12
2 files changed, 31 insertions, 10 deletions
diff --git a/source/blender/src/drawnla.c b/source/blender/src/drawnla.c
index de35a0f2906..a7f81b758a3 100644
--- a/source/blender/src/drawnla.c
+++ b/source/blender/src/drawnla.c
@@ -148,6 +148,15 @@ static void draw_nla_channels(void)
else
BIF_icon_draw(x+17, y-8, ICON_ACTION);
}
+
+ /* icon to indicate if ipo-channel muted */
+ if (ob->ipo) {
+ if (ob->ipo->muteipo)
+ BIF_icon_draw(NLAWIDTH-16, y-NLACHANNELHEIGHT/2, ICON_RESTRICT_VIEW_ON);
+ else
+ BIF_icon_draw(NLAWIDTH-16, y-NLACHANNELHEIGHT/2, ICON_RESTRICT_VIEW_OFF);
+ }
+
glDisable(GL_BLEND);
y-=NLACHANNELHEIGHT+NLACHANNELSKIP;
@@ -192,16 +201,20 @@ static void draw_nla_channels(void)
glRasterPos2f(x+48, y-4);
BMF_DrawString(G.font, strip->act->id.name+2);
- if(strip->flag & ACTSTRIP_ACTIVE) {
- glEnable(GL_BLEND);
+ glEnable(GL_BLEND);
+
+ if(strip->flag & ACTSTRIP_ACTIVE)
BIF_icon_draw(x+16, y-8, ICON_DOT);
- glDisable(GL_BLEND);
- }
- if(strip->modifiers.first) {
- glEnable(GL_BLEND);
+
+ if(strip->modifiers.first)
BIF_icon_draw(x+34, y-8, ICON_MODIFIER);
- glDisable(GL_BLEND);
- }
+
+ if(strip->flag & ACTSTRIP_MUTE)
+ BIF_icon_draw(NLAWIDTH-16, y-NLACHANNELHEIGHT/2, ICON_RESTRICT_VIEW_ON);
+ else
+ BIF_icon_draw(NLAWIDTH-16, y-NLACHANNELHEIGHT/2, ICON_RESTRICT_VIEW_OFF);
+
+ glDisable(GL_BLEND);
}
y-=(NLACHANNELHEIGHT+NLACHANNELSKIP);
diff --git a/source/blender/src/editnla.c b/source/blender/src/editnla.c
index c433f49df27..2233db6e346 100644
--- a/source/blender/src/editnla.c
+++ b/source/blender/src/editnla.c
@@ -825,8 +825,12 @@ static void mouse_nlachannels(short mval[2])
if(actclick) /* de-activate all strips */
set_active_strip(ob, NULL);
- else if(strip) /* set action */
- set_active_strip(ob, strip);
+ else if(strip) {
+ if(mval[0] >= (NLAWIDTH-16)) /* toggle strip muting */
+ strip->flag ^= ACTSTRIP_MUTE;
+ else /* set action */
+ set_active_strip(ob, strip);
+ }
/* icon toggles beside strip */
if (obclick && mval[0]<20) {
@@ -837,6 +841,10 @@ static void mouse_nlachannels(short mval[2])
/* override option for NLA */
ob->nlaflag ^= OB_NLA_OVERRIDE;
}
+ else if((obclick) && (ob->ipo) && (mval[0] >= (NLAWIDTH-16))) {
+ /* mute Object IPO-block */
+ ob->ipo->muteipo = (ob->ipo->muteipo)? 0: 1;
+ }
ob->ctime= -1234567.0f; // eveil!
DAG_object_flush_update(G.scene, ob, OB_RECALC_OB|OB_RECALC_DATA);