[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12270] trunk/blender/source/blender: markers in the sequencer

Campbell Barton cbarton at metavr.com
Wed Oct 17 17:27:38 CEST 2007


Revision: 12270
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12270
Author:   campbellbarton
Date:     2007-10-17 17:27:38 +0200 (Wed, 17 Oct 2007)

Log Message:
-----------
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.

Modified Paths:
--------------
    trunk/blender/source/blender/include/mydevice.h
    trunk/blender/source/blender/src/drawseq.c
    trunk/blender/source/blender/src/drawtime.c
    trunk/blender/source/blender/src/editaction.c
    trunk/blender/source/blender/src/editnla.c
    trunk/blender/source/blender/src/editseq.c
    trunk/blender/source/blender/src/editsound.c
    trunk/blender/source/blender/src/edittime.c
    trunk/blender/source/blender/src/header_action.c
    trunk/blender/source/blender/src/header_ipo.c
    trunk/blender/source/blender/src/header_nla.c
    trunk/blender/source/blender/src/header_seq.c
    trunk/blender/source/blender/src/header_sound.c
    trunk/blender/source/blender/src/space.c
    trunk/blender/source/blender/src/transform_conversions.c

Modified: trunk/blender/source/blender/include/mydevice.h
===================================================================
--- trunk/blender/source/blender/include/mydevice.h	2007-10-17 12:33:13 UTC (rev 12269)
+++ trunk/blender/source/blender/include/mydevice.h	2007-10-17 15:27:38 UTC (rev 12270)
@@ -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__ */
 

Modified: trunk/blender/source/blender/src/drawseq.c
===================================================================
--- trunk/blender/source/blender/src/drawseq.c	2007-10-17 12:33:13 UTC (rev 12269)
+++ trunk/blender/source/blender/src/drawseq.c	2007-10-17 15:27:38 UTC (rev 12270)
@@ -945,7 +945,7 @@
 			}
 		} 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 @@
 
 	draw_extra_seqinfo();
 
+	/* Draw markers */
+	draw_markers_timespace();
+	
 	/* restore viewport */
 	mywinset(sa->win);
 

Modified: trunk/blender/source/blender/src/drawtime.c
===================================================================
--- trunk/blender/source/blender/src/drawtime.c	2007-10-17 12:33:13 UTC (rev 12269)
+++ trunk/blender/source/blender/src/drawtime.c	2007-10-17 15:27:38 UTC (rev 12270)
@@ -127,7 +127,7 @@
 		
 		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);
 	}
 	

Modified: trunk/blender/source/blender/src/editaction.c
===================================================================
--- trunk/blender/source/blender/src/editaction.c	2007-10-17 12:33:13 UTC (rev 12269)
+++ trunk/blender/source/blender/src/editaction.c	2007-10-17 15:27:38 UTC (rev 12270)
@@ -2253,11 +2253,7 @@
 		
 		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 @@
 				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 @@
 					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 @@
 			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: 

Modified: trunk/blender/source/blender/src/editnla.c
===================================================================
--- trunk/blender/source/blender/src/editnla.c	2007-10-17 12:33:13 UTC (rev 12269)
+++ trunk/blender/source/blender/src/editnla.c	2007-10-17 15:27:38 UTC (rev 12270)
@@ -1203,11 +1203,7 @@
 			}
 		}	
 		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 @@
 		
 		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 @@
 					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 @@
 					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 @@
 				}
 				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 @@
 					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 @@
 					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 @@
 						
 						remove_marker();
 						
-						allqueue(REDRAWTIME, 0);
-						allqueue(REDRAWIPO, 0);
-						allqueue(REDRAWACTION, 0);
-						allqueue(REDRAWNLA, 0);
-						allqueue(REDRAWSOUND, 0);
+						allqueue(REDRAWMARKER, 0);
 					}
 				}
 				break;

Modified: trunk/blender/source/blender/src/editseq.c
===================================================================
--- trunk/blender/source/blender/src/editseq.c	2007-10-17 12:33:13 UTC (rev 12269)
+++ trunk/blender/source/blender/src/editseq.c	2007-10-17 15:27:38 UTC (rev 12270)
@@ -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 @@
 }
 
 
