markers in the sequencer

- added a new redraw type - REDRAWMARKER, at the moment this draws the same windows as REDRAWANIM, but this may not always be true, and it is more explicit whats 
happening, This replaced 5 or so draw calls in quite a few places.
This commit is contained in:
2007-10-17 15:27:38 +00:00
parent 8bb97b6efa
commit 4b6b27ea70
15 changed files with 283 additions and 279 deletions

View File

@@ -253,6 +253,8 @@
#define REDRAWANIM 0x4037
#define REDRAWNODE 0x4038
#define RECALC_COMPOSITE 0x4039
#define REDRAWMARKER 0x4040 /* all views that display markers */
#endif /* !__MYDEVICE_H__ */

View File

@@ -945,7 +945,7 @@ static void draw_extra_seqinfo(void)
}
} else { /* single image */
if (last_seq->strip) {
sprintf(str, "Single: %s", last_seq->strip->stripdata->name);
sprintf(str, "Single: %s len: %d", last_seq->strip->stripdata->name, last_seq->enddisp-last_seq->startdisp);
glRasterPos3f(xco, yco, 0.0);
BMF_DrawString(G.font, str);
xco += xfac*BMF_GetStringWidth(G.font, str) +30.0*xfac;
@@ -1443,6 +1443,9 @@ void drawseqspace(ScrArea *sa, void *spacedata)
draw_extra_seqinfo();
/* Draw markers */
draw_markers_timespace();
/* restore viewport */
mywinset(sa->win);

View File

@@ -127,7 +127,7 @@ static void draw_cfra_time(SpaceTime *stime)
ui_rasterpos_safe(x * xscale, y * yscale, 1.0);
BIF_DrawString(G.fonts, str, 0);
printf("%f -- %f\n", xscale, yscale);
glScalef(xscale, yscale, 1.0);
}

View File

@@ -2253,11 +2253,7 @@ static void mouse_action (int selectmode)
std_rmouse_transform(transform_markers);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
}
@@ -2680,10 +2676,7 @@ void winqreadactionspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
column_select_action_keys(val);
}
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWMARKER, 0);
break;
case MKEY:
@@ -2706,11 +2699,7 @@ void winqreadactionspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
rename_marker();
else
break;
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
break;
@@ -2734,11 +2723,8 @@ void winqreadactionspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
else if (G.qual & LR_ALTKEY) /* clear preview range */
anim_previewrange_clear();
allqueue(REDRAWTIME, 0);
allqueue(REDRAWMARKER, 0);
allqueue(REDRAWBUTSALL, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWIPO, 0);
break;
case SKEY:

View File

