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/drawaction.c26
-rw-r--r--source/blender/src/editipo_lib.c16
2 files changed, 29 insertions, 13 deletions
diff --git a/source/blender/src/drawaction.c b/source/blender/src/drawaction.c
index cf76d69f60b..9ae34d59226 100644
--- a/source/blender/src/drawaction.c
+++ b/source/blender/src/drawaction.c
@@ -599,10 +599,10 @@ static void draw_channel_names(void)
*/
draw_action_channel_names(act);
}
- if ( (key = get_action_mesh_key()) ) {
+ else if ( (key = get_action_mesh_key()) ) {
/* if there is a mesh selected with rvk's,
- * then draw the RVK names
- */
+ * then draw the RVK names
+ */
draw_action_mesh_names(key);
}
@@ -953,7 +953,7 @@ void drawactionspace(ScrArea *sa, void *spacedata)
* oughta fix it
*/
- if (key) {
+ if (!act && key) {
if (G.v2d->cur.ymin < -CHANNELHEIGHT)
G.v2d->cur.ymin = -CHANNELHEIGHT;
@@ -1007,9 +1007,10 @@ void drawactionspace(ScrArea *sa, void *spacedata)
check_action_context(G.saction);
/* Draw channel strips */
- draw_channel_strips(G.saction);
-
- if (key) {
+ if (act) {
+ draw_channel_strips(G.saction);
+ }
+ else if (key) {
/* if there is a mesh with rvk's selected,
* then draw the key frames in the action window
*/
@@ -1048,15 +1049,18 @@ void drawactionspace(ScrArea *sa, void *spacedata)
draw_channel_names();
if(sa->winx > 50 + NAMEWIDTH + SLIDERWIDTH) {
- if (key) {
+ if (act) {
+ /* if there is an action, draw sliders for its
+ * ipo-curve channels in the action window
+ */
+ action_icu_buts(G.saction);
+ }
+ else if (key) {
/* if there is a mesh with rvk's selected,
* then draw the key frames in the action window
*/
meshactionbuts(G.saction, OBACT, key);
}
- else if (act) {
- action_icu_buts(G.saction);
- }
}
}
diff --git a/source/blender/src/editipo_lib.c b/source/blender/src/editipo_lib.c
index 8707e5dd12c..96be44e1234 100644
--- a/source/blender/src/editipo_lib.c
+++ b/source/blender/src/editipo_lib.c
@@ -27,6 +27,8 @@
/* ********** General calls (minimal dependencies) for editing Ipos in Blender ************* */
+#include <stdio.h>
+
#include "BLI_blenlib.h"
#include "BLI_arithb.h"
@@ -132,10 +134,20 @@ int geticon_ipo_blocktype(short blocktype)
char *getname_ipocurve(IpoCurve *icu)
{
switch (icu->blocktype) {
- case ID_OB:
- return getname_ob_ei(icu->adrcode, 0); /* dummy 2nd arg */
+ case ID_OB:
+ return getname_ob_ei(icu->adrcode, 0); /* dummy 2nd arg */
case ID_PO:
return getname_ac_ei(icu->adrcode);
+ case ID_KE:
+ {
+ /* quick 'hack' - must find a better solution to this
+ * although shapekey ipo-curves can have names,
+ * we don't have access to that info yet.
+ */
+ static char name[32];
+ sprintf(name, "Key %d", icu->adrcode);
+ return name;
+ }
default: /* fixme - add all of the other types! */
return NULL;