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>2007-08-10 16:10:03 +0400
committerJoshua Leung <aligorith@gmail.com>2007-08-10 16:10:03 +0400
commit246e675b60ea23e94c574ab0598ce902b0baae55 (patch)
treea0b94b3f28dc6d70d90159c35e78f0fbd82b8264 /source/blender/src
parent9776f489e6e205b0e0dd744764211ddb89037e65 (diff)
== Action Editor - Time Display ==
The Action Editor can now display timing in seconds too. By default, it still displays timing in frames, but it is possible to switch the time display to seconds. The hotkey to toggle this is Ctrl T. Notes: - Many of the Action Editor's tools have yet to be made aware of this. Therefore, they will still work as though frames are used. Only Transform, Snap, and Mirror should really be affected. This will be fixed when I wake up. - Nothing *should* be broken, but I might have missed something.
Diffstat (limited to 'source/blender/src')
-rw-r--r--source/blender/src/drawipo.c25
-rw-r--r--source/blender/src/editaction.c29
-rw-r--r--source/blender/src/header_action.c19
3 files changed, 62 insertions, 11 deletions
diff --git a/source/blender/src/drawipo.c b/source/blender/src/drawipo.c
index 1bbec20cd49..29f56fade34 100644
--- a/source/blender/src/drawipo.c
+++ b/source/blender/src/drawipo.c
@@ -219,6 +219,15 @@ void calc_ipogrid()
secondgrid = 1;
secondiv = 0.01 * (float)G.scene->r.frs_sec;
}
+ break;
+ }
+ case SPACE_ACTION: {
+ SpaceAction *saction = curarea->spacedata.first;
+ if (saction->flag & SACTION_DRAWTIME) {
+ secondgrid = 1;
+ secondiv = 0.01 * (float)G.scene->r.frs_sec;
+ }
+ break;
}
default:
break;
@@ -231,7 +240,7 @@ void calc_ipogrid()
step_to_grid(&ipogrid_dx, &ipomachtx);
ipogrid_dx*= secondiv;
- if ELEM3(curarea->spacetype, SPACE_SEQ, SPACE_SOUND, SPACE_TIME) {
+ if ELEM4(curarea->spacetype, SPACE_SEQ, SPACE_SOUND, SPACE_TIME, SPACE_ACTION) {
if(ipogrid_dx < 0.1) ipogrid_dx= 0.1;
ipomachtx-= 2;
if(ipomachtx<-2) ipomachtx= -2;
@@ -242,7 +251,7 @@ void calc_ipogrid()
ipogrid_dy= IPOSTEP*space/pixels;
step_to_grid(&ipogrid_dy, &ipomachty);
- if ELEM3(curarea->spacetype, SPACE_SEQ, SPACE_SOUND, SPACE_TIME) {
+ if ELEM4(curarea->spacetype, SPACE_SEQ, SPACE_SOUND, SPACE_TIME, SPACE_ACTION) {
if(ipogrid_dy < 1.0) ipogrid_dy= 1.0;
if(ipomachty<1) ipomachty= 1;
}
@@ -949,6 +958,18 @@ void drawscroll(int disptype)
else
scroll_prstr(fac, 3.0+(float)(hor.ymin), val, 'h', disptype);
}
+ else if (curarea->spacetype==SPACE_ACTION) {
+ SpaceAction *saction= curarea->spacedata.first;
+
+ if (saction->flag & SACTION_DRAWTIME) {
+ fac2= val/(float)G.scene->r.frs_sec;
+ scroll_prstr(fac, 3.0+(float)(hor.ymin), fac2, 'h', disptype);
+ }
+ else {
+ ipomachtx= 1;
+ scroll_prstr(fac, 3.0+(float)(hor.ymin), val, 'h', disptype);
+ }
+ }
else {
scroll_prstr(fac, 3.0+(float)(hor.ymin), val, 'h', disptype);
}
diff --git a/source/blender/src/editaction.c b/source/blender/src/editaction.c
index 7c5efbdcc5b..80179d181ed 100644
--- a/source/blender/src/editaction.c
+++ b/source/blender/src/editaction.c
@@ -2831,12 +2831,12 @@ void winqreadactionspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
break;
case HKEY:
- if(G.qual & LR_SHIFTKEY) {
- if(okee("Set Keys to Auto Handle"))
+ if (G.qual & LR_SHIFTKEY) {
+ if (okee("Set Keys to Auto Handle"))
sethandles_action_keys(HD_AUTO);
}
else {
- if(okee("Toggle Keys Aligned Handle"))
+ if (okee("Toggle Keys Aligned Handle"))
sethandles_action_keys(HD_ALIGN);
}
break;
@@ -2899,6 +2899,7 @@ void winqreadactionspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
anim_previewrange_set();
else if (G.qual & LR_ALTKEY) /* clear preview range */
anim_previewrange_clear();
+
allqueue(REDRAWTIME, 0);
allqueue(REDRAWBUTSALL, 0);
allqueue(REDRAWACTION, 0);
@@ -2908,7 +2909,7 @@ void winqreadactionspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
case SKEY:
if (mval[0]>=ACTWIDTH) {
- if(G.qual & LR_SHIFTKEY) {
+ if (G.qual & LR_SHIFTKEY) {
if (data) {
val = pupmenu("Snap Keys To%t|Nearest Frame%x1|Current Frame%x2|Nearest Marker %x3");
snap_action_keys(val);
@@ -2920,17 +2921,27 @@ void winqreadactionspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
break;
case TKEY:
- if(G.qual & LR_SHIFTKEY)
+ if (G.qual & LR_SHIFTKEY)
action_set_ipo_flags(SET_IPO_POPUP);
+ else if (G.qual & LR_CTRLKEY) {
+ val= pupmenu("Time value%t|Frames %x1|Seconds%x2");
+
+ if (val > 0) {
+ if (val == 2) saction->flag |= SACTION_DRAWTIME;
+ else saction->flag &= ~SACTION_DRAWTIME;
+
+ doredraw= 1;
+ }
+ }
else
transform_action_keys ('t', 0);
break;
-
+
case VKEY:
- if(okee("Set Keys to Vector Handle"))
+ if (okee("Set Keys to Vector Handle"))
sethandles_action_keys(HD_VECT);
break;
-
+
case PAGEUPKEY:
if (datatype == ACTCONT_ACTION) {
if(G.qual & LR_SHIFTKEY)
@@ -3044,7 +3055,7 @@ void winqreadactionspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
view2d_zoom(G.v2d, 0.1154, sa->winx, sa->winy);
test_view2d(G.v2d, sa->winx, sa->winy);
view2d_do_locks(curarea, V2D_LOCK_COPY);
-
+
doredraw= 1;
break;
case PADMINUS:
diff --git a/source/blender/src/header_action.c b/source/blender/src/header_action.c
index d39bd004eac..289629f8d91 100644
--- a/source/blender/src/header_action.c
+++ b/source/blender/src/header_action.c
@@ -89,6 +89,7 @@
#define ACTMENU_VIEW_SLIDERS 7
#define ACTMENU_VIEW_NEXTMARKER 8
#define ACTMENU_VIEW_PREVMARKER 9
+#define ACTMENU_VIEW_TIME 10
#define ACTMENU_SEL_BORDER 0
#define ACTMENU_SEL_BORDERM 1
@@ -255,6 +256,9 @@ static void do_action_viewmenu(void *arg, int event)
case ACTMENU_VIEW_PREVMARKER: /* jump to previous marker */
nextprev_marker(-1);
break;
+ case ACTMENU_VIEW_TIME: /* switch between frames and seconds display */
+ G.saction->flag ^= SACTION_DRAWTIME;
+ break;
}
allqueue(REDRAWVIEW3D, 0);
}
@@ -275,6 +279,21 @@ static uiBlock *action_viewmenu(void *arg_unused)
uiDefBut(block, SEPR, 0, "", 0, yco-=6,
menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
+
+ if (G.saction->flag & SACTION_DRAWTIME) {
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1,
+ "Show Frames|T", 0, yco-=20,
+ menuwidth, 19, NULL, 0.0, 0.0, 1,
+ ACTMENU_VIEW_TIME, "");
+ }
+ else {
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1,
+ "Show Seconds|T", 0, yco-=20,
+ menuwidth, 19, NULL, 0.0, 0.0, 1,
+ ACTMENU_VIEW_TIME, "");
+ }
+
+ uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
uiDefIconTextBut(block, BUTM, 1, (G.saction->flag & SACTION_SLIDERS)?ICON_CHECKBOX_HLT:ICON_CHECKBOX_DEHLT,
"Show Sliders|", 0, yco-=20,