@@ -1203,11 +1203,7 @@ void borderselect_nla(void)
}
}
BIF_undo_push("Border select NLA");
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
}
@@ -1262,11 +1258,7 @@ static void mouse_nla(int selectmode)
std_rmouse_transform(transform_markers);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
else {
/* Try action ipo selection */
@@ -1725,11 +1717,7 @@ void winqreadnlaspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
shift_nlastrips_up();
else {
nextprev_marker(1);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
break;
@@ -1742,11 +1730,7 @@ void winqreadnlaspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
shift_nlastrips_down();
else {
nextprev_marker(-1);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
break;
@@ -1758,11 +1742,7 @@ void winqreadnlaspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
}
else if (G.qual & LR_CTRLKEY) {
deselect_markers(1, 0);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
else{
if (mval[0]>=NLAWIDTH)
@@ -1831,11 +1811,7 @@ void winqreadnlaspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
rename_marker();
else
break;
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
break;
case NKEY:
@@ -1856,11 +1832,7 @@ void winqreadnlaspace(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);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWMARKER, 0);
break;
case SKEY:
@@ -1908,11 +1880,7 @@ void winqreadnlaspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
remove_marker();
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
}
break;

View File

@@ -83,6 +83,7 @@
#include "BIF_editview.h"
#include "BIF_scrarea.h"
#include "BIF_editsound.h"
#include "BIF_imasel.h"
#include "BSE_edit.h"
#include "BSE_sequence.h"
@@ -90,6 +91,7 @@
#include "BSE_filesel.h"
#include "BSE_drawipo.h"
#include "BSE_seqaudio.h"
#include "BSE_time.h"
#include "BDR_editobject.h"
@@ -144,7 +146,6 @@ void clear_last_seq(Sequence *seq)
}
/* seq funcs's for transforming internally
notice the difference between start/end and left/right.
@@ -664,9 +665,33 @@ void mouse_select_seq(void)
{
Sequence *seq,*neighbor;
int hand,seldir;
TimeMarker *marker;
marker=find_nearest_marker(1);
if (marker) {
int oldflag;
/* select timeline marker */
if ((G.qual & LR_SHIFTKEY)==0) {
oldflag= marker->flag;
deselect_markers(0, 0);
if (oldflag & SELECT)
marker->flag &= ~SELECT;
else
marker->flag |= SELECT;
}
else {
marker->flag |= SELECT;
}
allqueue(REDRAWMARKER, 0);
force_draw(0);
BIF_undo_push("Select Strips, Sequencer");
} else {
seq= find_nearest_seq(&hand);
if(!(G.qual & LR_SHIFTKEY)&&!(G.qual & LR_ALTKEY)&&!(G.qual & LR_CTRLKEY)) deselect_all_seq();
if(seq) {
@@ -750,7 +775,6 @@ void mouse_select_seq(void)
recurs_sel_seq(seq);
}
force_draw(0);
if(get_last_seq()) allqueue(REDRAWIPO, 0);
@@ -759,6 +783,25 @@ void mouse_select_seq(void)
std_rmouse_transform(transform_seq);
}
/* marker transform */
if (marker) {
short mval[2], xo, yo;
getmouseco_areawin(mval);
xo= mval[0];
yo= mval[1];
while(get_mbut()&R_MOUSE) {
getmouseco_areawin(mval);
if(abs(mval[0]-xo)+abs(mval[1]-yo) > 4) {
transform_markers('g', 0);
allqueue(REDRAWMARKER, 0);
return;
}
BIF_wait_for_statechange();
}
}
}
Sequence *alloc_sequence(ListBase *lb, int cfra, int machine)
{
@@ -1684,7 +1727,10 @@ void add_sequence(int type)
switch(event) {
case 1:
/* Image Dosnt work at the moment - TODO */
//if(G.qual & LR_CTRLKEY)
// activate_imageselect(FILE_SPECIAL, "Select Images", last_imagename, add_image_strips);
//else
activate_fileselect(FILE_SPECIAL, "Select Images", last_imagename, add_image_strips);
break;
case 105:
@@ -3052,7 +3098,7 @@ void seq_separate_images(void)
Sequence *seq, *seq_new, *seq_next;
Strip *strip_new;
StripElem *se, *se_new;
int start, start_ofs, cfra, frame_end;
int start_ofs, cfra, frame_end;
static int step= 1;
add_numbut(0, NUM|INT, "Image Duration:", 1, 256, &step, NULL);

View File

@@ -219,11 +219,7 @@ void winqreadsoundspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
case AKEY: /* select/deselect all */
deselect_markers(1, 0);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
break;
case BKEY: /* borderselect markers */
@@ -234,11 +230,7 @@ void winqreadsoundspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
if (G.qual & LR_SHIFTKEY) {
duplicate_marker();
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
break;
@@ -252,11 +244,7 @@ void winqreadsoundspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
else
add_marker(CFRA);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
break;
case TKEY: /* toggle time display */
@@ -273,12 +261,7 @@ void winqreadsoundspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
case XKEY:
if (okee("Erase selected")) {
remove_marker();
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
break;
}

View File

@@ -282,11 +282,7 @@ void transform_markers(int mode, int smode) // mode and smode unused here, for c
BIF_undo_push("Move Markers");
}
MEM_freeN(oldframe);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
/* select/deselect all TimeMarkers
@@ -387,11 +383,7 @@ void borderselect_markers(void)
borderselect_markers_func(rectf.xmin, rectf.xmax, selectmode);
BIF_undo_push("Border Select Markers");
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
}
@@ -919,11 +911,7 @@ void winqreadtimespace(ScrArea *sa, void *spacedata, BWinEvent *evt)
case AKEY:
/* deselect all TimeMarkers */
deselect_markers(1, 0);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
break;
case BKEY:
/* borderselect markers */
@@ -954,11 +942,7 @@ void winqreadtimespace(ScrArea *sa, void *spacedata, BWinEvent *evt)
rename_marker();
else
add_marker(CFRA);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
break;
case PKEY: /* preview-range stuff */
if (G.qual & LR_CTRLKEY) /* set preview range */
@@ -989,11 +973,7 @@ void winqreadtimespace(ScrArea *sa, void *spacedata, BWinEvent *evt)
if( okee("Erase selected")==0 ) break;
remove_marker();
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
break;
}
}

View File