-
 /* seq funcs's for transforming internally
  notice the difference between start/end and left/right.
  
@@ -664,99 +665,141 @@
 {
 	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);
 
-	seq= find_nearest_seq(&hand);
-
-	if(!(G.qual & LR_SHIFTKEY)&&!(G.qual & LR_ALTKEY)&&!(G.qual & LR_CTRLKEY)) deselect_all_seq();
-
-	if(seq) {
-		set_last_seq(seq);
-
-		if ((seq->type == SEQ_IMAGE) || (seq->type == SEQ_MOVIE)) {
-			if(seq->strip) {
-				strncpy(last_imagename, seq->strip->dir, FILE_MAXDIR-1);
+		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) {
+			set_last_seq(seq);
+	
+			if ((seq->type == SEQ_IMAGE) || (seq->type == SEQ_MOVIE)) {
+				if(seq->strip) {
+					strncpy(last_imagename, seq->strip->dir, FILE_MAXDIR-1);
+				}
+			} else
+			if (seq->type == SEQ_HD_SOUND || seq->type == SEQ_RAM_SOUND) {
+				if(seq->strip) {
+					strncpy(last_sounddir, seq->strip->dir, FILE_MAXDIR-1);
+				}
 			}
-		} else
-		if (seq->type == SEQ_HD_SOUND || seq->type == SEQ_RAM_SOUND) {
-			if(seq->strip) {
-				strncpy(last_sounddir, seq->strip->dir, FILE_MAXDIR-1);
+	
+			if((G.qual & LR_SHIFTKEY) && (seq->flag & SELECT)) {
+				if(hand==0) seq->flag &= SEQ_DESEL;
+				else if(hand==1) {
+					if(seq->flag & SEQ_LEFTSEL) 
+						seq->flag &= ~SEQ_LEFTSEL;
+					else seq->flag |= SEQ_LEFTSEL;
+				}
+				else if(hand==2) {
+					if(seq->flag & SEQ_RIGHTSEL) 
+						seq->flag &= ~SEQ_RIGHTSEL;
+					else seq->flag |= SEQ_RIGHTSEL;
+				}
 			}
-		}
-
-		if((G.qual & LR_SHIFTKEY) && (seq->flag & SELECT)) {
-			if(hand==0) seq->flag &= SEQ_DESEL;
-			else if(hand==1) {
-				if(seq->flag & SEQ_LEFTSEL) 
-					seq->flag &= ~SEQ_LEFTSEL;
-				else seq->flag |= SEQ_LEFTSEL;
+			else {
+				seq->flag |= SELECT;
+				if(hand==1) seq->flag |= SEQ_LEFTSEL;
+				if(hand==2) seq->flag |= SEQ_RIGHTSEL;
 			}
-			else if(hand==2) {
-				if(seq->flag & SEQ_RIGHTSEL) 
-					seq->flag &= ~SEQ_RIGHTSEL;
-				else seq->flag |= SEQ_RIGHTSEL;
-			}
-		}
-		else {
-			seq->flag |= SELECT;
-			if(hand==1) seq->flag |= SEQ_LEFTSEL;
-			if(hand==2) seq->flag |= SEQ_RIGHTSEL;
-		}
+			
+			/* On Ctrl-Alt selection, select the strip and bordering handles */
+			if ((G.qual & LR_CTRLKEY) && (G.qual & LR_ALTKEY)) {
+				if (!(G.qual & LR_SHIFTKEY)) deselect_all_seq();
+				seq->flag |= SELECT;
+				select_surrounding_handles(seq);
+				
+			/* Ctrl signals Left, Alt signals Right
+			First click selects adjacent handles on that side.
+			Second click selects all strips in that direction.
+			If there are no adjacent strips, it just selects all in that direction. */
+			} else if (((G.qual & LR_CTRLKEY) || (G.qual & LR_ALTKEY)) && (seq->flag & SELECT)) {
 		
-		/* On Ctrl-Alt selection, select the strip and bordering handles */
-		if ((G.qual & LR_CTRLKEY) && (G.qual & LR_ALTKEY)) {
-			if (!(G.qual & LR_SHIFTKEY)) deselect_all_seq();
-			seq->flag |= SELECT;
-			select_surrounding_handles(seq);
-			
-		/* Ctrl signals Left, Alt signals Right
-		   First click selects adjacent handles on that side.
-		   Second click selects all strips in that direction.
-		   If there are no adjacent strips, it just selects all in that direction. */
-		} else if (((G.qual & LR_CTRLKEY) || (G.qual & LR_ALTKEY)) && (seq->flag & SELECT)) {
-	
-			if (G.qual & LR_CTRLKEY) seldir=1;
-				else seldir=2;
-			neighbor=find_neighboring_sequence(seq, seldir);
-			if (neighbor) {
-				switch (seldir) {
-				case 1:

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list