@@ -499,11 +499,7 @@ static void do_action_selectmenu(void *arg, int event)
case ACTMENU_SEL_ALL_MARKERS: /* select/deselect all markers */
deselect_markers(1, 0);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
break;
case ACTMENU_SEL_INVERSE_KEYS: /* invert selection status of keys */
@@ -515,11 +511,7 @@ static void do_action_selectmenu(void *arg, int event)
case ACTMENU_SEL_INVERSE_MARKERS: /* invert selection of markers */
deselect_markers(0, 2);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
break;
}
}
@@ -1062,11 +1054,7 @@ static void do_action_markermenu(void *arg, int event)
break;
}
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
static uiBlock *action_markermenu(void *arg_unused)

View File

@@ -796,14 +796,11 @@ static void do_ipo_selectmenu(void *arg, int event)
break;
case 2:
borderselect_markers();
allqueue(REDRAWMARKER, 0);
break;
case 3:
deselect_markers(1, 0);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
break;
}
}
@@ -858,11 +855,7 @@ static void do_ipo_markermenu(void *arg, int event)
break;
}
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
static uiBlock *ipo_markermenu(void *arg_unused)

View File

@@ -202,11 +202,7 @@ static void do_nla_selectmenu(void *arg, int event)
break;
case 3: /* Select/Deselect All Markers */
deselect_markers(1, 0);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
break;
case 4: /* Borderselect markers */
borderselect_markers();
@@ -405,11 +401,7 @@ static void do_nla_markermenu(void *arg, int event)
break;
}
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
static uiBlock *nla_markermenu(void *arg_unused)

View File

@@ -63,7 +63,7 @@
#include "BSE_drawipo.h"
#include "BSE_headerbuttons.h"
#include "BSE_sequence.h"
#include "BSE_time.h"
#include "blendef.h"
#include "mydevice.h"
@@ -507,6 +507,65 @@ static uiBlock *seq_editmenu(void *arg_unused)
return block;
}
static void do_seq_markermenu(void *arg, int event)
{
switch(event)
{
case 1:
add_marker(CFRA);
break;
case 2:
duplicate_marker();
break;
case 3:
remove_marker();
break;
case 4:
rename_marker();
break;
case 5:
transform_markers('g', 0);
break;
}
allqueue(REDRAWMARKER, 0);
}
static uiBlock *seq_markermenu(void *arg_unused)
{
uiBlock *block;
short yco= 0, menuwidth=120;
block= uiNewBlock(&curarea->uiblocks, "ipo_markermenu",
UI_EMBOSSP, UI_HELV, curarea->headwin);
uiBlockSetButmFunc(block, do_seq_markermenu, NULL);
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add Marker|Ctrl Alt M", 0, yco-=20,
menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Duplicate Marker|Ctrl Shift D", 0, yco-=20,
menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Delete Marker", 0, yco-=20,
menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "(Re)Name Marker|Ctrl M", 0, yco-=20,
menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Grab/Move Marker|Ctrl G", 0, yco-=20,
menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
if(curarea->headertype==HEADERTOP) {
uiBlockSetDirection(block, UI_DOWN);
}
else {
uiBlockSetDirection(block, UI_TOP);
uiBlockFlipOrder(block);
}
uiTextBoundsBlock(block, 50);
return block;
}
void do_seq_buttons(short event)
{
@@ -582,6 +641,10 @@ void seq_buttons()
uiDefPulldownBut(block,seq_selectmenu, NULL, "Select", xco, -2, xmax-3, 24, "");
xco+=xmax;
xmax= GetButStringLength("Marker");
uiDefPulldownBut(block,seq_markermenu, NULL, "Marker", xco, -2, xmax-3, 24, "");
xco+=xmax;
xmax= GetButStringLength("Add");
uiDefPulldownBut(block, seq_addmenu, NULL, "Add", xco, -2, xmax-3, 24, "");
xco+= xmax;

View File

@@ -269,11 +269,7 @@ static void do_sound_markermenu(void *arg, int event)
break;
}
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
static uiBlock *sound_markermenu(void *arg_unused)

View File

@@ -2749,11 +2749,7 @@ static void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
break;
case RIGHTMOUSE:
mouse_select_ipo();
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
break;
case MIDDLEMOUSE:
if(in_ipo_buttons()) {
@@ -2801,11 +2797,7 @@ static void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
case AKEY:
if (G.qual & LR_CTRLKEY) {
deselect_markers(1, 0);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
allqueue(REDRAWMARKER, 0);
}
else if (G.qual==0) {
if(in_ipo_buttons()) {
@@ -2834,15 +2826,18 @@ static void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
move_to_frame();
break;
case DKEY:
if (G.qual==LR_SHIFTKEY)
if (G.qual==LR_SHIFTKEY) {
add_duplicate_editipo();
else if (G.qual == (LR_CTRLKEY|LR_SHIFTKEY))
} else if (G.qual == (LR_CTRLKEY|LR_SHIFTKEY)) {
duplicate_marker();
allqueue(REDRAWMARKER, 0);
}
break;
case GKEY:
if (G.qual & LR_CTRLKEY)
if (G.qual & LR_CTRLKEY) {
transform_markers('g', 0);
else if (G.qual==0)
allqueue(REDRAWMARKER, 0);
} else if (G.qual==0)
transform_ipo('g');
break;
case HKEY:
@@ -2866,21 +2861,17 @@ static void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
}
break;
case MKEY:
if (G.qual==LR_SHIFTKEY) {
if (G.qual==0) {
add_marker(CFRA);
} else if (G.qual==LR_SHIFTKEY) {
ipo_mirror_menu();
break;
}
if (G.qual == 0)
add_marker(CFRA);
else if (G.qual == LR_CTRLKEY)
} else if (G.qual == LR_CTRLKEY) {
rename_marker();
else
} else {
break;
allqueue(REDRAWTIME, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWSOUND, 0);
}
allqueue(REDRAWMARKER, 0);
break;
case NKEY:
toggle_blockhandler(sa, IPO_HANDLER_PROPERTIES, UI_PNL_TO_MOUSE);
@@ -4552,8 +4543,12 @@ static void winqreadseqspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
}
break;
case DKEY:
if (G.qual == (LR_CTRLKEY|LR_SHIFTKEY))
duplicate_marker();
else if ((G.qual==LR_SHIFTKEY)) {
if(sseq->mainb) break;
if((G.qual==LR_SHIFTKEY)) add_duplicate_seq();
add_duplicate_seq();
}
break;
case EKEY:
if(sseq->mainb) break;
@@ -4565,9 +4560,12 @@ static void winqreadseqspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
set_filter_seq();
break;
case GKEY:
if (G.qual & LR_CTRLKEY)
transform_markers('g', 0);
else if (G.qual==0) {
if(sseq->mainb) break;
if((G.qual==0))
transform_seq('g', 0);
}
break;
case KKEY:
if((G.qual==0)) { /* Cut at current frame */
@@ -4580,19 +4578,28 @@ static void winqreadseqspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
}
break;
case MKEY:
if(G.qual==LR_ALTKEY)
if(G.qual==LR_ALTKEY) {
un_meta();
else if((G.qual==0)){
break; /*dont redraw timeline etc */
} else if((G.qual==0)){
if ((last_seq) &&
(last_seq->type == SEQ_RAM_SOUND
|| last_seq->type == SEQ_HD_SOUND))
{
last_seq->flag ^= SEQ_MUTE;
doredraw = 1;
}
else
} else {
make_meta();
}
break; /*dont redraw timeline etc */
} else if ((G.qual==(LR_CTRLKEY|LR_ALTKEY) )) {
add_marker(CFRA);
} else if ((G.qual==LR_CTRLKEY)) {
rename_marker();
} else {
break; /* do nothing */
}
allqueue(REDRAWMARKER, 0);
break;
case NKEY:
if(G.qual==0) {
@@ -6179,6 +6186,11 @@ void allqueue(unsigned short event, short val)
scrarea_queue_winredraw(sa);
if(val) scrarea_queue_headredraw(sa);
}
case REDRAWMARKER: /* markers may not always match animation */
if ELEM6(sa->spacetype, SPACE_TIME, SPACE_IPO, SPACE_ACTION, SPACE_NLA, SPACE_SOUND, SPACE_SEQ) {
scrarea_queue_winredraw(sa);
if(val) scrarea_queue_headredraw(sa);
}
}
}
sa= sa->next;

View File

@@ -2614,11 +2614,7 @@ void autokeyframe_ob_cb_func(Object *ob, int tmode)
}
remake_object_ipos(ob);
allqueue(REDRAWIPO, 0);
allspace(REMAKEIPO, 0);
allqueue(REDRAWVIEW3D, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWMARKER, 0);
}
}
@@ -2700,11 +2696,7 @@ void autokeyframe_pose_cb_func(Object *ob, int tmode, short targetless_ik)
}
remake_action_ipos (act);
allspace(REMAKEIPO, 0);
allqueue(REDRAWACTION, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWTIME, 0);
allqueue(REDRAWMARKER, 0);
}
else {
/* tag channels that should have unkeyed data */